Ashok Raja's Blog
Category : SharePoint 2013 Tips
Related Content
View All Tips

Provide your feed back about this tip

How to hide the ribbon in a custom SharePoint page having a Visual Web part shown as pop up / Modal dialog in SharePoint 2013 - Ashok Raja's Blog
Ashok Raja's Blog
Category : SharePoint 2013 Tips
Related Content
View All Tips

Provide your feed back about this tip

Microsoft Office 365 for professionals and small businesses: Help and How To - Ashok Raja's Blog
Ashok Raja's Blog
SharePoint 2010 and SharePoint 2013 Books and Tutorials , tips and tricks , Articles, News and Events for SharePoint Community shared by Ashok Raja . T
Ashok Raja's Blog
KoSpJs (Knockout Js for SharePoint) is a SharePoint targeted data binding handler extension to Knockout Js, a highly popular JavaScript library based on MVVM pattern. KoSpJs acts a Knockout Js data binder and formatter for json data retrieved from SharePoint List . . . .
Keep an eye on my blog to get updated on real world SharePoint articles, recent books and tutorials on SharePoint 2013 and SharePoint 2010 and to get notified on events and happenings around SharePoint world.
The source code for this series of articles on SharePoint Single Page app built with Angular 2, SP PnP Js Core and Webpack is available in Github for download. Once you have downloaded the files or ha more
Just like any other typical Angular 2 project with webpack, package and build system in this project has two separate webpack configuration files apart from a common configuration file shared by both more
Routing is one of the key aspects of any Single Page App. This article talks about the routing aspects of Angular2 Single Page Application that is deployed inside the SitePages document library of Sha more
This is one of the must have books for emerging Architects in Microsoft Platform. This .net technology guide for business applications talks in details about when to use what kind of Servers and appli more
Category :   Architecture, MS Architect
This book on Windows Server 2012 R2 gives an over view of enhancements and new features available in Windows 2012 R2. Although this book is intended for Admins, this is a good read to know about basic more
Category :   Windows 2012 R2
This book describes the performance issues related to Fine grained permissions like Item level permission, column level permission and folder level permission in SharePoint Lists more
Category :   SharePoint 2010, SharePoint 2013
By default, SharePoint 2013 REST API returns output as Atom XML and there is no option to return data as JSON unless appropriate headers as passed with the request more
Category :   SharePoint 2013
This article explains the similarities and differences associated with creating and provisioning of a custom pagelayout and a custom page in SharePoint with visual studio more
Category :   SharePoint 2013, SharePoint 2010
The steps involved in creating and provisioning a custom page in SharePoint is almost same as that of creating and provisioning a custom page layout more
Category :   SharePoint 2013, SharePoint 2010

Python, which doesn’t require much of introduction as it is one of the more powerful language which can be used for both device level programming to modern web application more
Category :   Python
Although SAP suggests Eclipse to develop SAP UI 5 aka Open UI 5 applications, you can develop your SAP UI 5 applications in Visual Studio or any other environment that supports JavaScript more
Category :   SAP UI5, Open UI5
This repeated notification of system cannot find the drive specified would be thrown if you install the SharePoint 2013 pre-requisites by mounting an ISO file from the local file system more
Category :   SharePoint 2013

Share Point 2013 Preview Released - Ashok Raja's Blog
Ashok Raja's Blog
Share Point 2013 Preview Released
by Ashok Raja T 17. July 2012 12:38
blog comments powered by Disqus
MCSE SharePoint 2013 Certification Also Requires Proficiency In Windows Server 2012 - Ashok Raja's Blog
Ashok Raja's Blog
MCSE SharePoint 2013 Certification Also Requires Proficiency In Windows Server 2012
by Ashok Raja T 29. November 2012 23:49

The new SharePoint 2013 certification MCSE (Microsoft Certified Solution Expert) announced by Microsoft requires Windows Server 2012 certification as a pre-requisite. To gain SharePoint MCSE certification one has to pass MCSA  : Windows Server 2012 Examination apart from couple of exams on Solutions of SharePoint Server 2013.

MCSE : SharePoint 2013

To earn your SharePoint 2013 MCSE certification you have to complete the below exams.


1.  MCSA (Microsoft Certified Solution Associate ) : Windows Server 2012 exam

2. Exam 70-331 : Core Solutions of Microsoft Share Point Server 2013

3. Exam 70-332 : Advanced Solutions of Microsoft SharePoint Server 2013

MCSA : Windows Server 2012

MCSA certification for Windows Server 2012 requires the below exams to be passed


1. Exam 70-410 : Installing and Configuring Windows Server 2012

2. Exam 70-411 : Administering Windows Server 2012

3. Exam 70-412: Configuring Advanced Windows Server 2012 Services

Upgrade Option

There is also an upgrade option available for the candidates who have already passed any one of the qualifying exams. Those candidates need not to write the above mentioned exams (70-410, 70-411, 70-412) instead  they have to clear Exam 70-417: Upgrading Your Skills to MCSA Windows Server 2012

MCSA Upgrade

Candidates who posses certification on any one of the below examinations are eligible for Upgrade Option

MCSA: Windows Server 2008
MCITP: Virtualization Administrator
MCITP: Enterprise Messaging Administrator
MCITP: Lync Server Administrator
MCITP: SharePoint Administrator
MCITP: Enterprise Desktop Administrator

Exam Availability

As of now all the MCSA exams are available to be taken. But the SharePoint 2013 exams (70-331 and 70-332) are scheduled to be available by February 2013.

To know more about the skills measured and preparation materials visit this page.

Second Shot

Much awaited second shot offers are back.  If you are not able to clear the exam in first attempt , now you can retake your exam second time with out any charge. This is a limited period offer available world wide and it also come with an extra savings of 15% and above if you register for more than one exam. To get more details on Second Shot and offer details , check out this page available in Microsoft's website.

blog comments powered by Disqus
Retrieving List Attachment and Document URLs in SharePoint 2013 REST API with Knockout Js for SharePoint (KoSpJs) - Ashok Raja's Blog
Ashok Raja's Blog
Retrieving List Attachment and Document URLs in SharePoint 2013 REST API with Knockout Js for SharePoint (KoSpJs)
by Ashok Raja T 5. June 2014 19:52

This article on retrieving List Attachment URLs and Document URLs is a continuation of series on Knockout Js with SharePoint 2013 REST API.

Handling both Document URLs and Attachment URLs are bit tricky in SharePoint 2013 REST API as the data is returned as nested Json Objects. KoSpJs eases this complexity of binding of SharePoint json data with html elements

To start with let us see how to retrieve and display URLs of documents from a document library

Note : For other articles on this series checkout the bottom of the post

Document URLs

spHref and spAttr binders of KoSpJs can be used to bind document URLs. The below code snippet shows how to perform this. For this example I have created a document library named “Team Docs” and have drag and dropped a bunch of documents to it. I have also assigned values for “Title” field so that it can be showed as display text for hyperlinks rather than displaying the raw URLs

     <table data-bind="template: { name: 'allDocs-template', foreach: Docs }" width="100%"></table>
 <script type="text/html" id="allDocs-template">
             <a  href="#" data-bind="spHref:$data,sourceType:'meta',displayField:'media_src'"></a>
             <a href="#" data-bind="spHref:$data,sourceType:'meta',displayField:'media_src',displayText:Title"></a>
             <a href="#" data-bind="spHref:$data,sourceType:'meta',displayField:'media_src',displayText:'Download Document'"></a>
             <span data-bind="spAttr:$data,sourceType:'meta',displayField:'media_src',attrName:'title',displayText:Title"></span>
 <script type="text/javascript">
     function DocsModal() {
         var self = this;
         self.Docs = ko.observableArray([]);
         $.getJSON(_spPageContextInfo.webAbsoluteUrl + "/_vti_bin/listdata.svc/TeamDocs",
             function (data) {
                 if (data.d.results) {
     ko.applyBindings(new DocsModal());


Attachment URLs

spUrl binder of KoSpJs can be used to bind Attachment URLs from SharePoint List Attachments. The below code snippet shows how to bind attachment URL .This samples targets a custom list named “Doc Details

 <div id="docDetails">
     <table data-bind="template: { name: 'allDocsDetails-template', foreach: DocsDetails }" width="50%"></table>
 <script type="text/html" id="allDocsDetails-template">
             <div data-bind="spUrl:Attachments,multi:true, dataFormat:'<br/>'"></div>
             <span data-bind="spUrl:Attachments,multi:true"></span>
 <script type="text/javascript">
     function DocsDetailModal() {
         var self = this;
         self.DocsDetails = ko.observableArray([]);
         $.getJSON(_spPageContextInfo.webAbsoluteUrl + "/_vti_bin/listdata.svc/DocDetails?$expand=Attachments",
             function (data) {
                 if (data.d.results) {
     ko.applyBindings(new DocsDetailModal(),docDetails);


Note : A list item can accept more than one document as attachment , so it’s mandatory to specify multi:true even though you have attached a single document to the list item
1Introducing KoSpJs - Knockout binding handlers for SharePoint REST API and SPServices
2Beginning SharePoint development with KoSpJs, REST API and SP Services
3SharePoint Lookup fields, Choice Fields and it's multi select variants in KoSpJs
4Formatting Date, Number Fields in SharePoint REST API and SPServices with KoSpJs
5Binding Hyperlink and Image URLs with KoSpJs in SharePoint REST API and SPServices
6Retrieving and binding User and User Group Details in SharePoint REST API with KoSpJs
7Retrieving List Attachment and Document URLs in SharePoint 2013 REST API with KoSpJs - This Article

Download KoSpJs from CodePlex

blog comments powered by Disqus
Listed my 10 plus free Web Parts for SharePoint 2013 and 2010 in Codeplex and listly - Ashok Raja's Blog
Ashok Raja's Blog
Listed my 10 plus free Web Parts for SharePoint 2013 and 2010 in Codeplex and listly
by Ashok Raja T 12. March 2013 19:48

I have listed out all the SharePoint 2013 and SharePoint 2010 web parts that I have published in my blog to a  codeplex project and also in listly, so that it would be easier for the users  to track any new additions to my web part series from a single place. Since the web parts fall under different platforms like SharePoint 2013, SharePoint 2010 and NAPA , I have not uploaded the source code in codeplex. Source code can be downloaded from Sky drive links available at the bottom of respective blog posts.

Codeplex Link :

The webparts are also listed on

blog comments powered by Disqus
Step by step procedures to create a Python Web Application with Flask in Visual Studio 2015 - Ashok Raja's Blog
Ashok Raja's Blog
Step by step procedures to create a Python Web Application with Flask in Visual Studio 2015
by Ashok Raja T 11. March 2016 23:27

My inclination towards Python is increasing day by day after I started exploring the non-MS world through Raspberry Pi and Debian Linux. This article is an off-shoot of such exploration which I would like to share it with you.

This article requires Python Interpreter and Python Tools for Visual Studio 2015 to be installed in your developer PC. Follow the steps explained in this article to know more about Python Installation and setting up the Visual Studio 2015 for Python development.

There is an out of the box Flask Web Application Template available in Visual Studio which helps to create a Python Web Application in a breeze. That is a straight forward and simple way of approach to create a Python Web application with Flash. The alternative option is to create a Flask application from scratch by adding Python modules and required resources manually on top of an empty Python Web Project. In this article we would cover both the approaches.

Option 1 : OTB Flask Web Project

To create a Flask Web Application from a pre-installed Visual Studio template, open the Visual Studio and select the “Flask Web Project” located under “Python” language.


Click Ok and provide the details of Virtual Environment and Python version in the subsequent steps to create your first flask project.  It is advisable to opt in for “Virtual Environment” as this would create a application specific isolated Python environment , so that we won’t mess-up things with global (Machine wide) python environment.



Hit F5 to run the application. If everything is configured correctly, you would see a site similar to the one displayed below


Option 2: Flask Website from Scratch

As an alternative, you can create a blank Python web project in Visual Studio and include Flask module to this project to convert into a Flask based Python web application

1. Create a new Python Web Project by selecting “Web Project” under Python in Visual Studio


2. Next step to create a Python Virtual Environment. ( This is not mandatory but it is advisable to create a virtual environment to avoid changes to global python installation. )

3. Expand the project in Solution explorer and right click “Python Environments” and select “Add Virtual Environment”. Accept the default environment name “env” and create the python virtual environment. On successful creation of Virtual Environment, Visual studio would automatically point to newly created Virtual Environment instead of Global Python environment




4. Right click “env” ( the name of virtual environment) and select “Install Python Package”



Provide the name of the Package as “Flask” and leave the installation mode to “pip”. The alternate installation mode is “easy_install”. Wait for the installation to complete and you can view “Flask” and its dependent packages in the Solution Explorer on successful installation


5. Now the environment is all set and the next step is to create the actual web application

6. Add an empty Python file named “” (Solution Explorer => Add => New Item) and set it as start-up file (Right click and select “Set as Start up File” in context menu)

7. Add the below code to . The below code snippet is creates a variable by name “data” and passes its value to “index.html” when the user lands at “root” location (“/”) of the website

 from os import environ
 from flask import Flask,render_template
 def index():
     data = {
         "title": 'Home Page',
         "msg":'Hello World from Flask for Python !!!',
         "me": environ.get('USERNAME')}
     return render_template('index.html',data=data)
 if __name__ == '__main__':
     HOST = environ.get('SERVER_HOST', 'localhost')
         PORT = int(environ.get('SERVER_PORT', '5555'))
     except ValueError:
         PORT = 5555, PORT,debug=True)

8. Add two folders named “templates” and “static” to the project. These are the folders Flask would be looking for html files (templates) and other assets (static)

9. Add a new html file named “index.html” inside the templates folder and copy paste the below html snippet to that file

<!DOCTYPE html>
 <html lang="en" xmlns="">
     <meta charset="utf-8" />
     <link href="/static/styles.css" rel="stylesheet" />
     <div class="info">
         <h2> Welcome , {{}} <br /></h2>

10. Add a new file named “style.css” to the static folder and the below css snippet to the file. This file is explicitly added to the project to show where to place static assets instead of adding inline css in html.


11. Solution Explorer would looks like the below picture after adding html and css


12. That’s it. Hit F5 and now you can expect a website running similar to the one shown below.


blog comments powered by Disqus