An insight to Apps and App Model in SharePoint 2013

This post is article-1 from the 30 Articles App series for SharePoint.

Finally Microsoft has provided the much awaited App-Store with this SharePoint Release. In this post, I will discuss about what’s available as developer tools/ what are the hosting/publishing options and basic idea for Apps in SharePoint 2013.

Apps in SharePoint :

‘Apps for SharePoint are self-contained pieces of functionality that extend the capabilities of a SharePoint website.’

In more technical words let say an app for SharePoint is a web application that is registered with SharePoint using an app manifest. It has all basic properties declared like starting host page, how much right this app will have to access SharePoint data etc.

Hosting options for Apps :

Note: Below image is taken from MSDN source

SharePoint Hosted Apps

When an App is hosted in SharePoint itself, there is a great degree of limitation on what you can use to build the application. This is still more than enough for most of the business requirements with new additional capabilities of Client object model.

When an app is launched to SharePoint it will create its own app web for its sharepoint artifacts. This gives a great flexibility and also when you delete an app, the app web gets deleted with it similar to the phone apps approach. This will ensure that there won’t be any zombie junk left on your farm once you delete the app.

What tools you can use for App development

CSOM /REST with HTML5/CSS/JAVAScript/Jquery/ASP.net AJAX, Silverlight

Any server-side code is a big NO for the apps hosted on SharePoint.

Cloud Hosted Apps

This option provides a great flexibility for developers with a wide range of development technology like ASP.Net , java, php , LAMP

For Auto-hosted apps SharePoint automatically deploys to Windows Azure Web Sites and SQL Azure.

For provider hosted Apps , deployment is done to any ISV Storage and ISV provider. Here you can choose any third-party hosting services or can run them on your on-premise dedicated servers.

Publishing options for Apps :

Once your app is ready you will have two option to publish it.

Office Store

In this case Microsoft will make a series of check on your app package to ensure it does not contain any objectionable content. Once it passes all the test it will be available on office store.

App Catalog

Publish it on app catalog on SharePoint online or on-premise SharePoint; This is a scenario you will choose if your app is for your company or for specific corporate client.

Ā My First App :

20120723-012324.jpg

20120723-012334.jpg

Installing SharePoint 2013 Preview and provisioning first site collection

You must be aware that Microsoft has just launched SharePoint 2013 preview one day ago. In this post I will discuss about how to install SharePoint Server 2013 Preview and at last we will create new site collection as well.

Step – 1:

Make sure that your system meets all minimum criteria for SharePoint Server 2013 system requirements :

http://technet.microsoft.com/en-us/library/cc262485%28office.15%29.aspx

Step – 2 :

Now start with getting SharePoint 2013 Server Preview. Download link http://www.microsoft.com/en-us/download/details.aspx?id=30345 , you should get product key in you email.

Step – 3 :

Run the setup file and install all prerequisite softwares.

20120718-004006.jpg

step 4:

Once all prerequisite installer finished you should see following screen similar to below image

20120718-004016.jpg

Step – 5:

Now start installing SharePoint 2013 Server Preview. Provide the product key from your email.

20120718-004247.jpg

Leave the file location as default and click Install Now.

20120718-004254.jpg

20120718-004025.jpg

This will take a while so grab your tea or coffee now šŸ™‚

step –Ā  6:

SharePoint Configuration Wizard

20120718-004051.jpg

20120718-004101.jpg

20120718-004109.jpg

20120718-004117.jpg

20120718-004137.jpg

20120718-004146.jpg

20120718-004153.jpg

20120718-004200.jpg

20120718-004206.jpg

20120718-004214.jpg

Step – 7:

Once SharePoint Configuration finished it will open central administration

20120718-004221.jpg

20120718-004228.jpg

20120718-004234.jpg

Our first site collection is ready to use now…

20120718-004240.jpg

Hope that helps..!!

Sharepoint 2010: Auto-refreshing External data lookup column

In this post, I will discuss about how to achieve auto-refreshing external data column.

So let’s begin with some scenario:

  • We have external content type : ‘Employee_Ex_CT’
  • External List created from this content type : ‘EmployeeList’
  • Custom List which has this ex data lookup column : ‘ExLookupList’
  • External data lookup column : ‘Exdata_lookup’ with additional columns ‘title’

20120413-135405.jpg

You can refresh the external data lookup additional columns by clicking the refresh button above the column as shown in image below.

20120413-135556.jpg

The additional columns added with external data lookup column will only get updated when you update the item. Updating item in external list will not automayically updateĀ items in our custom list (the one with ex data lookup).

The refresh button with this external data column eventually goes to update additional columns with ex data lookup for theĀ items in our customĀ list.

20120413-142128.jpg

DO NOT expect these additional data columns with external data lookup column will auto-refresh like other lookup columns.

Workaround :

  • Step-1: Setting asynchronous refresh on list webpart and choose refreshing time to (n) seconds.[ For normal lookup columns step-1 is enough for getting complete auto-refresh behaviour]

20120413-135539.jpg

  • Step-2 : You can set up timer job to update items for this list with external data columns. Run this timer job every (n) mins as per your need.

OR

You can create your own custom page/webpart that will run this asynchronous update for you.

OR

Just click the refresh button above the external data lookup column. [This will not be complete auto-refresh ]

I hope this post will help you understand how additional columns added with external data column get refreshed.