Saturday, December 6, 2014

Working with Device Sensors, GPS and Maps

I was given an opportunity to speak on "Working with Device Sensors, GPS and Maps" in an event held at Microsoft Sri Lanka. This was for a team of Universal Apps fans from their customer network.

Thursday, November 27, 2014

Speaking at the Share-The-Point Southeast Asia 2014

The great Share-The-Point Southeast Asia Conference for year 2014 just concluded yesterday. It had a good line up of sessions that worth for Developers, Business people as well as any other type of SharePoint enthusiasts. 

Me being a speaker

I got a great opportunity to interact with the other speakers who has many experiences and knowledge to share. My topic was "Using Lync for Cost Effective and Efficient Communications". It was really good preparation experience as it is one of the rare moments I shared the business aspect of a technology like this. 

The demonstration included some key features provided by Lync for supporting the meetings. It is really nice the way how Lync supports meetings as it provides multiple sharing options for,

  • Desktop sharing
  • Sharing a single program
  • PowerPoint presentation sharing
  • Whiteboard and
  • Polls

Friday, November 7, 2014

Introduction to SharePoint Development at Exilesoft TechTalks

Exilesoft is relatively new to the SharePoint Development and as a team its a smaller unit. So thought it would be interesting to share some thoughts along with an introduction to SharePoint development with the fellow colleagues who are interested to get into SharePoint development.

Wednesday, September 24, 2014

Few key things to know about SharePoint Apps

Apps has been the keyword when you speak about SharePoint 2013 development. It brings many 
advantages with its characteristics. The concept of SharePoint apps bring many advantages. In this 
article I am going to explain some of them which attracted me most. 

1. Executes outside SharePoint
A farm solution could possibly break the whole SharePoint farm. But given the apps do work mostly 
out of the SharePoint it minimize the risk of affecting the SharePoint environment. Also this puts relatively less load on the server as well as it can be configured by the administrators.

Saturday, September 13, 2014

SharePoint 2013 Apps with AngularJS at SharePoint Sri Lanka

I spoke about SharePoint 2013 Apps with AngularJS at the SharePoint Sri Lanka Monthly Meetup for September 2014 held at Microsoft Sri Lanka.

Thursday, August 7, 2014

Reading a SharePoint List using JavaScript Object Model

Using JavaScript is the buzz since the introduction of the SharePoint apps. The JavaScript client side API has improved quite a lot in SharePoint 2013 and this is the only option if you are developing a SharePoint hosted app. When comparing with the server-side object model, I did not found many conceptual differences in the API. If we are to access a list, what we need to do is refer the current site through the current context and then refer the list available in the current site. 

Here is the div tag available in my Default.aspx file which contains an unordered list inside. Forget about the other items later. Will discuss about it in next post.

<ul id="ToDoItems"></ul>

Here are some important objects created in the JavaScript API and look how similar they are with the Server-side object model.

Wednesday, August 6, 2014

Working with Napa Office 365 Development Tools

In my previous article I gave an introduction on how to start Office 365 development with SharePoint Online and how to Add the app into SharePoint online. In this article I will be focusing on working with Napa Office 365 Development Tools. You can go to the development portal at Make sure you have signed into Office 365 so the apps available for the particular environment will be displayed. 

Napa Projects Home
Click on the Add New Project link and a popup will appear. Select App for SharePoint and give a project name. (I give mine as DemoApp1). You will be navigated to the development environment. 

Monday, August 4, 2014

How to start Office 365 SharePoint Development

Office 365 is a hand full package. It includes many services where the key services are  SharePoint Online, Exchange Online and Lync Online. As you may have in all the systems, Office 365 also has an admin panel which is called 'Office 365 admin center'. The image below is a screen caption of the Office 365 admin center.

Office 365 admin center
You may have access to this or you may not. The main development focused on Office 365 is SharePoint. With SharePoint 2013, its mostly about apps. In this article I will describe how to start creating a SharePoint app using "Napa Office 365 Development Tools". 

Wednesday, July 30, 2014

Modifying BDC Model Entity in Business Connectivity Services

In this article I am going to customize the BDC model in a way that the entity can be used to add many properties than the 2 that comes by default. This part is a little bit tricky and confusing for a conventional C# developer. But with practice and by understanding the concepts, this can be made easier. 

1. First of all I am going to create an empty SharePoint project using Visual Studio. This example will be done using Visual Studio 2010 and SharePoint 2010, but there will be no difference for Visual Studio 2012/2013 and SharePoint 2013.

2. Then I added a new Business Data Connectivity Model to the project named 'BdcDemoModel'. The project should look like this.

3. Remove the 'Entity1' objected from the BDC Designer. Then drag and drop a new 'Entity' to the BDC Designer from Toolbox. There will be an empty entity without any identifiers or methods. 

Thursday, July 10, 2014

BCS in SharePoint 2013 @ SharePoint Sri Lanka User Group, July 2014 Meetup

  • What is a Business Connectivity Service?
  • Why use business connectivity services?
  • How to deploy a Business Connectivity Service? 

These were the key questions focused for the first session for the SharePoint Sri Lanka User Group meeting for July 2014. 
Connecting data from external data sources to SharePoint is something developers may see challenging. SharePoint 2013 has a really good feature (which was in SharePoint 2010 as well) further improved with multiple data source supports as well as features such as remote event receivers.

External Content Types provide the facility to connect the data to SharePoint and a Secure Store Service application can be used for providing the better authorizations. 

Slides of the presentation can be downloaded from below.

Friday, July 4, 2014

Microsoft Azure Mobile Services @ Sri Lanka .NET Forum, July 2014 Meetup

I got the opportunity to do my fourth Sri Lanka .NET Forum presentation on 3rd July 2014. This time the topic was "Microsoft Azure Mobile Services". I had recently engaged with the Azure Mobile Services for working on the app we created for Microsoft Imagine Cup 2014 called "LiveZen". To give more details about the Azure Mobile Services, here is what Microsoft says.

Azure Mobile Services provides a scalable and secure backend that can be used to power apps on any platform–iOS, Android, Windows or Mac. It’s easy to store app data in the cloud or on-premises, authenticate users, and send push notifications, as well as add your custom backend logic in C# or Node.js.

The presentation went fine with a good crowd and had a successful Q and A session with many questions asked by people from the audience. I mainly focused on demonstrating the steps to create a backend easily within few minutes and connect to the database. 

Azure actually provide much advanced features such as Single Sign-On support, enhanced security and scaling servers and ect... Would like to cover them in a future presentation.

Monday, June 30, 2014

Extending External List Capabilities to Add and Edit List Items

In my previous article I mentioned how to create an external list using SharePoint 2013 to read list and read a particular list item. in this article I am planning to show how to allow adding new list items and editing list items which were disabled earlier.

I will be referring to the Visual Studio solution I created in previous article which can be found here. The step by step guide is as follows.

1. Double click on VSDemoModel to open the VSDemoModel.bdcm in the designer. The Entity1 object will be available. Select it. In the 'BDC Method Details' window you will find the 'ReadList' and 'ReadItem' methods. Scroll down the window till you find a cubic icon followed by a text '<Add a Method>'. 

Upon clicking on it, a drop down list will appear. Select 'Create creator method' option. A new method will be available as 'Create'. 

Thursday, June 26, 2014

Create an External List Using C#

In my previous 2 articles (Create SharePoint 2013 External List using Visual Studio 2012Extending External List Capabilities to Add and Edit List Items) I described how to create an External Content Type and create a list using that content type. 

In this article the focus will be on creating the list using C# rather using the SharePoint UI. Given the BDC Model goes in a farm level feature and create the external content type, the best option would have been writing the list creation code in the FeatureActivated method of the feature receiver. There are some issues I faced when creating this list. Given the BDC model deployment also associated with a feature receiver that is not visible, this was not possible to create a feature receiver for the feature that included the BDC model. There were some possible scenarios explained in some articles, but I did not follow them since there is another cleaner approach.

Therefore I created another feature and added a feature receiver for the second feature. The feature activation procedure needs to be done in an order. The second feature needed to be activated after the deployment of the first feature as the External Content Type needed to be presented before creating the list.

Thursday, June 19, 2014

Create SharePoint 2013 External List using Visual Studio 2012

Business Connectivity Services (BCS) are meant to provide access to data that relies out of the SharePoint environment. It can be a Web Service, SQL database, or even a .NET collection. The good thing about BCS is that it gives the real SharePoint feeling when external data is linked up with it. The data can be indexed to Search, Event Receivers(remote), Look and Feel, CRUD operations and etc... 

The important key element that comes with the BCS is 'External Content Type'. It handles the connectivity between SharePoint and external data source. 

The main focus of this article will be on how to deploy a BCS solution using Visual Studio 2013 for SharePoint 2013. 

1. Create a 'SharePoint 2013 - Empty' project in Visual Studio and name it as 'BCSVSDemo'. 

Click the 'OK' button and you will be navigated to the 'SharePoint Customization Wizard'. Mention the site URL and select the option 'Deploy as a farm solution'. Click 'Finish' button in order to complete project creation.