<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6101049175361314463</atom:id><lastBuildDate>Thu, 05 Sep 2024 19:10:58 +0000</lastBuildDate><category>c#</category><category>sharepoint 2010</category><category>sharepoint 2013</category><category>json</category><category>sharepoint</category><category>android</category><category>jquery</category><category>rest</category><category>sql</category><category>sql server</category><category>sqlite</category><category>wcf</category><category>windows 8</category><category>0365</category><category>Rt sqlite</category><category>android mysql</category><category>certificate</category><category>explorer</category><category>feature</category><category>firefox</category><category>firefox cross platform</category><category>internet</category><category>javascript</category><category>jquery get</category><category>jquery post</category><category>jsonp</category><category>mysql</category><category>mysql android</category><category>mysql php</category><category>php</category><category>php service</category><category>sharepoint library</category><category>table</category><category>upgrade</category><category>wcf 4.5</category><category>wcf get</category><category>wcf post</category><category>webapi</category><category>windows 8 database</category><category>windows 8 rt sqlite</category><category>windows rt sqlite</category><category>.net</category><category>Entity Framework</category><category>age</category><category>alert</category><category>angular</category><category>angular2</category><category>api</category><category>apple</category><category>asp</category><category>auth</category><category>c</category><category>c language</category><category>c#.ajax.javascript</category><category>c++</category><category>cards</category><category>comparison</category><category>connect</category><category>connect farms</category><category>create folder</category><category>create security group</category><category>create sharepoint group</category><category>date</category><category>document</category><category>dotnet</category><category>dotnet core</category><category>ef core</category><category>error</category><category>express</category><category>federate</category><category>file</category><category>file download</category><category>folder</category><category>formdata</category><category>from</category><category>google map</category><category>guide</category><category>index c</category><category>indexof</category><category>install</category><category>iphone</category><category>library recursion</category><category>linq</category><category>linq to xml</category><category>list</category><category>merge</category><category>method</category><category>mongoose</category><category>moss</category><category>node</category><category>objective c</category><category>pagination</category><category>passport</category><category>passport-ocal</category><category>permission</category><category>permission sharepoint</category><category>plugin</category><category>powershell</category><category>recursively download</category><category>regex.h.regular expression</category><category>results</category><category>script manager</category><category>search</category><category>server</category><category>server c#</category><category>service</category><category>sharepoin</category><category>sharepoint library file download</category><category>sharepoint recursion</category><category>sharepoint service 2010 federate 2013</category><category>sharepoint user permission</category><category>site archive</category><category>site usage</category><category>sql.server</category><category>sqlite .net</category><category>sqlite c#</category><category>step by step sharepoint</category><category>string c</category><category>substring</category><category>sync</category><category>table sync</category><category>ui</category><category>view user permission</category><category>visual studio</category><category>vs 2012</category><category>web service</category><category>webtemplate</category><category>windows</category><category>windows 8 sql server</category><category>windows rt</category><category>windows store</category><category>windows store app</category><category>wsdl</category><category>xml</category><title>Guru&#39;s Blog</title><description>Sharing things I learn every day</description><link>http://guruparang.blogspot.com/</link><managingEditor>noreply@blogger.com (Anonymous)</managingEditor><generator>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-5978690081516673802</guid><pubDate>Fri, 29 Dec 2017 07:24:00 +0000</pubDate><atom:updated>2017-12-28T23:24:22.947-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">api</category><category domain="http://www.blogger.com/atom/ns#">auth</category><category domain="http://www.blogger.com/atom/ns#">express</category><category domain="http://www.blogger.com/atom/ns#">mongoose</category><category domain="http://www.blogger.com/atom/ns#">node</category><category domain="http://www.blogger.com/atom/ns#">passport</category><category domain="http://www.blogger.com/atom/ns#">passport-ocal</category><title>Getting started with Passport in Node.js</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
This post is on getting started with &lt;a href=&quot;https://www.npmjs.com/package/passport&quot;&gt;Passport&lt;/a&gt;. Here I&#39;ll explain on how to create an API that will support to add users to a datasource and login and logout the user and do authenticated calls.&lt;br /&gt;
&lt;br /&gt;
Here we do bit of dependency injection to make it easier to add any type of dataaccess class so that you can use your own data access class and use your own data source.&lt;br /&gt;
&lt;br /&gt;
When it comes to authentication for Node and Express Passport is a famous NPM package which supports multiple strategies. Here I&#39;ll be explaining the local strategy which will use a local data source. there are other options like using facebook or google as the strategy to authenticate the user.&lt;br /&gt;
&lt;br /&gt;
The sample code is shared in the below GIT repository&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/tree/master/NodeAuthAPI&quot;&gt;https://github.com/guruparan/BlogSample/tree/master/NodeAuthAPI&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The script files and the usages are explained below&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/NodeAuthAPI/app.js&quot;&gt;app.js&lt;/a&gt;&lt;br /&gt;
The main node application which is the startup file for the API, this application runs in port 5000.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/NodeAuthAPI/authroute.js&quot;&gt;authroute.js&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The API for authentication which has the below POST methods&lt;br /&gt;
http://localhost:5000/auth/signup&lt;br /&gt;
creates a user, the user should be provided in the below format&lt;br /&gt;
{&lt;br /&gt;
&quot;username&quot;:&quot;guru&quot;,&lt;br /&gt;
&quot;password&quot;:&quot;123&quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http://localhost:5000/auth/login&lt;br /&gt;
Authenticates a user, the request is same as above.&lt;br /&gt;
&lt;br /&gt;
http://localhost:5000/auth/logout&lt;br /&gt;
A direct post to the server, will logout the user &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/NodeAuthAPI/loginstrategy.js&quot;&gt;loginstrategy.js&lt;/a&gt;&lt;br /&gt;
The strategy for validating the user, will query the database and check whether its&amp;nbsp; a valid login. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/NodeAuthAPI/passportauth.js&quot;&gt;passportauth.js&lt;/a&gt;&lt;br /&gt;
Setup Passport to store and retrieve the user from the session.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/NodeAuthAPI/userdataaccess.js&quot;&gt;userdataaccess.js&lt;/a&gt;&lt;br /&gt;
Used to access the datastore to create and verify users. Here mongoose and mongo db is used to store users.&lt;br /&gt;
&lt;br /&gt;
The code is commented to make it more understandable.&lt;br /&gt;
Just download and run the below commands to try out the sample API.&lt;br /&gt;
&lt;br /&gt;
npm install&lt;br /&gt;
npm start &lt;br /&gt;
&lt;br /&gt;
Happy Coding.&lt;br /&gt;
Guru&lt;br /&gt;
&lt;br /&gt;</description><link>http://guruparang.blogspot.com/2017/12/getting-started-with-passport-in-nodejs.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-1925805792200865872</guid><pubDate>Tue, 28 Nov 2017 13:37:00 +0000</pubDate><atom:updated>2017-11-28T23:45:30.084-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dotnet</category><category domain="http://www.blogger.com/atom/ns#">dotnet core</category><category domain="http://www.blogger.com/atom/ns#">ef core</category><category domain="http://www.blogger.com/atom/ns#">table</category><title>EF Core 2.0 Scaffolding existing Database</title><description>Hello Readers,&lt;br /&gt;
&lt;br /&gt;
This post will be on using the scaffolding mechanism to create the DB Context and model classes for the existing databases.&lt;br /&gt;
&lt;br /&gt;
Whenever we start projects we come up with requirements to modify existing components, based on the requirement and the expertise we choose our paths.&lt;br /&gt;
&lt;br /&gt;
Most of the time the databases are already there so we go with DB first approach to create the context.&lt;br /&gt;
When it comes to EF Core this option is available there as well but will include a bit of command line work.&lt;br /&gt;
&lt;br /&gt;
This article will explain a way to create a DB Context from an existing database by selecting only specific tables in EF Core.&lt;br /&gt;
&lt;br /&gt;
The commands are pretty straight forward you just have to install some Nuget packages and run a command to generate the context and the classes to represent the tables.&lt;br /&gt;
&lt;br /&gt;
The first set of commands will be used to install the packages.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;Install-Package Microsoft.EntityFrameworkCore.Design
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.sqlserver.Design
Install-Package Microsoft.EntityFrameworkCore.Tools
&lt;/pre&gt;
&lt;br /&gt;
Have these things in mind&lt;br /&gt;
If you are creating a library (.NETStandard) to do all your data access works and a references is not added to the startup project you will get the below error.&amp;nbsp; That is if you choose the .NETStandard project as the startup. &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;Startup project &#39;{project name}&#39; targets framework &#39;.NETStandard&#39;. There is no runtime associated with this framework, and projects targeting it cannot be executed directly. To use the Entity Framework Core Package Manager Console Tools with this project, add an executable project targeting .NET Framework or .NET Core that references this project, and set it as the startup project; or, update this project to cross-target .NET Framework or .NET Core.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;If you are using a .NET Core library without adding a reference and run the scaffold command you will get the below error.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;Unable to find provider assembly with name Microsoft.EntityFrameworkCore.SqlServer. Ensure the specified name is correct and is referenced by the project.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Always remember to set your class library as the startup project when running the scaffold command.This will reduce unwanted errors.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;The command to scaffold is below.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Scaffold-DbContext &quot;Server=localhost;Database=DEVDB;User Id=user1;Password=test;&quot; Microsoft.EntityFrameworkCore.SqlServer -Context DBContext -Tables &quot;Employee&quot;,&quot;Address&quot; -Verbose&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Tables are a string array that you have to specify &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;You can use the -Force command when updating or adding tables&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Scaffold-DbContext  &quot;Server=localhost;Database=DEVDB;User Id=user1;Password=test;&quot;  Microsoft.EntityFrameworkCore.SqlServer -Context DBContext -Tables  &quot;Employee&quot;,&quot;Address&quot;,&quot;WorkLocation&quot; -Verbose -Force &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;The verbose flag will provide you additional information and will help you when you have errors.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;a href=&quot;https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell&quot;&gt;https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Happy Coding&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;-Guru-&amp;nbsp;&lt;/span&gt; &lt;/span&gt;</description><link>http://guruparang.blogspot.com/2017/11/ef-core-20-scaffolding-existing-database.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-1880272087696869012</guid><pubDate>Sun, 12 Feb 2017 17:17:00 +0000</pubDate><atom:updated>2017-02-12T09:19:37.813-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">angular</category><category domain="http://www.blogger.com/atom/ns#">angular2</category><category domain="http://www.blogger.com/atom/ns#">c#</category><category domain="http://www.blogger.com/atom/ns#">Entity Framework</category><category domain="http://www.blogger.com/atom/ns#">sql</category><category domain="http://www.blogger.com/atom/ns#">webapi</category><title>Beginner&#39;s Guide to Angular 2 + WebApi</title><description>Hello Everyone,&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;This post is an initial guide for anyone who wants to use Angular 2 to access a .Net WebApi back end to access SQL server database.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;This will guide you to do the basic CRUD operations using the WebApi REST service.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Now lets see our requirement.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;We have Brands and Models for cars which is having a one to many relationship where one brand will have more than one model. We will be doing the CRUD operations on the models and brands will be inserted directly to database. The image below shows the EF model of our database.&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYt67cGvO2v5jVhR8HBIctzjdgz07jwNB8TR3bXK2l1TiY3jq-YeZ6dmDYtUM7ek69Z5U-M9iNRR1GXaweP6xo3N6A2hebFSR-Vp7lijLdwlRaBjPb2hICz5QMNA0TSqVLAYDu9WD1CE04/s1600/EFModel.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;173&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYt67cGvO2v5jVhR8HBIctzjdgz07jwNB8TR3bXK2l1TiY3jq-YeZ6dmDYtUM7ek69Z5U-M9iNRR1GXaweP6xo3N6A2hebFSR-Vp7lijLdwlRaBjPb2hICz5QMNA0TSqVLAYDu9WD1CE04/s320/EFModel.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;There are two WebApi controllers built using the above entities one for brands and one for models.&lt;br /&gt;
&lt;br /&gt;
Now lets move on to the Angular 2 front end, the image below shows the file structure in VS code.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyukcAYg7KQJrM-FvoGaKs2qd3OC1rVm6EEG2K_78hhZA_O365JNlsmDpxLpwX_Z75ykklviYa9cK1QQSL1-xTeWmgdi1oDKmgbVlfHB6BLcKNZ2u_J5VRpSvxTBQ-r2bW2CBib3kJNL_/s1600/VSCode+Structure.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyukcAYg7KQJrM-FvoGaKs2qd3OC1rVm6EEG2K_78hhZA_O365JNlsmDpxLpwX_Z75ykklviYa9cK1QQSL1-xTeWmgdi1oDKmgbVlfHB6BLcKNZ2u_J5VRpSvxTBQ-r2bW2CBib3kJNL_/s320/VSCode+Structure.PNG&quot; width=&quot;243&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;As you can see we have five component classes each will be representing an user interface except the app.component.ts which will be used as the frame for navigation and other component content will be loaded into this component as this is single page application.&lt;br /&gt;
&lt;br /&gt;
We have a carservice.ts which will be interacting with the WebApi.&lt;br /&gt;
There are two classes Car and Brand representing our entities in the backend these will be used to when we send and receive data to the service.&lt;br /&gt;
&lt;br /&gt;
The other files are the default set of files in Angular 2 project, here is brief description of each file.&lt;br /&gt;
&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;&lt;a href=&quot;https://www.typescriptlang.org/docs/handbook/tsconfig-json.html&quot;&gt;tsconfig.json&lt;/a&gt;&lt;/td&gt; &lt;td&gt;Specifies the root files and the compiler options required to compile the project&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;a href=&quot;http://stackoverflow.com/questions/37439855/what-does-systemjs-config-js-do-in-angular-2-packaging-structure&quot;&gt;systemjsconfig.js&lt;/a&gt;&lt;/td&gt; &lt;td&gt;Allows to configure SystemJS to load modules compiled using the TypeScript compiler.&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&lt;a href=&quot;https://angular.io/docs/ts/latest/guide/npm-packages.html&quot;&gt;package.json&lt;/a&gt;&lt;/td&gt; &lt;td&gt;Used by NPM installer to install the packages&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;app.module.ts&lt;/td&gt; &lt;td&gt;Defines AppModule, the root module that tells Angular how to assemble the application. &lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Now lets move on to our user interface of listing the cars.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj0srnX-1PvhQRRn_m3MUOkZHkLbUI5MDMelZIw5517zMs6cySWx0dZ4uyxEZp21t95lRXkqUs2ak3W88JJPuBVmMzqelp8hm0XRrlJ45NBK922LwWDdkoBENpDYMCx3pOyQl06uIY04mO/s1600/AllCars.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj0srnX-1PvhQRRn_m3MUOkZHkLbUI5MDMelZIw5517zMs6cySWx0dZ4uyxEZp21t95lRXkqUs2ak3W88JJPuBVmMzqelp8hm0XRrlJ45NBK922LwWDdkoBENpDYMCx3pOyQl06uIY04mO/s320/AllCars.PNG&quot; width=&quot;274&quot; /&gt;&lt;/a&gt;&lt;/div&gt;You can see the code for this component class in the below URL.&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/allcars.component.ts&quot;&gt;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/allcars.component.ts&lt;/a&gt;&lt;br /&gt;
If you can see the code here we request all the cars from the carservice class and display it.&lt;br /&gt;
Delete option is also added to the same view where a method is called when the delete button is clicked.&lt;br /&gt;
&lt;br /&gt;
The next screen will be the add new car screen&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_zAAahH6JHq6m5qrGy0Cf5rM5OGINlWDeOKzyf9r7XciToeDSYpFKiYCPKC8-XKvWAZ5TlVTgIWCor6s8ZJPzkvGDhVKybbpjOeXA3hSgg1tbLw6yW4BAcXXqtuotiDAfThyphenhyphenKpB4mbM2/s1600/AddCar.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;166&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_zAAahH6JHq6m5qrGy0Cf5rM5OGINlWDeOKzyf9r7XciToeDSYpFKiYCPKC8-XKvWAZ5TlVTgIWCor6s8ZJPzkvGDhVKybbpjOeXA3hSgg1tbLw6yW4BAcXXqtuotiDAfThyphenhyphenKpB4mbM2/s320/AddCar.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Here we have a drop down of brands which will be loaded when the page loads and we will be redirecting to all cars page when the new car is saved.&lt;br /&gt;
You can see the code for this component in the below URL.&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/addcar.component.ts&quot;&gt;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/addcar.component.ts&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The next screen will be edit item,&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicdsHILAB5ah-4DekP8XCJQpjfGVPQYrHEsvr3bdKDGOrAfpDXd4Iv1FO8yxKTOQbuT41rXDjoO96ki92m-oJp6t1P25xnLUJ4fY0GgIats0wLru9NsfpP5f-1VVOB8P6g0-z4LzKkkAac/s1600/UpdateCar.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicdsHILAB5ah-4DekP8XCJQpjfGVPQYrHEsvr3bdKDGOrAfpDXd4Iv1FO8yxKTOQbuT41rXDjoO96ki92m-oJp6t1P25xnLUJ4fY0GgIats0wLru9NsfpP5f-1VVOB8P6g0-z4LzKkkAac/s320/UpdateCar.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;As you can see the url of the browser it bring in the parameter Id of the car which will be used by to retrieve the car of that id and load the values, other than that this screen is same as the add car screen.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;You can see the code for this component in the below URL.&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/editcar.component.ts&quot;&gt;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/editcar.component.ts&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The next screen will be view item.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDo8NncxUhnuj4zSrR9g1qioh8aFyro4bTou-aGQIuDIqPrlylWJD-aC7J2uYBbzWezxJPOnmYO-bkqtgiWqPyXiIrQYyrWnpUEoOhI4H00JtbRJAAaRbMiX1yvQHAOQ9ru46W-iXsqg3N/s1600/ViewCar.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;129&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDo8NncxUhnuj4zSrR9g1qioh8aFyro4bTou-aGQIuDIqPrlylWJD-aC7J2uYBbzWezxJPOnmYO-bkqtgiWqPyXiIrQYyrWnpUEoOhI4H00JtbRJAAaRbMiX1yvQHAOQ9ru46W-iXsqg3N/s320/ViewCar.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Again this screen is simple and does not have any actions, it receives the data from the service just like the edit screen using the parameter that is passed via the URL.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;You can see the code for this component in the below URL.&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/viewcar.component.ts&quot;&gt;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/viewcar.component.ts&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;The most important class of all is the service class and it handles all the requests to the service.&lt;br /&gt;
You can see the code for the service class in the below URL.&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/carservice.ts&quot;&gt;https://github.com/guruparan/BlogSample/blob/master/AngularSample1/CarApp/app/carservice.ts &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Developer Note:&lt;br /&gt;
1. This is not &#39;&lt;span style=&quot;color: red;&quot;&gt;THE&lt;/span&gt;&#39; way to do this but this is also an approach to get started.&lt;br /&gt;
2. The templates can be moved to separate html files but kept in the component &lt;br /&gt;
3. Bootstrap is used for styling , style can be added separately per component .&lt;br /&gt;
4. You can use any other service technology to try this out.&lt;br /&gt;
&lt;br /&gt;
The whole code including the WebApi service can be obtained in the below repository.&lt;br /&gt;
&lt;a href=&quot;https://github.com/guruparan/BlogSample/tree/master/AngularSample1&quot;&gt;https://github.com/guruparan/BlogSample/tree/master/AngularSample1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Happy Coding&lt;br /&gt;
-Guru-&lt;br /&gt;
&lt;a href=&quot;https://www.codeproject.com/&quot; rel=&quot;tag&quot; style=&quot;display: none;&quot;&gt;CodeProject&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description><link>http://guruparang.blogspot.com/2017/02/beginners-guide-to-angular-2-webapi.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYt67cGvO2v5jVhR8HBIctzjdgz07jwNB8TR3bXK2l1TiY3jq-YeZ6dmDYtUM7ek69Z5U-M9iNRR1GXaweP6xo3N6A2hebFSR-Vp7lijLdwlRaBjPb2hICz5QMNA0TSqVLAYDu9WD1CE04/s72-c/EFModel.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-3320712401981057275</guid><pubDate>Fri, 05 Aug 2016 10:13:00 +0000</pubDate><atom:updated>2016-08-05T03:13:42.854-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">powershell</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">site archive</category><category domain="http://www.blogger.com/atom/ns#">site usage</category><title>Powershell Script to Get SharePoint SiteUsage information</title><description>&lt;br /&gt;
Hi Readers,&lt;br /&gt;
&lt;br /&gt;
There was a requirement to get the sites that were not used , so that we can archive them.&lt;br /&gt;
I found some blogs with getting last modified information using the database but the issue is it wasn&#39;s correct as all the sites had a modified date which is very recent. This may be due to search crawls.&lt;br /&gt;
&lt;br /&gt;
I came up with some functions that will be useful, here the last modified date and time and the people with full control access will be listed. the purpose of this script will be informing the people with full permissions.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;#Get the last Modified information of a site
function GetSiteModifiedInformation
{
    #First Argument will be the site collection url
 $siteUrl=$args[0]
    #Ouput file name or path
 $filename=$args[1]

    #Check if file url is provided
 if($siteUrl -eq $null -or $siteUrl -eq &#39;&#39;)
 {
  Write-Host &quot;Please provide a siteUrl&quot; -ForegroundColor Red
  return;
 }
 
    
    Write-Host &quot;Getting Site Information&quot; -ForegroundColor Yellow
    #Get Site using url
    $web=Get-Spweb $siteUrl

    Write-Host &quot;Site Name : &quot;$web.Title
    Write-Host &quot;Created : &quot;$web.Created
    $maxDate=GetLastModifiedListTime $web
    
    #Iterate subsites and get info from subsites
    foreach($spsite in $web.Webs)
    {
        $val=GetLastModifiedListTime $spsite
        
        if($val -gt $maxDate)
        {
            $maxDate = $val
        }
    }

    #Get all users of the site
    $userString=&#39;&#39;;
    $users = $web.siteusers
    foreach ($user in $users) {
        #Filter users with full control
        if ($web.DoesUserHavePermissions($user,[Microsoft.SharePoint.SPBasePermissions]::FullMask)) {
            $userString= $userString+$user.Name+&#39;;&#39;
        }
    }

    Write-Host &quot;Last Modified &quot;$maxDate
    Write-Host $userString
    $name=$web.Title;

    #Add site information to file name
    Add-Content $filename &quot;$siteUrl,$name,$maxDate,$userString&quot;
    $web.Dispose()
}

function GetLastModifiedListTime
{
    #A SPWeb Object is required here
    $site= $args[0]

    #create a date variable with minimum date value
    $date = [DateTime]::MinValue
 
 foreach($list in $web.Lists)
 {
        #Get the most recently updated sharepoint list
  if($date -lt $list.LastItemModifiedDate -and !$list.Hidden)
  {
   $date=$list.LastItemModifiedDate
  }

 }
    return $date
}

#Another helper function that can be used to input a text file
#with sites urls
function GetAllSiteInfo
{
    $siteList =$args[0]
    $output=$args[1]
    $sites= Get-Content $siteList
    foreach($site in $sites)
    {
        GetSiteModifiedInformation $site $output
    }
}

&lt;/pre&gt;&lt;br /&gt;
Happy Coding&lt;br /&gt;
Guruparan Giritharan&lt;br /&gt;
</description><link>http://guruparang.blogspot.com/2016/08/powershell-script-to-get-sharepoint.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-5926661731727165219</guid><pubDate>Tue, 31 May 2016 06:59:00 +0000</pubDate><atom:updated>2016-05-30T23:59:45.254-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">certificate</category><category domain="http://www.blogger.com/atom/ns#">error</category><category domain="http://www.blogger.com/atom/ns#">search</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><title>ID3242: The security token could not be authenticated or authorized.</title><description>Hello Readers,&lt;br /&gt;
&lt;br /&gt;
We had to setup a new content source in our search and suddenly we got this error while going to the Content sources in Search Service Application.&lt;br /&gt;
&lt;br /&gt;
I googled n didn&#39;t find much information so i went through the ULS logs and found these entries.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;An operation failed because the following certificate has validation errors:&amp;nbsp; Subject Name: CN=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;###############.com&lt;/span&gt; Issuer Name: CN=###############.com Thumbprint: 9238C86F4CF817870AFAB778E9E5E140D7ADE82F&amp;nbsp; Errors:&amp;nbsp;&amp;nbsp; The root of the certificate chain is not a trusted root authority..&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;STS Call: Failed to issue new security token. Exception: System.IdentityModel.Tokens.SecurityTokenValidationException: ID4257: X.509 certificate&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;&#39;CN=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;###############.com&lt;/span&gt;&#39; validation failed by the token handler.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;An exception occurred when trying to issue security token: ID3242: The security token could not be authenticated or authorized..&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
the actual issue was that one of the certificates were not added to &#39;SPTrustedRootAuthority&#39;&lt;br /&gt;
&lt;br /&gt;
Fixing this is simple&lt;br /&gt;
&lt;br /&gt;
$cert = Get-PfxCertificate C:\###############.pfx&lt;br /&gt;New-SPTrustedRootAuthority -Name &quot;###############&quot; -Certificate $cert&lt;br /&gt;
&lt;br /&gt;
If you have a certificate that requires a password&lt;br /&gt;
Use IE and go to &#39;Central Admin&#39;/_admin/ManageTrust.aspx and upload the certifcate.&lt;br /&gt;
&lt;br /&gt;
That&#39;s how i got the issue fixed.&lt;br /&gt;
Hope it helps :)&lt;br /&gt;
&lt;br /&gt;
Happy Coding&lt;br /&gt;
Guruparan Giritharan</description><link>http://guruparang.blogspot.com/2016/05/id3242-security-token-could-not-be.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-6032063691439186705</guid><pubDate>Sat, 09 Jan 2016 18:07:00 +0000</pubDate><atom:updated>2016-01-09T10:07:41.003-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">android</category><category domain="http://www.blogger.com/atom/ns#">json</category><category domain="http://www.blogger.com/atom/ns#">rest</category><title>Example on working with JSON and HttpURLConnection in Android</title><description>Hello Readers,&lt;br /&gt;
&lt;br /&gt;
The new Android platforms use a class called HttpUrlConnection to work with external service calls,&lt;br /&gt;
This post is on a method which can send a JSON as body and receive a JSON as response you can use this method whenever you need to post a JSON to a rest location and get a json from a rest location.&lt;br /&gt;
This method will send the JSON string as the body of the request.&lt;br /&gt;
&lt;br /&gt;
You&#39;ll have to pass the following&lt;br /&gt;
URL : the request url&lt;br /&gt;
JSON : the json to be sent can be NULL on get scenarios&lt;br /&gt;
Timeout : Connection timeout&lt;br /&gt;
Method : Http method POST / GET / PUT etc&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;public static String getJSON(String url, String json, int timeout, String method) {
    HttpURLConnection connection = null;
    try {

        URL u = new URL(url);
        connection = (HttpURLConnection) u.openConnection();
        connection.setRequestMethod(method);
        
        //set the sending type and receiving type to json
        connection.setRequestProperty(&quot;Content-Type&quot;, &quot;application/json&quot;);
        connection.setRequestProperty(&quot;Accept&quot;, &quot;application/json&quot;);

        connection.setAllowUserInteraction(false);
        connection.setConnectTimeout(timeout);
        connection.setReadTimeout(timeout);

        if (json != null) {
            //set the content length of the body
            connection.setRequestProperty(&quot;Content-length&quot;, json.getBytes().length + &quot;&quot;);
            connection.setDoInput(true);
            connection.setDoOutput(true);
            connection.setUseCaches(false);

            //send the json as body of the request
            OutputStream outputStream = connection.getOutputStream();
            outputStream.write(json.getBytes(&quot;UTF-8&quot;));
            outputStream.close();
        }

        //Connect to the server
        connection.connect();

        int status = connection.getResponseCode();
        Log.i(&quot;HTTP Client&quot;, &quot;HTTP status code : &quot; + status);
        switch (status) {
            case 200:
            case 201:
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                StringBuilder sb = new StringBuilder();
                String line;
                while ((line = bufferedReader.readLine()) != null) {
                    sb.append(line + &quot;\n&quot;);
                }
                bufferedReader.close();
                Log.i(&quot;HTTP Client&quot;, &quot;Received String : &quot; + sb.toString());
                //return received string
                return sb.toString();
        }

    } catch (MalformedURLException ex) {
        Log.e(&quot;HTTP Client&quot;, &quot;Error in http connection&quot; + ex.toString());
    } catch (IOException ex) {
        Log.e(&quot;HTTP Client&quot;, &quot;Error in http connection&quot; + ex.toString());
    } catch (Exception ex) {
        Log.e(&quot;HTTP Client&quot;, &quot;Error in http connection&quot; + ex.toString());
    } finally {
        if (connection != null) {
            try {
                connection.disconnect();
            } catch (Exception ex) {
                Log.e(&quot;HTTP Client&quot;, &quot;Error in http connection&quot; + ex.toString());
            }
        }
    }
    return null;
}

&lt;/pre&gt;
&lt;br /&gt;
Happy Coding&lt;br /&gt;
-Guru-</description><link>http://guruparang.blogspot.com/2016/01/example-on-working-with-json-and.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-535853945743163437</guid><pubDate>Thu, 13 Aug 2015 12:32:00 +0000</pubDate><atom:updated>2015-08-13T05:33:58.077-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">.net</category><category domain="http://www.blogger.com/atom/ns#">file</category><category domain="http://www.blogger.com/atom/ns#">formdata</category><category domain="http://www.blogger.com/atom/ns#">json</category><category domain="http://www.blogger.com/atom/ns#">webapi</category><title>Posting JSON Object and Files to WebAPI from Javascript</title><description>This Post is on how to Post data and files in a single request from Javascript to WebAPI.&lt;br /&gt;
&lt;br /&gt;
I wanted to post a Entity object along with the files but the issue i found was only one object can be posted at a time so to post data we&#39;ll have to send two AJAX calls to the service which introduces more problems such as managing transactions.&lt;br /&gt;
&lt;br /&gt;
So i found out a way to overcome the issue.&lt;br /&gt;
Its simply posting the javascript object as a string and deserializing&amp;nbsp; it from the backend.&lt;br /&gt;
&lt;br /&gt;
Now lets see the code.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;//The model class 
public class Employee
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
}

&lt;/pre&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;//The controller
public class EmployeeController : ApiController
{
    //Post
    public IHttpActionResult Post()
    {
        var httpRequest = HttpContext.Current.Request;

        //Get Employee from posted object
        var employeeString = httpRequest.Form.Get(&quot;object&quot;);

        //Deserialize the string to object
        var employee = JsonConvert.DeserializeObject&lt;employee&gt;(employeeString);

        if (httpRequest.Files.Count &amp;lt; 1)
        {
            // return BadRequest (no file(s) available)
            return BadRequest(&quot;No files to upload&quot;);
        }

        // return result
        return Ok(employee.Name + &quot; Inserted&quot;);
    }

}

&lt;/employee&gt;&lt;/pre&gt;
Now the Javascript part&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;function postEmployee() {
    //fileToUpload is input of type file
    var fileSelect = document.getElementById(&#39;fileToUpload&#39;);
    var files = fileSelect.files;

    var data = { Id: 1, Name: &quot;John&quot;, Address: &quot;US&quot; };

    var formData = new FormData();
    //insert the object to be posted
    //remember this is the key thats restored from the other side
    formData.append(&quot;object&quot;, JSON.stringify(data));

    //Append the files to be uploaded
    for (var i = 0; i &amp;lt; files.length; i++) {
        formData.append(&quot;file&quot; + (i + 1), files[i], files[i].name);
    }

    var xhr = new XMLHttpRequest();
    //Change the post link according to your service
    xhr.open(&#39;POST&#39;, &#39;/api/File&#39;, true);

    xhr.onload = function () {
        if (xhr.status === 201) {
            alert(xhr.responseText);
        } else {
           alert(xhr.responseText);
        }
    };
    xhr.send(formData);
}

&lt;/pre&gt;
</description><link>http://guruparang.blogspot.com/2015/08/posting-json-object-and-files-to-webapi.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-497098312948333504</guid><pubDate>Tue, 21 Apr 2015 09:51:00 +0000</pubDate><atom:updated>2015-04-21T02:51:39.724-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sharepoint 2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2013</category><title>Impersonating user in Sharepoint Server Object Model</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
I came across a requirement to upload some files using a console application to sharepoint, but there was a workflow which needed to started when an item is added, so using System Account was not an option.&lt;br /&gt;
&lt;br /&gt;
This is a way to impersonate the user and access the web.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;

//Connect to the site as System Account
using (SPSite site = new SPSite(&quot;Site URL&quot;))
{
    using (SPWeb web = site.OpenWeb())
    {
        //Get the spuser object from the site
        SPUser userToImpersonate = web.EnsureUser(@&quot;Domain\username&quot;);

        //Connect to the site again using the Token
        using (SPSite impSite = new SPSite(&quot;Site URL&quot;, userToImpersonate.UserToken))
        {
            using (SPWeb web2 = impSite.OpenWeb())
            {
                //Impersonated Block
            }
        }
    }
}


&lt;/pre&gt;&lt;br /&gt;
Happy Coding&lt;br /&gt;
Guruparan Giritharan </description><link>http://guruparang.blogspot.com/2015/04/impersonating-user-in-sharepoint-server.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-1404575008394649212</guid><pubDate>Sun, 29 Mar 2015 16:36:00 +0000</pubDate><atom:updated>2015-03-29T09:36:31.397-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cards</category><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">ui</category><title>Creating your own card based ui using JQuery</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
You would have come across so many card based ui&#39;s , this post is about creating your own version of it.There are so many different types of implementations, this post is about using the simple div structure and JQuery to get the task done.&lt;br /&gt;
&lt;br /&gt;
So think of the creating a structure like this using html.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifDTc8QHXTtWs3koXf1q12EpqJMVFyKKIh5tru7kizDbO6McAfPfUNH5wuMiT1Jj2r-uj3K9-4H6LDSvSl6ZW9ZuemTV6OSnE7_xhMQpiZpHdCc1W7Qz1u5fehuYcXNaP1HLSGS7U2gvGw/s1600/Layout.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifDTc8QHXTtWs3koXf1q12EpqJMVFyKKIh5tru7kizDbO6McAfPfUNH5wuMiT1Jj2r-uj3K9-4H6LDSvSl6ZW9ZuemTV6OSnE7_xhMQpiZpHdCc1W7Qz1u5fehuYcXNaP1HLSGS7U2gvGw/s1600/Layout.JPG&quot; height=&quot;184&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Its a simple structure with columns and boxes inside it. You cannot consider this as a table because the heights of the boxes may change and column count will differ when the page size changes.&lt;br /&gt;
I&#39;m using fixed width for the columns so a standard width will be given for the columns.&lt;br /&gt;
&lt;br /&gt;
I&#39;m using JQuery to arrange the cards. This layouts requires all the cards to have the same css class name so it will manipulate the Div&#39;s that are having the class name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets see a sample.&lt;br /&gt;
&lt;br /&gt;
Here the html that we are going to transform into cards&lt;br /&gt;
Here you can notice that we do not have any columns. The columns will be generated by javascript.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset=&quot;utf-8&quot; /&amp;gt;
    &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
    &amp;lt;style type=&quot;text/css&quot;&amp;gt;
        /*a simle style for the card*/
        .itemBlock {
            background-color: grey;
            margin: 5px;
            float: left;
            height: auto;
        }
    &amp;lt;/style&amp;gt;
    &amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.8.3.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div id=&quot;contentHolder&quot;&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;1 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;2 Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;3 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;4 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from &quot;de Finibus Bonorum et Malorum&quot; by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;5 Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;6 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;7 Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;8 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;9 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from &quot;de Finibus Bonorum et Malorum&quot; by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;10 Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;11 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;12 Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;13 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;14 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from &quot;de Finibus Bonorum et Malorum&quot; by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;15 Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;16 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;17 Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;18 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;19 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from &quot;de Finibus Bonorum et Malorum&quot; by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;20 Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;21 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;22 Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;23 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;24 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from &quot;de Finibus Bonorum et Malorum&quot; by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;25 Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;26 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry&#39;s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;27 Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;28 There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don&#39;t look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn&#39;t anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;29 The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from &quot;de Finibus Bonorum et Malorum&quot; by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.&amp;lt;/div&amp;gt;
        &amp;lt;div class=&quot;itemBlock&quot;&amp;gt;30 Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of &quot;de Finibus Bonorum et Malorum&quot; (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, &quot;Lorem ipsum dolor sit amet..&quot;, comes from a line in section 1.10.32.&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Heres the required javascript code to create the layout.&lt;br /&gt;
The inline comments will explain what each method does.&lt;br /&gt;
(The script must be placed in a script tag)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;//Width of the column
var columnWidth = 200;

//Number of columns
//Will change when page width is adjusted
var columnCount = 0;

//Main div that holds the cards
var containerName = &quot;#contentHolder&quot;;

//Css class to identify the card
var cardClass = &quot;itemBlock&quot;;

//Attribute to maintain the card order
var cardAttribute = &quot;data-viewId&quot;;

//Filter to filter the card
var filter = &quot;div.&quot; + cardClass;



$(document).ready(function () {

    //Get the number of columns
    columnCount = getColumnCount();

    //Reset the layout when the window is resized
    $(window).resize(function () {
        var columns = getColumnCount();
        if (columnCount != columns) {
            columnCount = columns;
            reset();
        }
    });

    $.each($(containerName).children(), function (val) {
        $(this).attr(cardAttribute, val + 1);
    });

    for (var i = 0; i &amp;lt; columnCount; i++) {
        $(containerName).append(&quot;&lt;div class=&quot;colDiv&quot; id=&quot;col&amp;quot; + (i + 1) + &amp;quot;&quot; style=&quot;float: left; width: &amp;quot; + (columnWidth + 5) + &amp;quot;px;&quot;&gt;
&lt;/div&gt;
&quot;);
    }

    initialize();
});

//Calculate column count based on the width
function getColumnCount() {
    var columnCount = $(containerName).width() / (columnWidth + 10);
    return Math.floor(columnCount);
}

//Reset the layout when the page is resized
function reset() {
    var count = $(filter).length;
    for (var i = 0; i &amp;lt; length; i++) {
        $(filter + &quot;[&quot; + cardAttribute + &quot;=&quot; + (i + 1) + &quot;]&quot;).appendTo($(containerName));
    }
    initialize();
}


//initialize the card layout
function initialize() {

    //Get the number of cards in the html
    var count = $(filter).length;
    var firstRun = true;

    //Append the required column divs
    for (var i = 0; i &amp;lt; columnCount; i++) {
        if ($(&quot;#col&quot; + (i + 1)).length == 0) {
            $(containerName).append(&quot;&lt;div class=&quot;colDiv&quot; id=&quot;col&amp;quot; + (i + 1) + &amp;quot;&quot; style=&quot;float: left; width: &amp;quot; + (columnWidth + 5) + &amp;quot;px;&quot;&gt;
&lt;/div&gt;
&quot;);
        }
    }

    //Move the cards to the columns to the layout
    for (var i = 0; i &amp;lt; count; i++) {
        var col = (i + 1) % columnCount;

        if (col == 0) {
            col = columnCount;
        }

        if (firstRun) {
            $(filter + &quot;[&quot; + cardAttribute + &quot;=&quot; + (i + 1) + &quot;]&quot;).appendTo($(&quot;#col&quot; + col));
        }
        else {
            $(filter + &quot;[&quot; + cardAttribute + &quot;=&quot; + (i + 1) + &quot;]&quot;).appendTo($(&quot;#&quot; + getDivToAdd()));
        }

        if (col == columnCount &amp;amp;&amp;amp; firstRun) {
            firstRun = false;
        }
    }
}

//Get the column that a given div is added
function getDivToAdd() {
    var div = &quot;col1&quot;;
    for (var i = columnCount; i &amp;gt; 0; i--) {
        if ($(&quot;#col&quot; + i).height() &amp;lt;= $(&quot;#&quot; + div).height()) {
            div = $(&quot;#col&quot; + i).attr(&quot;id&quot;);
        }
    }
    return div;
}

//Add a new card to layout
function addCard(itemHtml) {
    var itemId = $(filter).length + 1;
    var item = $(itemHtml);
    item.attr(cardAttribute, itemId);
    item.appendTo($(&quot;#&quot; + getDivToAdd()));
}

&lt;/pre&gt;
This is the sample output of the code.  &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCpG_7l1POiF0eExDStRzmgAgxJG8ObDDh38N__864aK7FMsYw87rH0UiiJVVZeTCT5c9HIpwRXjk7rY2TrgO2WNBVllXJFWSfFtLuKFDhyphenhyphenZddvPhqvFBMwnD8YhFPImCy2APUrbTR1wkV/s1600/preview.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCpG_7l1POiF0eExDStRzmgAgxJG8ObDDh38N__864aK7FMsYw87rH0UiiJVVZeTCT5c9HIpwRXjk7rY2TrgO2WNBVllXJFWSfFtLuKFDhyphenhyphenZddvPhqvFBMwnD8YhFPImCy2APUrbTR1wkV/s1600/preview.png&quot; height=&quot;179&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can add new cards using addCard() function.&lt;br /&gt;
Hope this is helpful and you can tryout your own card based UI.&lt;br /&gt;
&lt;br /&gt;
Regards&lt;br /&gt;
Guru</description><link>http://guruparang.blogspot.com/2015/03/creating-your-own-card-based-ui-using.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifDTc8QHXTtWs3koXf1q12EpqJMVFyKKIh5tru7kizDbO6McAfPfUNH5wuMiT1Jj2r-uj3K9-4H6LDSvSl6ZW9ZuemTV6OSnE7_xhMQpiZpHdCc1W7Qz1u5fehuYcXNaP1HLSGS7U2gvGw/s72-c/Layout.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-6947007287825355764</guid><pubDate>Mon, 06 Oct 2014 17:47:00 +0000</pubDate><atom:updated>2014-10-06T10:48:44.772-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">0365</category><category domain="http://www.blogger.com/atom/ns#">feature</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2013</category><category domain="http://www.blogger.com/atom/ns#">sharepoint library</category><category domain="http://www.blogger.com/atom/ns#">upgrade</category><title>Deploying Lists and Adding new lists via features</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
This post will give you information on deploying lists , making changes to the lists and adding new lists to the Sharepoint site in O365 or on premise.&lt;br /&gt;
&lt;br /&gt;
What we are using here is feature upgrades, its simple and fast also Sharepoint manages most of the work.&lt;br /&gt;
&lt;br /&gt;
Lets go step by step&lt;br /&gt;
&lt;br /&gt;
First create a project and add a list&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75sBsSITB1qAZmitYl6y5BuTDtCJbsCoE_DQfuk8BXfekw3eUlyO6OZ_W6KW4Lsmc_emClMZo36w_Cz50HG5fqg7_GHkeG09gPgKT7AJe2WThTzibZZuZoMPbyHm_Pkpq6t6jlZ3Ub49J/s1600/2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75sBsSITB1qAZmitYl6y5BuTDtCJbsCoE_DQfuk8BXfekw3eUlyO6OZ_W6KW4Lsmc_emClMZo36w_Cz50HG5fqg7_GHkeG09gPgKT7AJe2WThTzibZZuZoMPbyHm_Pkpq6t6jlZ3Ub49J/s1600/2.PNG&quot; height=&quot;254&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Add a new column and name it description &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOwS2xFQDDHtsRCaxnD_3nS-48JYwQUQZBbXj-q7nXtENLZ2CdR8nmheEi-avC473mHgUGu32ANCO2NiPASU9Y-51aLK76pTwaRfct3I868PCufHliaekIbO9_vTmoG2orO9fOwPMRhqsq/s1600/3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOwS2xFQDDHtsRCaxnD_3nS-48JYwQUQZBbXj-q7nXtENLZ2CdR8nmheEi-avC473mHgUGu32ANCO2NiPASU9Y-51aLK76pTwaRfct3I868PCufHliaekIbO9_vTmoG2orO9fOwPMRhqsq/s1600/3.PNG&quot; height=&quot;295&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now from the solution explorer open &quot;Feature1&quot; this will be the feature which we&#39;ll be using to deploy and update our lists &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1nrHX4yFh2ECga5yPZNIYS4vjtgFwsmwZHQbvunBZZpPo3bg2wQFtc1I7Ku4eW3-SBVTjUo155M8TNGJ2_v-HIxS9tfXKfLMhuDpft1TtNzcC7UWNhElcyGgDN6XBBmza-SiWErr64WTu/s1600/4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1nrHX4yFh2ECga5yPZNIYS4vjtgFwsmwZHQbvunBZZpPo3bg2wQFtc1I7Ku4eW3-SBVTjUo155M8TNGJ2_v-HIxS9tfXKfLMhuDpft1TtNzcC7UWNhElcyGgDN6XBBmza-SiWErr64WTu/s1600/4.PNG&quot; height=&quot;241&quot; width=&quot;400&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&amp;nbsp;Now press F4 or open the properties pane and give a version to the feature, as its the first deployment I&#39;ve put version 1.0.0.0&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigBKZ3TIO30VjarhAi_Z-cPBs95ABPyK09qxJq_YEGTPOx8QJ77fz75BD8HAjhJDE_76XgPkgtOvVFTOhnMtUbx5tTNX2Y-o0gl-kOCZoIJ8bROk7iGf5BuH03_gx4e3Ykq7afuJ7orioh/s1600/5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigBKZ3TIO30VjarhAi_Z-cPBs95ABPyK09qxJq_YEGTPOx8QJ77fz75BD8HAjhJDE_76XgPkgtOvVFTOhnMtUbx5tTNX2Y-o0gl-kOCZoIJ8bROk7iGf5BuH03_gx4e3Ykq7afuJ7orioh/s1600/5.PNG&quot; height=&quot;400&quot; width=&quot;232&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now package the WSP and upload it the the solution gallery, you can get to solution gallery by going to &quot;Site settings -&amp;gt; Solutions&quot; , and activate the solution.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgUpxiJtpFI3zhr_fpVvhh8Qt0iqEAKUCJOgXcwOKqB0aDLe1Ds6KGL1Qh2nZXLVCuWEX0PhknWemCjHaSlUFOXQx19S4q_yeDNowge0KfJLfPKKEzF7Xq9c3cauDp-wpSZOKpBGy8A9Vk/s1600/6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgUpxiJtpFI3zhr_fpVvhh8Qt0iqEAKUCJOgXcwOKqB0aDLe1Ds6KGL1Qh2nZXLVCuWEX0PhknWemCjHaSlUFOXQx19S4q_yeDNowge0KfJLfPKKEzF7Xq9c3cauDp-wpSZOKpBGy8A9Vk/s1600/6.PNG&quot; height=&quot;262&quot; width=&quot;400&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Now go to site features from site settings and you can view the feature that we have deployed, activate it. &lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQoI77IQIW5Dr8f9tN6pW8_eINNSERnQOQ2VArKt158pFpF7E6xKngaLP_WvQYiDxUd8SGwgvZcQd7FXSxJmuy8XpzKdXtvgMPXXsJpHTWXasG19r1TH6UV-yrgss9B-mEtfAhe0IcPDH2/s1600/7.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQoI77IQIW5Dr8f9tN6pW8_eINNSERnQOQ2VArKt158pFpF7E6xKngaLP_WvQYiDxUd8SGwgvZcQd7FXSxJmuy8XpzKdXtvgMPXXsJpHTWXasG19r1TH6UV-yrgss9B-mEtfAhe0IcPDH2/s1600/7.PNG&quot; height=&quot;30&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now our list will be created. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp9nGnIw2YQo6tkBBqpVFBznnC16smdiYm1-2dMW7eqP3Jsz2g21Hgtam9hUin762BwhPNNgPyQ79knc-75_e3UctGcM_MZ2AR6yNgH6UVBO93lhWmwRA5gmsyy0SKPcxWnyO2nenilpL/s1600/8.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLp9nGnIw2YQo6tkBBqpVFBznnC16smdiYm1-2dMW7eqP3Jsz2g21Hgtam9hUin762BwhPNNgPyQ79knc-75_e3UctGcM_MZ2AR6yNgH6UVBO93lhWmwRA5gmsyy0SKPcxWnyO2nenilpL/s1600/8.PNG&quot; height=&quot;170&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
As we have deployed the list, lets see how we can upgrade it, for this I&#39;m going to add a new column to the list,that is called SubTitle &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL3uKl2R0Pgg856z9qV_UgzUeTSFstx5KKjBNPO6ZcPrqdcwtLyyquBuvsuJ96Md0Fd9u3Kgd4Fhpq1m9kISqixe05q611Zw3ye_2iW5SZolBwj7cGHekCW8-_ufcVvgPpfsyccuWWPayk/s1600/9.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL3uKl2R0Pgg856z9qV_UgzUeTSFstx5KKjBNPO6ZcPrqdcwtLyyquBuvsuJ96Md0Fd9u3Kgd4Fhpq1m9kISqixe05q611Zw3ye_2iW5SZolBwj7cGHekCW8-_ufcVvgPpfsyccuWWPayk/s1600/9.PNG&quot; height=&quot;224&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now open the feature1 again and give it a new version number &quot;2.0.0.0&quot; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI-l4uEaX0n3nj6N2Uq2Pwee94rwqoGF0N3apAAkkdkXv9b4MqTFRf5yo5pS-1QhfYbHixBMO3nfLUGH4CVV2zRdsO2AKijD0PjNw-MKO_AgFR-avFORAgbSYse9fUcg9541OZpgRoF8Fo/s1600/10.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI-l4uEaX0n3nj6N2Uq2Pwee94rwqoGF0N3apAAkkdkXv9b4MqTFRf5yo5pS-1QhfYbHixBMO3nfLUGH4CVV2zRdsO2AKijD0PjNw-MKO_AgFR-avFORAgbSYse9fUcg9541OZpgRoF8Fo/s1600/10.PNG&quot; height=&quot;320&quot; width=&quot;247&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Providing a new version number will not update it, we&#39;ll have to edit the feature&#39;s manifest to do this,&lt;br /&gt;
First open feature1 and move to the manifest tab.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpEgdzEvNvxagCmvx2Z7WWuCDkqkoq_DGM09_nnjD5pT-6CAp-8hUZDIAimgk7hwePSacf324EaBkrNV7Ku22tUXfN8IoVaIl5f3sSTMpJevbxGIjuwCKoskjE73nbOtrzJhpoLkuMR-2g/s1600/11.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpEgdzEvNvxagCmvx2Z7WWuCDkqkoq_DGM09_nnjD5pT-6CAp-8hUZDIAimgk7hwePSacf324EaBkrNV7Ku22tUXfN8IoVaIl5f3sSTMpJevbxGIjuwCKoskjE73nbOtrzJhpoLkuMR-2g/s1600/11.PNG&quot; height=&quot;238&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;At the bottom you&#39;ll see a link saying &quot;Overwrite generated xml file&quot;, now you&#39;ll see the screen below click the &quot;Edit manifest in the xml editor&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPwSZaZKP_dAGZnOY85znyeNoSetQmZf_Poy9GnlurbDYvp-wzee2S4takduXi78Emf2M6j0f5zyJBtAE2MfkLFa2W3YUJ4gqaJ6cc7cLWu5JJXrY7jozQ0lf9G1SR0WAGJle1IYwy8Obf/s1600/12.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPwSZaZKP_dAGZnOY85znyeNoSetQmZf_Poy9GnlurbDYvp-wzee2S4takduXi78Emf2M6j0f5zyJBtAE2MfkLFa2W3YUJ4gqaJ6cc7cLWu5JJXrY7jozQ0lf9G1SR0WAGJle1IYwy8Obf/s1600/12.PNG&quot; height=&quot;126&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Click that and you&#39;ll see the manifest of the feature, the manifest will look like this&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU7ezzs038uh6wjS4foCOjZCmcBwugY_6JB9oqQUwlafttpKVTeNlVxn37kBxDH-C6N2reLs9WjM9wxFLXsBzqe9Q67pt6Qx8XQDRYQlk43o3ajIP8L1MXFacmxV8JpfNUTdhR-xNMGrlx/s1600/13.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjU7ezzs038uh6wjS4foCOjZCmcBwugY_6JB9oqQUwlafttpKVTeNlVxn37kBxDH-C6N2reLs9WjM9wxFLXsBzqe9Q67pt6Qx8XQDRYQlk43o3ajIP8L1MXFacmxV8JpfNUTdhR-xNMGrlx/s1600/13.PNG&quot; height=&quot;129&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now we&#39;ll have to edit the manifest and add upgrade actions to it, here we are asking sharepoint to apply the element manifest if the version is greater than 2.0.0.0. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUUiiTTdZnjqrezCnd7arHZ4jL0gK9ff4-G_xc0wR8zrtrTQedFsnxEaKgaYDlEFuE-5hwEKw7IsA2-vsYp0BkMvisALD-qslpFvq0xeC4qj_3eYTNOgEH_VvLzhQZxBQeGnyQiD6WSLCa/s1600/14.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUUiiTTdZnjqrezCnd7arHZ4jL0gK9ff4-G_xc0wR8zrtrTQedFsnxEaKgaYDlEFuE-5hwEKw7IsA2-vsYp0BkMvisALD-qslpFvq0xeC4qj_3eYTNOgEH_VvLzhQZxBQeGnyQiD6WSLCa/s1600/14.PNG&quot; height=&quot;316&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now package the WSP.&lt;br /&gt;
Here we&#39;ll have to do another step before deploying , that is rename the file, then only sharepoint will ask to upgrade it. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvlq23C2QIL3VXbjLSfd-eqhT-ACLIc3HZXa5awIOFyD5lXy35JOwNCY0ngERp2v1ESOVwDOE7raMCuKuPQZu-dyLEr9nyyGfT2V4KotpphfzGi0Q0hAVkhsKJbUg-_lREdwpjj5L5KsVg/s1600/15.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvlq23C2QIL3VXbjLSfd-eqhT-ACLIc3HZXa5awIOFyD5lXy35JOwNCY0ngERp2v1ESOVwDOE7raMCuKuPQZu-dyLEr9nyyGfT2V4KotpphfzGi0Q0hAVkhsKJbUg-_lREdwpjj5L5KsVg/s1600/15.PNG&quot; height=&quot;110&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Upload the new file and it&#39;ll ask you to upgrade the solution. click upgrade. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJvgNPfZCj46XI_bu8SaovQw0etIubpEClVdAhmzh3eOYzcmAl_0Jc3nSODCqNskEQzYNZtg99N43E2eoZnaEaUL2SM9QB4B98y4Jqlx3HHD9LgkPGtA6afOqCIqgoJMXGRtJtbEut247q/s1600/16.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJvgNPfZCj46XI_bu8SaovQw0etIubpEClVdAhmzh3eOYzcmAl_0Jc3nSODCqNskEQzYNZtg99N43E2eoZnaEaUL2SM9QB4B98y4Jqlx3HHD9LgkPGtA6afOqCIqgoJMXGRtJtbEut247q/s1600/16.PNG&quot; height=&quot;224&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;Now you can see that the newer version is activated.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8U2FceBtQ0BGckng4r8Y4Bgr4PKoofp6GC3zGE7DNQWiu6uGWTERKyLzl0SosOTWovp9nIDSFM6LNMpF1h27kSksBVnbx6hi6j0NFsSmLRnxrwPd2VB4sOv9cai-T2pum4xMOzvkCTNOa/s1600/17.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8U2FceBtQ0BGckng4r8Y4Bgr4PKoofp6GC3zGE7DNQWiu6uGWTERKyLzl0SosOTWovp9nIDSFM6LNMpF1h27kSksBVnbx6hi6j0NFsSmLRnxrwPd2VB4sOv9cai-T2pum4xMOzvkCTNOa/s1600/17.PNG&quot; height=&quot;68&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;If you go to your list it&#39;ll be updated and the new column will be there.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6dFQKBRiPlYpAXTGtHMeGKKVcVHWHv0TboRoEFLT8gSoruVWVlOVKjDZ6VzVzsOqxCViIQSGcYejagQ0cPNclLU9I6JG-SYCUplAU8TpDzJI7uPVpJyYYA0OHcEyfroqqF9KDxq7Zks-s/s1600/18.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6dFQKBRiPlYpAXTGtHMeGKKVcVHWHv0TboRoEFLT8gSoruVWVlOVKjDZ6VzVzsOqxCViIQSGcYejagQ0cPNclLU9I6JG-SYCUplAU8TpDzJI7uPVpJyYYA0OHcEyfroqqF9KDxq7Zks-s/s1600/18.PNG&quot; height=&quot;134&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Now we&#39;ll see how to add a new library to our feature.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Add a new list and select the type as library&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIXHxa2gv7IQyvgcYmgUEnxC08zxdCIaDDsSKyXFl-t74tuenQj5qUL-bpNZq5Od81hSmdHqAtw2-JhkSh0zwlvUxDA8vObKPuUFdL9uIX4OTt1NzcLtlDZKwNy43v-YETLqoQ9dkvzQ2I/s1600/20.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIXHxa2gv7IQyvgcYmgUEnxC08zxdCIaDDsSKyXFl-t74tuenQj5qUL-bpNZq5Od81hSmdHqAtw2-JhkSh0zwlvUxDA8vObKPuUFdL9uIX4OTt1NzcLtlDZKwNy43v-YETLqoQ9dkvzQ2I/s1600/20.PNG&quot; height=&quot;253&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now you&#39;ll see that a new feature is added to your solution, you may delete it, because its not required. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx6VV0sxhPiUztBVJJb-lRG3EhWSLqiZg0WMdSpwGURzXcPAEAhSMOhqn_1zFBKZpAY9Q3EhxTg0wCsH2ipV0ymPdtONX_Eze9J2I_zNh3SuRj6bOHlwhEnwnrHws5tCkNgd2ZS4r3aOCB/s1600/21.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx6VV0sxhPiUztBVJJb-lRG3EhWSLqiZg0WMdSpwGURzXcPAEAhSMOhqn_1zFBKZpAY9Q3EhxTg0wCsH2ipV0ymPdtONX_Eze9J2I_zNh3SuRj6bOHlwhEnwnrHws5tCkNgd2ZS4r3aOCB/s1600/21.PNG&quot; height=&quot;247&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Open the feature again but this time we&#39;ll need to go the edit manifest screen and copy the upgrade actions we did in the last part,&lt;br /&gt;
Keep it safe in a notepad.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPZnre_1co_CumcStRp9sR7aAwmNJRa2YGDCGa_6JcvaqqH4PJqELYiCGecuXb6hGJvmYcSLAiUcl45NbsQE7t8chNMufR9l5O60gYH98rLTq01ptpj9zlexPGVoJlcOzYutw1Z9QBCyDc/s1600/22.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPZnre_1co_CumcStRp9sR7aAwmNJRa2YGDCGa_6JcvaqqH4PJqELYiCGecuXb6hGJvmYcSLAiUcl45NbsQE7t8chNMufR9l5O60gYH98rLTq01ptpj9zlexPGVoJlcOzYutw1Z9QBCyDc/s1600/22.PNG&quot; height=&quot;82&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
And click the &quot;Discard manifest edits...&quot; and now you can add the new library to the feature using the UI.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLJIdVmOGewQyxm_IBzMZGSLt2j-FldmhdH2lWIqD04KvDy6knmxJQq9UmxyP_gVOfU0jXoS5IyYGmERMkMRkTw97_SrIXwuwhihnM45p2vKY7UwgvVOg2MSrsbDs9lCdUFRgDKEhndPT5/s1600/23.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLJIdVmOGewQyxm_IBzMZGSLt2j-FldmhdH2lWIqD04KvDy6knmxJQq9UmxyP_gVOfU0jXoS5IyYGmERMkMRkTw97_SrIXwuwhihnM45p2vKY7UwgvVOg2MSrsbDs9lCdUFRgDKEhndPT5/s1600/23.PNG&quot; height=&quot;199&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Again go to manifest tab and go to XML editor , here we&#39;ll have to update the version number and add new upgrade actions, you can see the edits that are done to the xml file. Also the version is increased as well.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGO7VXGrumOeMsWwyp9vL9kQHRNRs8NZT-QJeItYNcFZSZQ7zrPtpTAYVeTmZXcI-TfDftG_Msq163PmkyhYp59eWU-k7IFAeoi57j68iy3BI5QsYzFn4hCdHY7pqBvsK0sbYLQL7Cr91I/s1600/24.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGO7VXGrumOeMsWwyp9vL9kQHRNRs8NZT-QJeItYNcFZSZQ7zrPtpTAYVeTmZXcI-TfDftG_Msq163PmkyhYp59eWU-k7IFAeoi57j68iy3BI5QsYzFn4hCdHY7pqBvsK0sbYLQL7Cr91I/s1600/24.PNG&quot; height=&quot;400&quot; width=&quot;332&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
You may create the wsp and upgrade the solution but the list will not be created.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguvPMiu7NrFw2pkF59yP02oyu7grs05aG5Iw-fpRgctmGrNlO2m5RltHC-4m2j6i9lny5CRLjKWykvVWBUoP8UFq3WwlsqrDO8fWG2t8e0XjA7kWaCvijF-0UV0ATu152v-JQCUUOQcpfS/s1600/25.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguvPMiu7NrFw2pkF59yP02oyu7grs05aG5Iw-fpRgctmGrNlO2m5RltHC-4m2j6i9lny5CRLjKWykvVWBUoP8UFq3WwlsqrDO8fWG2t8e0XjA7kWaCvijF-0UV0ATu152v-JQCUUOQcpfS/s1600/25.PNG&quot; height=&quot;204&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
If you increase the version again and deploy n upgrade the solution , the list will be created.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrS1N11c4Dz1TJnafJq2HXkW6zk-6E9sBF_kXKlugSRH-CWpqy2lTXQAbCYdvcbw5yHsGeMtABRWx5sbYGQFNYMGQ22uMPJXLxggYBeXEOgw31pVCcmCu86AcVPLp0y2RU080Rz6J4F1aL/s1600/26.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrS1N11c4Dz1TJnafJq2HXkW6zk-6E9sBF_kXKlugSRH-CWpqy2lTXQAbCYdvcbw5yHsGeMtABRWx5sbYGQFNYMGQ22uMPJXLxggYBeXEOgw31pVCcmCu86AcVPLp0y2RU080Rz6J4F1aL/s1600/26.PNG&quot; height=&quot;221&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
You can see that the latest version is activated.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiysr-WoSYvWLZPg6FiIGFlRtVmYf0QaPXYznahBBBuT71Y0TLtxc04exBJfG9Fo6Gu89cqRPM6ZVneGONQmVYJyf-D-t84RXlHA7McEI2DA1bDmvu_182ygxIWwC-DA35ggrR68vnThaGQ/s1600/27.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiysr-WoSYvWLZPg6FiIGFlRtVmYf0QaPXYznahBBBuT71Y0TLtxc04exBJfG9Fo6Gu89cqRPM6ZVneGONQmVYJyf-D-t84RXlHA7McEI2DA1bDmvu_182ygxIWwC-DA35ggrR68vnThaGQ/s1600/27.PNG&quot; height=&quot;73&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
And now your library is created.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5qEm7GAGdbz-ANpzPLzi7vd3LeU_B0xY1uqZaDTyvkVYxEQRSHOLRxirC2Ml3e-DzryOmrauaGZ7qDaYZmVI0cPC6DNNnmAfsiDbvYDlvXO8ZEfoBAN0AvsN6l6peNxjVLuFwiUEPoWVx/s1600/28.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5qEm7GAGdbz-ANpzPLzi7vd3LeU_B0xY1uqZaDTyvkVYxEQRSHOLRxirC2Ml3e-DzryOmrauaGZ7qDaYZmVI0cPC6DNNnmAfsiDbvYDlvXO8ZEfoBAN0AvsN6l6peNxjVLuFwiUEPoWVx/s1600/28.PNG&quot; height=&quot;201&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
You can use this technique to update lists and add new lists, any site that is having this feature will be upgraded and the new lists will be created.&lt;br /&gt;
&lt;br /&gt;
Happy Coding&lt;br /&gt;
-Guruparan Giritharan-</description><link>http://guruparang.blogspot.com/2014/10/deploying-lists-and-adding-new-lists.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi75sBsSITB1qAZmitYl6y5BuTDtCJbsCoE_DQfuk8BXfekw3eUlyO6OZ_W6KW4Lsmc_emClMZo36w_Cz50HG5fqg7_GHkeG09gPgKT7AJe2WThTzibZZuZoMPbyHm_Pkpq6t6jlZ3Ub49J/s72-c/2.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-3995886046781072836</guid><pubDate>Mon, 02 Jun 2014 17:21:00 +0000</pubDate><atom:updated>2014-06-02T10:21:07.644-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">0365</category><category domain="http://www.blogger.com/atom/ns#">feature</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">upgrade</category><category domain="http://www.blogger.com/atom/ns#">webtemplate</category><title>Upgradable Sharepoint Webtemplates - Introduction</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
This post is about creating web templates that are upgradable, the method I&#39;m using here is using several features to upgrade the site template.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s see the requirement for this, think that your client has a requirement for creating a team site which has a template that is different from the out of the box team site, this may include the contents of the site or even the structure of the site. Your client may ask for a set of lists and libraries that are to be created when a new site is created and the site may have pages that are to be created and webparts are to be placed at those pages.&lt;br /&gt;
&lt;br /&gt;
It may sound simple and you may think that creating a simple site and saving the web template will do the trick, well at some times it will but what if your client comes up with a new library to be added to all the site that are created ?.&lt;br /&gt;
&lt;br /&gt;
Of course you can create a new template after adding the new library, then what happens to all the sites that are already created ?, you may go to each and every site and create the library, what if there are hundreds of sites created ? , will it be practical to go to each site and add the library the answer is No because nobody is ready to do a task like this, You may of course use powershell script or a simple console application to do this but even that may not be possible in production environments.&lt;br /&gt;
&lt;br /&gt;
So lets go to the solution, that is creating a web template and using several features to deploy the content and structure by doing this you can simply update the sites that are created and the site are to be created in the future.&lt;br /&gt;
&lt;br /&gt;
This blog post series will have three more posts&lt;br /&gt;
1. Updating lists, adding lists&lt;br /&gt;
2. Updating webparts&lt;br /&gt;
3. Updating Webpart pages&lt;br /&gt;
&lt;br /&gt;
The concept behind this is Feature Updating and all this is done using sandboxed solutions because it will work in Sharepoint Online as well.&lt;br /&gt;
I&#39;m going to create 3 different features and show how to update them, when you create the site you can simply activate them and create a template from it and by upgrading the features you can simply update the sites.&lt;br /&gt;
&lt;br /&gt;
Only problem you may face here is activating a new feature to existing sites, that of course will have to be done using the powershell.&lt;br /&gt;
&lt;br /&gt;
Hope you find this post useful.&lt;br /&gt;
-Guruparan-</description><link>http://guruparang.blogspot.com/2014/06/upgradable-sharepoint-webtemplates.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-7873004037013228011</guid><pubDate>Sun, 11 May 2014 17:47:00 +0000</pubDate><atom:updated>2014-05-11T10:52:35.584-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">jquery</category><category domain="http://www.blogger.com/atom/ns#">plugin</category><title>Creating a JQuery Plugin</title><description>Hi Readers&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
This post is about creating a plugin using JQuery.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
You may have used many plugins that are developed using jquery and wondered how they are developed,&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
I expect you to know the basics of jqurey to understand this post but will make it as simple as possible.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
This post will explain how to create a simple textbox which is a readonly textbox and getting and setting the value will be done via the methods that we create, there is a method to reset the value as well.&lt;/div&gt;
&lt;br /&gt;
Now lets see the coding, all explanations are given as comments.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;// Option gets the option settings or the function name
// value is to get the value for setters
$.fn.CustomTextBox = function (option, value) {

    // If options are passed then initialize the textbox
    if (typeof (option) == &#39;object&#39;) {
        //Append the textbox
        //its recommended that you put a class name so that its easy for styling
        $(this).append(&quot;&amp;lt;input readonly=&quot;&quot; type=&quot;text&quot; value=&quot;&quot; + option.Text + &quot;&quot; /&amp;gt;&quot;);
        //Store the default value in the data so that it can be accessed later
        //This method can be used to store the server urls and other setting which needed
        //to be accessed later
        $(this).data(&quot;Default&quot;, option.Text);
    }
    // If a string is passed its assumed that it a method call
    else {
        //Switch the method based on the string passed
        switch (option) {

            case &quot;Set&quot;:
                //If its set then set the value of the textbox
                $(this).find(&quot;input&quot;).val(value);
                break;
            case &quot;Get&quot;:
                //If its get the return the value of the textbox
                return $(this).find(&quot;input&quot;).val();
                break
            case &quot;Reset&quot;:
                //if its reset the get the default value from the data variable and 
                //set it to the textbox
                $(this).find(&quot;input&quot;).val($(this).data(&quot;Default&quot;));
                break;
        }
    }
}

$(document).ready(function () {
    //Initialize the textbox
    $(&quot;#container&quot;).CustomTextBox({ Text: &quot;Default Text&quot; });

    $(&quot;#btnSetValue&quot;).click(function () {
        //set the value of the text box
        $(&quot;#container&quot;).CustomTextBox(&#39;Set&#39;, &quot;New Value&quot;);
    });

    $(&quot;#btnGetValue&quot;).click(function () {
        //get the value of the text box and alert it
        alert($(&quot;#container&quot;).CustomTextBox(&#39;Get&#39;));
    });

    $(&quot;#btnResetValue&quot;).click(function () {
        //reset the value of the text box
        $(&quot;#container&quot;).CustomTextBox(&#39;Reset&#39;);
    });
});
&lt;/pre&gt;
&lt;br /&gt;
Now lets see the html section
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;&amp;lt;div id=&quot;container&quot;&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;input type=&quot;button&quot; id=&quot;btnSetValue&quot; value=&quot;Set Value&quot; /&amp;gt;
&amp;lt;input type=&quot;button&quot; id=&quot;btnGetValue&quot; value=&quot;Get Value&quot; /&amp;gt;
&amp;lt;input type=&quot;button&quot; id=&quot;btnResetValue&quot; value=&quot;Reset Value&quot; /&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
So thats how you create a simple Jquery plugin.&lt;br /&gt;
Happy Coding :)&lt;br /&gt;
-Guru- </description><link>http://guruparang.blogspot.com/2014/05/creating-jquery-plugin.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-8798157301744332399</guid><pubDate>Fri, 11 Apr 2014 18:26:00 +0000</pubDate><atom:updated>2014-04-11T11:28:08.356-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">pagination</category><category domain="http://www.blogger.com/atom/ns#">results</category><category domain="http://www.blogger.com/atom/ns#">sql server</category><title>SQL server Pagination</title><description>Hi Readers&lt;br /&gt;
&lt;br /&gt;
This post is about getting sql server results in a paginated manner,&lt;br /&gt;
&lt;br /&gt;
Lets see the requirement&lt;br /&gt;
Simply when some one is requesting for a list of data you dont want to retrieve all records from the database and show it to the end user, this will affect the performance of the application and the user will be getting thousands on rows in a single request, think of the network traffic that can make.&lt;br /&gt;
So the solution will be getting only a subset of data, that is by pages. Show 1st 10 records of data then show the next 10.&lt;br /&gt;
&lt;br /&gt;
This is easy to do when it you need to show the data that is already ordered by the primary key. you can use it to get the set of records easily, but what if its a dataset that you are showing for a search result, then the order will not be there.&lt;br /&gt;
&lt;br /&gt;
Let see a way to achieve this.&lt;br /&gt;
The datasource used for this example is from the Adventure works database.&lt;br /&gt;
&amp;nbsp;We are using the product table in production schema.&lt;br /&gt;
&lt;br /&gt;
Lets take the first 10 rows&lt;br /&gt;
ProductID&amp;nbsp;&amp;nbsp;&amp;nbsp; Name&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adjustable Race&lt;br /&gt;
2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bearing Ball&lt;br /&gt;
3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BB Ball Bearing&lt;br /&gt;
4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Headset Ball Bearings&lt;br /&gt;
316&amp;nbsp;&amp;nbsp;&amp;nbsp; Blade&lt;br /&gt;
317&amp;nbsp;&amp;nbsp;&amp;nbsp; LL Crankarm&lt;br /&gt;
318&amp;nbsp;&amp;nbsp;&amp;nbsp; ML Crankarm&lt;br /&gt;
319&amp;nbsp;&amp;nbsp;&amp;nbsp; HL Crankarm&lt;br /&gt;
320&amp;nbsp;&amp;nbsp;&amp;nbsp; Chainring Bolts&lt;br /&gt;
321&amp;nbsp;&amp;nbsp;&amp;nbsp; Chainring Nut&lt;br /&gt;
&lt;br /&gt;
There are two ways to achieve this&lt;br /&gt;
1st way is to use the offset keyword (Available from SQL server 2012) &lt;br /&gt;
2nd way is to use the row number and get results&lt;br /&gt;
&lt;br /&gt;
Method 1&lt;br /&gt;
Offset - Fetch Method Introduced with SQL Server 2012&lt;br /&gt;
This method used the new clause that is offset and fetch&lt;br /&gt;
Here we&#39;ll have to first use the order by to order the results and fetch the records we need.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;SELECT  [ProductID]
      ,[Name]
FROM [AdventureWorks2012].[Production].[Product]
ORDER BY Name
OFFSET N ROWS
FETCH NEXT M ROWS ONLY
&lt;/pre&gt;
&lt;br /&gt;
This code skips the first &#39;N&#39; number of rows and returns the next &#39;M&#39; number of rows.You can use this for pagination by setting the N to the count that you have already read and the items per page as M.&lt;br /&gt;
&lt;br /&gt;
Method 2&lt;br /&gt;
Ranking the results&lt;br /&gt;
This method simply ranks the results and you can use the rank to get the result set you want using a where clause. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;SELECT T.*
FROM
(
    SELECT *,ROW_NUMBER() OVER (ORDER BY NAME DESC) AS [rank]
    FROM [AdventureWorks2012].[Production].[Product]
) AS T
WHERE T.[rank]&amp;gt;((@PageNo*@Count)-@Count) and T.[rank]&amp;lt;(@PageNo*@Count)+1
&lt;/pre&gt;
Here the @PageNo is the number of the page you need details for and the @Count is the number of items per page.&lt;br /&gt;
&lt;br /&gt;
These are simple techniques that i used in one of my projects.&lt;br /&gt;
&lt;br /&gt;
Happy Coding :)&lt;br /&gt;
-Guruparan-&lt;br /&gt;
</description><link>http://guruparang.blogspot.com/2014/04/sql-server-pagination.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-7395870158902876030</guid><pubDate>Sun, 21 Jul 2013 03:46:00 +0000</pubDate><atom:updated>2013-07-20T20:46:56.173-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">guide</category><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2013</category><category domain="http://www.blogger.com/atom/ns#">step by step sharepoint</category><title>Installing Sharepoint 2013</title><description>This post will be a guide on installing sharepoint 2013.&lt;br /&gt;
This will be a process which has several steps.&lt;br /&gt;
First we&#39;ll have to run the Sharepoint Prerequisite installer which will check for some software in your server and install them if they are not available enable the required roles in the server.&lt;br /&gt;
&lt;br /&gt;
Step 1 - Prerequisite installer&lt;br /&gt;
&lt;br /&gt;
The Prerequisite installer is very simple and you just have to click the next buttons to continue with the setup.&lt;br /&gt;
As this enables some some server roles this will require you to restart the server. &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicMPackE-sqGFf0BkP8Gi49iOuOuNboFIa6ArpGL9LEvTuXHAarBaCIpCAbPcLctkqu_RmVx1aqL7OSdbY59XNLgg65VBkWpk3FlZ-c41F6cz8f5q5UsNmWTP1PSpuMjrp0CDaXyrKfUc0/s1600/1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicMPackE-sqGFf0BkP8Gi49iOuOuNboFIa6ArpGL9LEvTuXHAarBaCIpCAbPcLctkqu_RmVx1aqL7OSdbY59XNLgg65VBkWpk3FlZ-c41F6cz8f5q5UsNmWTP1PSpuMjrp0CDaXyrKfUc0/s320/1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0-xKn0te7Fja9HbS3s-cX_Wyy8L9RZgRPnGtjeu16-GaFn5p2enlaSYtpTH8Q2ny61UXvwa8ePJeA_QqgW-RnGX-6ezyk9GNpoY0d5yY-zs3yUlJ0sbroQLcWqREKKyGpDrsjWCei0lZs/s1600/2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0-xKn0te7Fja9HbS3s-cX_Wyy8L9RZgRPnGtjeu16-GaFn5p2enlaSYtpTH8Q2ny61UXvwa8ePJeA_QqgW-RnGX-6ezyk9GNpoY0d5yY-zs3yUlJ0sbroQLcWqREKKyGpDrsjWCei0lZs/s320/2.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitGMjTYAun8qWXLQR088eEMsixUkvP0yrWraCHMMJBtZk1PrsPgaijTBaN5om2jN_qyq26R7ClDyojBaLVMuPDTbPpH36fPXkhkyh5x4LOZ8WQn1V374kc9nR3GYIeo_7NeaFa09_2G4Nl/s1600/3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitGMjTYAun8qWXLQR088eEMsixUkvP0yrWraCHMMJBtZk1PrsPgaijTBaN5om2jN_qyq26R7ClDyojBaLVMuPDTbPpH36fPXkhkyh5x4LOZ8WQn1V374kc9nR3GYIeo_7NeaFa09_2G4Nl/s320/3.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtTB1zcp6jFHItPkmnuYHFIyizMQi3TbYiWBMp1Y8Zj-jnBVgjwo6rENyj_sZEMghgZLYAEnORzp-iPJ8DK1NxDQHo0tRbLAo5FQGL_e-mdmQaoqoLmWAYil3vowqSGA8ZkVFbCkceS3Q/s1600/4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtTB1zcp6jFHItPkmnuYHFIyizMQi3TbYiWBMp1Y8Zj-jnBVgjwo6rENyj_sZEMghgZLYAEnORzp-iPJ8DK1NxDQHo0tRbLAo5FQGL_e-mdmQaoqoLmWAYil3vowqSGA8ZkVFbCkceS3Q/s320/4.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL6Cm8uoaoSURWWps68V8DWvIF9XfjAHzIMPjlqacRT4ibNImJgDPTA5IJQgmmas4ooirW6KB7pX8kv6eKnI6g6IdsD8ADSFnOH7G1SpzkknbUhc0Qe-x9Sl_os-j6TOjZaDTd50RdGZex/s1600/5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL6Cm8uoaoSURWWps68V8DWvIF9XfjAHzIMPjlqacRT4ibNImJgDPTA5IJQgmmas4ooirW6KB7pX8kv6eKnI6g6IdsD8ADSFnOH7G1SpzkknbUhc0Qe-x9Sl_os-j6TOjZaDTd50RdGZex/s320/5.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQlJNs1oAJX9zLQ0jqvEI2ymds6xkyTpzJRb4mtuvWomZty7dVO-3-ec1xrZIijuR7-n99-LQoy-UbQVPDa2ZZSTrLQJWcYTMLZuKDymMMjARyxO2vQX6TrLckny_lOnU4wgVDOQTM7oSZ/s1600/6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQlJNs1oAJX9zLQ0jqvEI2ymds6xkyTpzJRb4mtuvWomZty7dVO-3-ec1xrZIijuR7-n99-LQoy-UbQVPDa2ZZSTrLQJWcYTMLZuKDymMMjARyxO2vQX6TrLckny_lOnU4wgVDOQTM7oSZ/s320/6.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Step 2 - The Sharepoint setup&lt;br /&gt;
first open the setup.exe&lt;br /&gt;
&lt;br /&gt;
It&#39;ll require you the key , you can provide the key that you purchased from Microsoft.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNCsx0ZxiCzE_-J7cBl0dWIoy0NdnMMJLjAR7A5i3MpXT8MrOZkVvWyvi9_5lSzvA8fuVmurNFuJoiGuA9-KH05MRU5mSIAfpIXs1CI4zc2A5Nzx96Y4Ix9cltZ4Z-JlWrHqY_83FIlQ7x/s1600/1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNCsx0ZxiCzE_-J7cBl0dWIoy0NdnMMJLjAR7A5i3MpXT8MrOZkVvWyvi9_5lSzvA8fuVmurNFuJoiGuA9-KH05MRU5mSIAfpIXs1CI4zc2A5Nzx96Y4Ix9cltZ4Z-JlWrHqY_83FIlQ7x/s320/1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Then the license agreement, well accept that and click continue.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRUFkiL_QTol0eajeqJGOVF_HrlYWBQzv7mxw-H-cys5ZALWti_HX1nljRPdsCCNknujBqFxW2WeJs2_gmz43KI1gbYh_bho9KadfvG6dT6ZbY7Tk-LzFoVQBNDZpzOBeg2-AH-6N0HGM1/s1600/2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;259&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRUFkiL_QTol0eajeqJGOVF_HrlYWBQzv7mxw-H-cys5ZALWti_HX1nljRPdsCCNknujBqFxW2WeJs2_gmz43KI1gbYh_bho9KadfvG6dT6ZbY7Tk-LzFoVQBNDZpzOBeg2-AH-6N0HGM1/s320/2.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Then you&#39;ll have to select the installation type, here I&#39;m installing for a farm so its a full installation, you can do a stand alone installation for development environments.&lt;br /&gt;
this step will require you to select the file locations as well.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVoMl43ylXhZPNsNREfth_oJo0-VILsM8COOg5dJGREJq7Hs9uYPetPgHqu5t4aB9u0aqseBb45CapAHgfjHzW5ZQ-O8iovmYiUrJQh8lgKVjGu6-E_C7FMQ0w9m0HcHf45EHvJWk_QmJz/s1600/3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;261&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVoMl43ylXhZPNsNREfth_oJo0-VILsM8COOg5dJGREJq7Hs9uYPetPgHqu5t4aB9u0aqseBb45CapAHgfjHzW5ZQ-O8iovmYiUrJQh8lgKVjGu6-E_C7FMQ0w9m0HcHf45EHvJWk_QmJz/s320/3.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQwXGCIeMGk2DIsAbv3rfNFPtYqr6Y15wGL-XFy_3hITwImCNGQzgI4mo5sxHqXffCu_TIywXJ-AI_U_E6wv2f0BOrzRvPbOfoYdZ0mvSV8cbYGG8QbRueaH1s7dovJ373DsnPP0g8v4LB/s1600/4.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQwXGCIeMGk2DIsAbv3rfNFPtYqr6Y15wGL-XFy_3hITwImCNGQzgI4mo5sxHqXffCu_TIywXJ-AI_U_E6wv2f0BOrzRvPbOfoYdZ0mvSV8cbYGG8QbRueaH1s7dovJ373DsnPP0g8v4LB/s320/4.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;Then it will install Sharepoint 2013 in your server.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi13B7639nBvm3BGggo0nKSfYtlOephO-x8KjVILH4KDy-mLmlPkYYjedwCFkz_aoVhWoRw4SjgcY9U_lCfbYYOiI7PfonzP6YiwORhgyJr_qnt6IHdlzi1ellW7ZkuZs1b4Vx37P8FmN9E/s1600/5.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi13B7639nBvm3BGggo0nKSfYtlOephO-x8KjVILH4KDy-mLmlPkYYjedwCFkz_aoVhWoRw4SjgcY9U_lCfbYYOiI7PfonzP6YiwORhgyJr_qnt6IHdlzi1ellW7ZkuZs1b4Vx37P8FmN9E/s320/5.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
when the installation is done you can start the configuration wizard.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHxOvHzIPk-ZRiNyh0LvFfbLKGtWaFXLy0UTSeiX4CZiQspn1iNEnQwN9Gkiy787Lx6RdwzmXAJyzfW3hTjtPcHQ_4e_2OALEheXZRt7riB1rArifjlLisRiHE2UjAUswuZOH12Rh_q0yz/s1600/6.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHxOvHzIPk-ZRiNyh0LvFfbLKGtWaFXLy0UTSeiX4CZiQspn1iNEnQwN9Gkiy787Lx6RdwzmXAJyzfW3hTjtPcHQ_4e_2OALEheXZRt7riB1rArifjlLisRiHE2UjAUswuZOH12Rh_q0yz/s320/6.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Step 3 - Sharepoint Product configuration wizard&lt;br /&gt;
&lt;br /&gt;
This will help you to do the required configuration for Sharepoint.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglj0ijXKb5_ys8zPjMPj-Ey7O9pPeoNZYdLht92hGo-uNlS1RKm1J7Q85Odsag3Xrq9dsVTu4kQTXW55xOqH0lvjLkGGP7ynlZ03LP66-m48as7Aici4eUpfQC_35BmWjm5uqPpl7KbIAA/s1600/7.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;276&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglj0ijXKb5_ys8zPjMPj-Ey7O9pPeoNZYdLht92hGo-uNlS1RKm1J7Q85Odsag3Xrq9dsVTu4kQTXW55xOqH0lvjLkGGP7ynlZ03LP66-m48as7Aici4eUpfQC_35BmWjm5uqPpl7KbIAA/s320/7.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
when you click it&#39;ll ask whether to start some required services, click yes to continue.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-YYEy836QnQrWh2i-SuDr5azQnyjirYtTPB1yCOnhLu1ENewP3LZTpLpa-h7x4gaNEbccj3-Tzho43gdjMiNZyjTviU2mzqD3kBemQHzTe2xiq_cWf0tLvu6pLuIwiKhKLXA3a1F9UPtw/s1600/8.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-YYEy836QnQrWh2i-SuDr5azQnyjirYtTPB1yCOnhLu1ENewP3LZTpLpa-h7x4gaNEbccj3-Tzho43gdjMiNZyjTviU2mzqD3kBemQHzTe2xiq_cWf0tLvu6pLuIwiKhKLXA3a1F9UPtw/s320/8.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the next step you can choose to connect to an existing sharepoint farm or to create a new farm.&lt;br /&gt;
in this post we are going to create a new farm.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWnoy5-uAmubSTR5RYHxEKX0xT5MhzlPzQsXoZugsbRXUiQrTSxeuU0FJ439fS6M0KT403cSVNg2tCivG5AFi4gDqCQWK1pPgig6xdAUJ3eHGp6D7eXg1svA_XBy4opftjMi8RpoOHIfSx/s1600/9.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;276&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWnoy5-uAmubSTR5RYHxEKX0xT5MhzlPzQsXoZugsbRXUiQrTSxeuU0FJ439fS6M0KT403cSVNg2tCivG5AFi4gDqCQWK1pPgig6xdAUJ3eHGp6D7eXg1svA_XBy4opftjMi8RpoOHIfSx/s320/9.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;Then you&#39;ll have to select the database server for farm, it can even be the same machine if you are setting up a single machine.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrP4g2icauNlmfxEUZfjlxxi4zaj8T8VFmC_178QGvVM8GXkxct97IQsXEsc7kw1s7ycQBt9kMRk6EkesTOp6dkh5rwFJCdwn3k8aiFf8p7Sd7960nucZFESNINg-Dkk-Kru6kXE0htBaH/s1600/10.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;274&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrP4g2icauNlmfxEUZfjlxxi4zaj8T8VFmC_178QGvVM8GXkxct97IQsXEsc7kw1s7ycQBt9kMRk6EkesTOp6dkh5rwFJCdwn3k8aiFf8p7Sd7960nucZFESNINg-Dkk-Kru6kXE0htBaH/s320/10.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
then you&#39;ll have to give the farm password.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkMMdK5fT1AVa5x__SmnWBIMKxxMa7KqzvPzBsaqTnmwKB_XDsDvexASwyx-q9X0IrF_y4SaSmhS5JsmacWfcWB2JEIOsXu8jl0bjTJyzlfS1AXbK-FsibnI96Nrzb6iai1xf5WQpNlIEX/s1600/11.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkMMdK5fT1AVa5x__SmnWBIMKxxMa7KqzvPzBsaqTnmwKB_XDsDvexASwyx-q9X0IrF_y4SaSmhS5JsmacWfcWB2JEIOsXu8jl0bjTJyzlfS1AXbK-FsibnI96Nrzb6iai1xf5WQpNlIEX/s320/11.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The next step will be selecting the port for Central Administration and the security type&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNANWOQnV9zOELq9BXpfM6sBCshQvXMANmI929FGP6RcI3J7YY13_7xJJRZvQ04Tg-mtCVnF9yqAbPLoVTRGdbzbCjqZz7inqekomZd0qTtmJgcPX7ieDQHCIPCt2X2cbs5ugJSdQaB5i/s1600/12.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirNANWOQnV9zOELq9BXpfM6sBCshQvXMANmI929FGP6RcI3J7YY13_7xJJRZvQ04Tg-mtCVnF9yqAbPLoVTRGdbzbCjqZz7inqekomZd0qTtmJgcPX7ieDQHCIPCt2X2cbs5ugJSdQaB5i/s320/12.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
The next page will be a summary of the information you have just provided,&lt;br /&gt;
you can click next if everything is ok.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdc76NjwHEm7f5R458Og0FijZRNJWN7C4i3n515zx7C9h7Vx7xbhRlyZKs2yr80EAAwPV8PP2Txy7a6GjyVxw3M-qYGOHuDTxbeM0_sN4spmqJr24BnaVtbfBl5b3wE04gCl6LedsQRTji/s1600/13.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;274&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdc76NjwHEm7f5R458Og0FijZRNJWN7C4i3n515zx7C9h7Vx7xbhRlyZKs2yr80EAAwPV8PP2Txy7a6GjyVxw3M-qYGOHuDTxbeM0_sN4spmqJr24BnaVtbfBl5b3wE04gCl6LedsQRTji/s320/13.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Now the configuration wizard will run and do the required configuration.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVPPVw5juTKvuGBjJNYWow9G6-OGTL1JjdhfMGWgQ4YuM_5ZWZCI6-jTG6CgaUYMgWABIqBQAuRt_fTncom2rwZe20EBiS9yVXcut9z9N_-Wlw-4C4vhmZdZh1v4ZTVHvcFGk3V-N3h0Pr/s1600/14.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;273&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVPPVw5juTKvuGBjJNYWow9G6-OGTL1JjdhfMGWgQ4YuM_5ZWZCI6-jTG6CgaUYMgWABIqBQAuRt_fTncom2rwZe20EBiS9yVXcut9z9N_-Wlw-4C4vhmZdZh1v4ZTVHvcFGk3V-N3h0Pr/s320/14.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
After the wizard complete it&#39;ll show a summary again saying that the configuration is successful.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV8vjSv2DURX5CLfG3LPBunL5vFuMudwaW2sk0ViPuhM9B0mWgpvqNabvdcx3ZsDAfgENmvEhgdB0uEYCOpFgg4dOr-O8FeSRC8J6sIovyXo1PIsf8kY454EG_YWFqkM0qyTZGVwXYpizb/s1600/15.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV8vjSv2DURX5CLfG3LPBunL5vFuMudwaW2sk0ViPuhM9B0mWgpvqNabvdcx3ZsDAfgENmvEhgdB0uEYCOpFgg4dOr-O8FeSRC8J6sIovyXo1PIsf8kY454EG_YWFqkM0qyTZGVwXYpizb/s320/15.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now that the installation and configuration is done, you can open the Central Administration using Internet Explorer.&lt;br /&gt;
&lt;br /&gt;
Step 4 - Central Administration&lt;br /&gt;
The first window will ask you whether you want to be enrolled in the customer experience improvement program, select your preference.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbEZBAtwlzLKJRWgOuKps71q0yQoS_-VL1YWlMQ1TkqOib76wRL65YmoYG-r15PBPehhInPgTfq9NXEI7NtCHc_ycQW9LKn8ih4OFdMY1sEzBh6mbfG2UGx6yGcdgbuRq9xldrpG8zq46F/s1600/16.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbEZBAtwlzLKJRWgOuKps71q0yQoS_-VL1YWlMQ1TkqOib76wRL65YmoYG-r15PBPehhInPgTfq9NXEI7NtCHc_ycQW9LKn8ih4OFdMY1sEzBh6mbfG2UGx6yGcdgbuRq9xldrpG8zq46F/s320/16.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Then the CA will show you a page to do the required configuration. you can choose to do it later.&lt;br /&gt;
this is basically starting the services.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1TLxLDEQVTdmf_e8R7cb64xL_U20YoepuAZCtpoolfQIqAVjqbbSsLx3lF4FcIyENN8Q_EZa9kAnXIfv6C14Vg6MaKX57faDU-x0kgdPmQBZJbfCRB1vX9NokPf4MhGa0WWuOJMmPDyav/s1600/17.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1TLxLDEQVTdmf_e8R7cb64xL_U20YoepuAZCtpoolfQIqAVjqbbSsLx3lF4FcIyENN8Q_EZa9kAnXIfv6C14Vg6MaKX57faDU-x0kgdPmQBZJbfCRB1vX9NokPf4MhGa0WWuOJMmPDyav/s320/17.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
if you choose to start the wizard you&#39;ll be shown a list of service applications that are to be started.&lt;br /&gt;
you can choose the ones you want to run in your farm. you can provide an account for the service applications.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGK2jYfSnKogdXKZoQlVZbzaxWMw7xXn6yLjyuU4aRagcAFBbIPKYJm-FP5A-GUFiJusrLBAgXEOoHqDqX_tcZp0vI_7k670puvxEO5qykl-jFi2YYTANRpNVPeDMSr0t84ZB7W13zn3Jr/s1600/18.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGK2jYfSnKogdXKZoQlVZbzaxWMw7xXn6yLjyuU4aRagcAFBbIPKYJm-FP5A-GUFiJusrLBAgXEOoHqDqX_tcZp0vI_7k670puvxEO5qykl-jFi2YYTANRpNVPeDMSr0t84ZB7W13zn3Jr/s320/18.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
When you click next, it will show the Working on it window, after that you can create web applications.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3QVEhPArLj3ZXn4nFaEGF2fq2AW1dK_iszRpfR0sykCqu7Oa1hMnMpxZG8SUablsNbrLT8sIYKildbE7VEtBF6A5ZiRSLxUqPuY-IodCl1-22T4GDBJpnW7gP9LVFsGzerUQpyWW-Ces9/s1600/19.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3QVEhPArLj3ZXn4nFaEGF2fq2AW1dK_iszRpfR0sykCqu7Oa1hMnMpxZG8SUablsNbrLT8sIYKildbE7VEtBF6A5ZiRSLxUqPuY-IodCl1-22T4GDBJpnW7gP9LVFsGzerUQpyWW-Ces9/s320/19.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thats it your Sharepoint 2013 farm is ready :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://guruparang.blogspot.com/2013/07/installing-sharepoint-2013.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicMPackE-sqGFf0BkP8Gi49iOuOuNboFIa6ArpGL9LEvTuXHAarBaCIpCAbPcLctkqu_RmVx1aqL7OSdbY59XNLgg65VBkWpk3FlZ-c41F6cz8f5q5UsNmWTP1PSpuMjrp0CDaXyrKfUc0/s72-c/1.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-2905386394406014618</guid><pubDate>Wed, 10 Jul 2013 12:36:00 +0000</pubDate><atom:updated>2013-07-10T05:36:09.451-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">certificate</category><category domain="http://www.blogger.com/atom/ns#">connect farms</category><category domain="http://www.blogger.com/atom/ns#">federate</category><category domain="http://www.blogger.com/atom/ns#">service</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2013</category><category domain="http://www.blogger.com/atom/ns#">sharepoint service 2010 federate 2013</category><title>Federating Sharepoint Services between Farms</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
In this post i&#39;ll explain how to federate and access a Sharepoint 2013 service application from Sharepoint 2010.&lt;br /&gt;
&lt;br /&gt;
The concept is simple both farms will need to have a trust relationship,&lt;br /&gt;
this relationship is established by exchanging certificate between farms.&lt;br /&gt;
&lt;br /&gt;
All the Commands given in this post will have to be run on the machine which the Central Administration is running.&lt;br /&gt;
&lt;br /&gt;
First you&#39;ll need to get the certificate from the Consumer Farm, here the 2010 Farm.&lt;br /&gt;
Here you&#39;ll need to get the Root Certificate and the Security Token Service Certificate.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;$rootCert = (Get-SPCertificateAuthority).RootCertificate 
$rootCert.Export(&quot;Cert&quot;) | Set-Content &quot;C:\ConsumerFarmRoot.cer&quot; -Encoding byte 

$stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate 
$stsCert.Export(&quot;Cert&quot;) | Set-Content &quot;C:\ConsumerFarmSTS.cer&quot; -Encoding byte

&lt;/pre&gt;
&lt;br /&gt;
Then we&#39;ll need to get the Root Certificate from the Publisher Farm&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;$rootCert = (Get-SPCertificateAuthority).RootCertificate 
$rootCert.Export(&quot;Cert&quot;) | Set-Content &quot;C:\PublisherFarmRoot.cer&quot; -Encoding byte
&lt;/pre&gt;
&lt;br /&gt;
Then we&#39;ll have to exchange (Copy) the certificates between the farms.&lt;br /&gt;
&lt;br /&gt;
After exchanging the certificates between the farms we&#39;ll have to establish the trust between farms.&lt;br /&gt;
&lt;br /&gt;
Creating trust in Publisher Farm
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;Create trusted Authority
$trustCert = Get-PfxCertificate &quot;C:\ConsumerFarmRoot.cer&quot; 
New-SPTrustedRootAuthority &quot;ConsumerFarm&quot; -Certificate $trustCert

Create trusted token issuer
$stsCert = Get-PfxCertificate &quot;c:\ConsumerFarmSTS.cer&quot; 
New-SPTrustedServiceTokenIssuer &quot;ConsumerFarm&quot; -Certificate $stsCert
&lt;/pre&gt;
&lt;br /&gt;
Now you&#39;ll have to do some security configuration&lt;br /&gt;
First Get the GUID of the Consumer Farm&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;(Get-SPFarm).Id&lt;/pre&gt;
&lt;br /&gt;
Then give access to Publisher farm (Run in Publisher farm)&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;$security = Get-SPTopologyServiceApplication | Get-SPServiceApplicationSecurity
$claimProvider = (Get-SPClaimProvider System).ClaimProvider
$principal = New-SPClaimsPrincipal -ClaimType &quot;http://schemas.microsoft.com/sharepoint/2009/08/claims/farmid&quot; –ClaimProvider  $claimProvider -ClaimValue  ConsumerFarmID
Grant-SPObjectSecurity -Identity $security -Principal $principal -Rights &quot;Full Control&quot;
Get-SPTopologyServiceApplication | Set-SPServiceApplicationSecurity -ObjectSecurity $security
&lt;/pre&gt;
&lt;br /&gt;
Now we&#39;ll have to get the information from the service application of 2013 and create a service proxy in sharepoint 2010 central admin.&lt;br /&gt;
&lt;br /&gt;
First go to the Shapoint 2013 central Admin and Go to Application Management and the select the Manage Service Applications.&lt;br /&gt;
Then select the Service application that you want to federate and click publish on the ribbon&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUp4PCQEvEb_xqG7Dj7TmyV_H8YCg6TVuy5ziVujEslyRX-nDrfGxqhZNWUJt7zADtIzRc-m6AvTJgO_3DszKp_qw4gW3zYMwC9OKrdRCyrcrW67UBX1X9b6T_iu8GResi2hhUT8SAwQms/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;97&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUp4PCQEvEb_xqG7Dj7TmyV_H8YCg6TVuy5ziVujEslyRX-nDrfGxqhZNWUJt7zADtIzRc-m6AvTJgO_3DszKp_qw4gW3zYMwC9OKrdRCyrcrW67UBX1X9b6T_iu8GResi2hhUT8SAwQms/s320/1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
from the menu check the &quot;Publish this Service Application to other farms&quot;&lt;br /&gt;
and copy the Service URL.&lt;br /&gt;
&lt;br /&gt;
Then Click permissions from the ribbon and give full control to the Farm Admin of the Consumer farm.&lt;br /&gt;
&lt;br /&gt;
Now we have the service URL so we can create a proxy at the Consumer End and start using the service.&lt;br /&gt;
&lt;br /&gt;
In the Central admin of the consumer farm go to Application Management-&amp;gt;Manage Service Applications and the from the ribbon click connect and select the service type which you are going to access.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrhSeVhzBc6drPgwlvDGOyxkKqZQnhXuWiM361DKRos2fCzKuf8E7nBdHv6TBiNxWO2wnYHzzlILxGIJKBUFYCMHsGsNn0NXcRuISTm3PUxfrmo4Hh5G87XjSsVey-1PIi1FsKooqQL9p/s1600/2.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrhSeVhzBc6drPgwlvDGOyxkKqZQnhXuWiM361DKRos2fCzKuf8E7nBdHv6TBiNxWO2wnYHzzlILxGIJKBUFYCMHsGsNn0NXcRuISTm3PUxfrmo4Hh5G87XjSsVey-1PIi1FsKooqQL9p/s320/2.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVlLcaw59uljiTbukWGu8Jir-vNss1XSf8yLjCr2l5aL95cMf3WAjlL5TVbos4ecuCm6E8jtFU_8GnjCa0Se6G6atPPBP3HPQFNljUhAAXLMFFPJOVjh6xcv0W3eN7lGAsbAzvkDvQMOOW/s1600/3.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVlLcaw59uljiTbukWGu8Jir-vNss1XSf8yLjCr2l5aL95cMf3WAjlL5TVbos4ecuCm6E8jtFU_8GnjCa0Se6G6atPPBP3HPQFNljUhAAXLMFFPJOVjh6xcv0W3eN7lGAsbAzvkDvQMOOW/s320/3.PNG&quot; /&gt;&lt;/a&gt;

&lt;br /&gt;
Then give the URL of the service address we copied from Publisher service click ok.&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyUS3ulOLbN2N4qr8v1ane2L4AGDmiB4CNUtITf25EPUpFGRCTid8UdvkiZWALENf5sU-sAi2TxRho73nxNTXt2qDrw80V2glqcreEOFCggHLHs-FhCAmQlWzLihXXQG3f1-qvOtTilZQ1/s1600/3.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyUS3ulOLbN2N4qr8v1ane2L4AGDmiB4CNUtITf25EPUpFGRCTid8UdvkiZWALENf5sU-sAi2TxRho73nxNTXt2qDrw80V2glqcreEOFCggHLHs-FhCAmQlWzLihXXQG3f1-qvOtTilZQ1/s320/3.PNG&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4BkJWok37nyeJylJgK7_czkxBklgj8TSYNEToPhoCyHlMW7d5Poo31-PmrFkGDRu5Ir27sIsWSO457mjTOVmr3TTDj-5OQdZgoq118Nv5baRKL6_dTNlbnSEdL1LIkYgwXUX5LgCZ4SFl/s1600/4.PNG&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4BkJWok37nyeJylJgK7_czkxBklgj8TSYNEToPhoCyHlMW7d5Poo31-PmrFkGDRu5Ir27sIsWSO457mjTOVmr3TTDj-5OQdZgoq118Nv5baRKL6_dTNlbnSEdL1LIkYgwXUX5LgCZ4SFl/s320/4.PNG&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now sharepoint will show you the available service at the location, select it and click OK, then you&#39;ll have to give a name for the proxy, when its done you can use the service of 2013 from 2010 applications.&lt;br /&gt;
&lt;br /&gt;
Please leave a comment :)&amp;nbsp; </description><link>http://guruparang.blogspot.com/2013/07/federating-sharepoint-services-between.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUp4PCQEvEb_xqG7Dj7TmyV_H8YCg6TVuy5ziVujEslyRX-nDrfGxqhZNWUJt7zADtIzRc-m6AvTJgO_3DszKp_qw4gW3zYMwC9OKrdRCyrcrW67UBX1X9b6T_iu8GResi2hhUT8SAwQms/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-4266015625123976724</guid><pubDate>Sat, 22 Jun 2013 19:16:00 +0000</pubDate><atom:updated>2013-06-22T12:16:40.972-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">explorer</category><category domain="http://www.blogger.com/atom/ns#">firefox</category><category domain="http://www.blogger.com/atom/ns#">firefox cross platform</category><category domain="http://www.blogger.com/atom/ns#">internet</category><category domain="http://www.blogger.com/atom/ns#">jquery</category><category domain="http://www.blogger.com/atom/ns#">jquery get</category><category domain="http://www.blogger.com/atom/ns#">jquery post</category><category domain="http://www.blogger.com/atom/ns#">jsonp</category><category domain="http://www.blogger.com/atom/ns#">rest</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><category domain="http://www.blogger.com/atom/ns#">wcf 4.5</category><category domain="http://www.blogger.com/atom/ns#">wcf get</category><category domain="http://www.blogger.com/atom/ns#">wcf post</category><title>Access WCF Rest Services from JQuery Part 2</title><description>This is the Part 2 of the Post.&lt;br /&gt;
You can find &lt;a href=&quot;http://guruparang.blogspot.com/2013/06/access-wcf-rest-services-from-jquery.html&quot;&gt;Part 1 Here&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
In this post we&#39;ll see how to access the service we created using JQuery.&lt;br /&gt;
&lt;br /&gt;
First we&#39;ll see the insert Employee part.&lt;br /&gt;
here we are posting the Employee object from&amp;nbsp; JQuery to WCF, As I&#39;m using IIS Express its localhost you can give your service url correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;$.ajax({
 url: &quot;http://localhost:53840/SampleService.svc/insertemployee&quot;,
 type: &quot;POST&quot;,
 processData: true,
 contentType: &quot;application/json&quot;,
 data: &#39;{&quot;Id&quot;:1, &quot;Name&quot;:&quot;Guru&quot;}&#39;,
 dataType: &quot;json&quot;,
 crossDomain : true,
 success: function(data) { alert(data) },
 error : function(data){alert(&#39;error&#39;)}
 
});

&lt;/pre&gt;
In this method we are getting all the employees as a json object array to the client side.&lt;br /&gt;
You do more by changing the Uri template and send information to the server side when using GET.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;$.ajax({
 url: &quot;http://localhost:53840/SampleService.svc/GetEmployees&quot;,
 type: &quot;GET&quot;,
 processData: true,
 contentType: &quot;application/json&quot;,
 dataType: &quot;json&quot;,
 crossDomain : true,
 success: function(data) { alert(data) },
 error : function(data){alert(&#39;error&#39;)}
 
});&amp;nbsp;&lt;/pre&gt;
&lt;br /&gt;
Thats it now you can access you service from JQuery.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.mediafire.com/?kv7hl1y76hilsb1&quot;&gt;Download Sample&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Please Leave a Comment.</description><link>http://guruparang.blogspot.com/2013/06/access-wcf-rest-services-from-jquery_22.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-5192482518685360480</guid><pubDate>Sat, 22 Jun 2013 19:03:00 +0000</pubDate><atom:updated>2013-06-22T12:03:46.801-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">explorer</category><category domain="http://www.blogger.com/atom/ns#">firefox</category><category domain="http://www.blogger.com/atom/ns#">firefox cross platform</category><category domain="http://www.blogger.com/atom/ns#">internet</category><category domain="http://www.blogger.com/atom/ns#">jquery</category><category domain="http://www.blogger.com/atom/ns#">jquery get</category><category domain="http://www.blogger.com/atom/ns#">jquery post</category><category domain="http://www.blogger.com/atom/ns#">jsonp</category><category domain="http://www.blogger.com/atom/ns#">rest</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><category domain="http://www.blogger.com/atom/ns#">wcf 4.5</category><category domain="http://www.blogger.com/atom/ns#">wcf get</category><category domain="http://www.blogger.com/atom/ns#">wcf post</category><title>Access WCF Rest Services from JQuery Part 1</title><description>Hi Readers, this post is about creating the wcf service that is going to be accessed from jquery,&lt;br /&gt;
&lt;br /&gt;
This service is very simple it allows you to add an employee via POST and retrieve all the employees via GET.&lt;br /&gt;
You can learn how to create a GET request and POST request.&lt;br /&gt;
&lt;br /&gt;
As the first step you’ll have to create a WCF service project in Visual Studio (I’m using 2012). Here I’m creating the project as “WCF Rest Sample”.&lt;br /&gt;
You can use the Service1 which comes as default but I’ve created a new service called “SampleService” so that it’s easy to understand.&lt;br /&gt;
&lt;br /&gt;
Then create the required classes, the given image shows the project structure.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMKxU_2lP4aQltbMOp02sTYBV8zjpciYOYJAomC_ZgZDOp2qWa37QO4HBi9Ey2vhaW1nJVLJ0_yAYZfqMhNDzcpjMdv11lXgazU6YN8IQW8BuNQKfBjA3m7VHZg3TfTRO2m0CgNUHsTJV2/s1600/1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMKxU_2lP4aQltbMOp02sTYBV8zjpciYOYJAomC_ZgZDOp2qWa37QO4HBi9Ey2vhaW1nJVLJ0_yAYZfqMhNDzcpjMdv11lXgazU6YN8IQW8BuNQKfBjA3m7VHZg3TfTRO2m0CgNUHsTJV2/s1600/1.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lets see the code for each class&lt;br /&gt;
&lt;br /&gt;
The data provider class is used to contain the employee objects, in real world you can use a database as the data source.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;public static class DataProvider
{
    private static List&amp;lt;Employee&amp;gt; Employees = new List&amp;lt;Employee&amp;gt;();

    public static List&amp;lt;Employee&amp;gt; GetEmployees()
    {
        return Employees;
    }

    public static void AddEmployee(Employee employee)
    {
        Employees.Add(employee);
    }
}
&lt;/pre&gt;
&lt;br /&gt;
The next class is our Entity Employee this will be transferred as Json&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;[DataContract]
public class Employee
{
    [DataMember]
    public int Id { get; set; }

    [DataMember]
    public string Name { get; set; }
}
&lt;/pre&gt;
&lt;br /&gt;
Then our service contract here the methods are declared and appropriate settings are made to change the request and response to json. &lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;[ServiceContract]
public interface ISampleService
{
    [OperationContract]
    [WebInvoke(ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
    int InsertEmployee(Employee employee);

    [OperationContract]
    [WebGet(ResponseFormat = WebMessageFormat.Json)]
    List&amp;lt;Employee&amp;gt; GetEmployees();
}
&lt;/pre&gt;
&lt;br /&gt;
This is the implementation for the service.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;public class SampleService : ISampleService
{
    public int InsertEmployee(Employee employee)
    {
        DataProvider.AddEmployee(employee);
        return 1;
    }

    public List&amp;lt;Employee&amp;gt; GetEmployees()
    {
        return DataProvider.GetEmployees();
    }
}&lt;/pre&gt;
&lt;br /&gt;
In the global.asax file only the Begin request method is modified so that the service can be accessed from Firefox and Chrome.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:csharp&quot;&gt;protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader(&quot;Access-Control-Allow-Origin&quot;, &quot;*&quot;);
    if (HttpContext.Current.Request.HttpMethod == &quot;OPTIONS&quot;)
    {
        HttpContext.Current.Response.AddHeader(&quot;Cache-Control&quot;, &quot;no-cache&quot;);
        HttpContext.Current.Response.AddHeader(&quot;Access-Control-Allow-Methods&quot;, &quot;GET, POST&quot;);
        HttpContext.Current.Response.AddHeader(&quot;Access-Control-Allow-Headers&quot;, &quot;Content-Type, Accept, x-requested-with&quot;);
        HttpContext.Current.Response.AddHeader(&quot;Access-Control-Max-Age&quot;, &quot;1728000&quot;);
        HttpContext.Current.Response.End();
    } 
}
&lt;/pre&gt;
&lt;br /&gt;
Now you&#39;ll have to do the appropriate changes the the web.config to turn the service into REST.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEzEqB21yaX5gHUJikpo0dwm3pMkDyk6SQxfqg5e38Cvi9qaqYhxV24d-q-d6Y-LAgy0vOVxDROaDa0UHhZ5MTbphpFYCYkm2Yo1JG5oMUCiJ9ijC-wePafYfuCn6934GGIX_78BPPkCbw/s1600/webconfig1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;253&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEzEqB21yaX5gHUJikpo0dwm3pMkDyk6SQxfqg5e38Cvi9qaqYhxV24d-q-d6Y-LAgy0vOVxDROaDa0UHhZ5MTbphpFYCYkm2Yo1JG5oMUCiJ9ijC-wePafYfuCn6934GGIX_78BPPkCbw/s320/webconfig1.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBy2pb7-fOJcf-Zv2SFIMabhw86uHvdOYr4d-WCQU_0qVw6L-SsOKpHuWcERc1-TOBPt6P34KokCKYRIygi2HHxaskWmM8S1YRhn7cNcHR7WoUPxioruvVHzu5uMIFTG0XgGLwJeUyQb0f/s1600/webconfig2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;219&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBy2pb7-fOJcf-Zv2SFIMabhw86uHvdOYr4d-WCQU_0qVw6L-SsOKpHuWcERc1-TOBPt6P34KokCKYRIygi2HHxaskWmM8S1YRhn7cNcHR7WoUPxioruvVHzu5uMIFTG0XgGLwJeUyQb0f/s320/webconfig2.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now you can run the service and see the methods that are available using the help page (Enabled in the Web.config file).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvYyMdZSPg00CY_mFnUs79d-QGUXYns0w1ie1trjjTPWYLMm7Wsv8SB5e5vmQYinIQ326OO8Fh_wMPFaJBHdUORVZ1S1K-6wiKaHn35uKPGoKTW_gSohHO05uS_ADYNvdv0PaxG8dCtQv/s1600/3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;83&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrvYyMdZSPg00CY_mFnUs79d-QGUXYns0w1ie1trjjTPWYLMm7Wsv8SB5e5vmQYinIQ326OO8Fh_wMPFaJBHdUORVZ1S1K-6wiKaHn35uKPGoKTW_gSohHO05uS_ADYNvdv0PaxG8dCtQv/s320/3.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now our service is ready to be called from JQuery.&lt;br /&gt;
The jquery part will be explained in Part 2.</description><link>http://guruparang.blogspot.com/2013/06/access-wcf-rest-services-from-jquery.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMKxU_2lP4aQltbMOp02sTYBV8zjpciYOYJAomC_ZgZDOp2qWa37QO4HBi9Ey2vhaW1nJVLJ0_yAYZfqMhNDzcpjMdv11lXgazU6YN8IQW8BuNQKfBjA3m7VHZg3TfTRO2m0CgNUHsTJV2/s72-c/1.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-4947765474620209176</guid><pubDate>Tue, 04 Jun 2013 10:29:00 +0000</pubDate><atom:updated>2013-06-04T03:29:46.570-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">merge</category><category domain="http://www.blogger.com/atom/ns#">sql</category><category domain="http://www.blogger.com/atom/ns#">sql server</category><category domain="http://www.blogger.com/atom/ns#">sync</category><category domain="http://www.blogger.com/atom/ns#">table</category><category domain="http://www.blogger.com/atom/ns#">table sync</category><title>Syncing tables using Merge in SQL Server</title><description>Hi Readers,&lt;br /&gt;
&lt;br /&gt;
In this post I&#39;ll explain how to use the &#39;Merge&#39; statement in sql server to Sync two tables.&lt;br /&gt;
For this we&#39;ll need two tables, one will act as the source and the other one will act as the destination.&lt;br /&gt;
&lt;br /&gt;
First create the required tables&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;CREATE TABLE SourceTable
(
 ID INT IDENTITY PRIMARY KEY,
 Name VARCHAR(100)
);

CREATE TABLE DestinationTable
(
 ID INT PRIMARY KEY,
 Name VARCHAR(100)
);&lt;/pre&gt;
&lt;br/&gt;&lt;br/&gt;
Then insert some data to the source table
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;INSERT INTO SourceTable VALUES(&#39;George&#39;);
INSERT INTO SourceTable VALUES(&#39;Saman&#39;);
INSERT INTO SourceTable VALUES(&#39;Kamal&#39;);
INSERT INTO SourceTable VALUES(&#39;Nimal&#39;);
INSERT INTO SourceTable VALUES(&#39;Sunil&#39;);
INSERT INTO SourceTable VALUES(&#39;Mark&#39;);
INSERT INTO SourceTable VALUES(&#39;Bill&#39;);
INSERT INTO SourceTable VALUES(&#39;Paul&#39;);
INSERT INTO SourceTable VALUES(&#39;Sean&#39;);
INSERT INTO SourceTable VALUES(&#39;Shane&#39;);
INSERT INTO SourceTable VALUES(&#39;Elvis&#39;);
&lt;/pre&gt;
Now we&#39;ll come to the Merge Statement&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;MERGE DestinationTable D
USING SourceTable S
ON D.ID=S.ID 
WHEN MATCHED AND D.Name!=S.Name THEN UPDATE SET D.Name=S.Name
WHEN NOT MATCHED BY SOURCE THEN DELETE
WHEN NOT MATCHED BY TARGET THEN INSERT(ID,Name) VALUES(S.ID,S.Name);
&lt;/pre&gt;
&lt;br /&gt;
As this is the first time , all the rows will be inserted&lt;br /&gt;
So we&#39;ll do some changes to the table (insert, update , delete)&lt;br /&gt;

&lt;pre class=&quot;brush: csharp&quot;&gt;DELETE FROM SourceTable WHERE Name=&#39;Bill&#39;;
UPDATE SourceTable SET Name=&#39;Mark2&#39; WHERE Name= &#39;Mark&#39;;
INSERT INTO SourceTable VALUES(&#39;Alex&#39;);
&lt;/pre&gt;

Now if we run the merge statement again we can see that both the tables are synced.

&lt;br/&gt;

You can schedule it to a job so that the tables will be in sync.


</description><link>http://guruparang.blogspot.com/2013/06/syncing-tables-using-merge-in-sql-server.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-4325714667369949905</guid><pubDate>Thu, 30 May 2013 09:31:00 +0000</pubDate><atom:updated>2013-06-03T02:41:02.602-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">c#</category><category domain="http://www.blogger.com/atom/ns#">visual studio</category><category domain="http://www.blogger.com/atom/ns#">web service</category><category domain="http://www.blogger.com/atom/ns#">wsdl</category><title>Using a WSDL file in C#</title><description>Hi Readers&lt;br /&gt;
&lt;br /&gt;
This Article is about using the WSDL file from a non .NET based service with C#.&lt;br /&gt;
Say that you got a WSDL file from Java based service and you want to 
access it using C# , You may think its hard but its really easy.&lt;br /&gt;
All you have to do is to use the WSDL utility.&lt;br /&gt;
&lt;br /&gt;
Lets go Step By Step&lt;br /&gt;
&lt;br /&gt;
Step 1 : Save your WSDL with the Extension .wsdl because .XML wont work&lt;br /&gt;
I&#39;m using &lt;a data-mce-href=&quot;http://www.tutorialspoint.com/wsdl/wsdl_example.htm&quot; href=&quot;http://www.tutorialspoint.com/wsdl/wsdl_example.htm&quot;&gt;this file&lt;/a&gt; as the sample.&lt;br /&gt;
&lt;br /&gt;
Step 2: Open the Visual Studio Command Prompt&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqtcs0FtQGBZHrym_rMDJuOwiKgT1d_rXT4lV47EKulOyyhw8aCuKoSXvDo-motP8ESt4wVRGs6B_pRpXqOpaaBBvGKFPrTBboR9qouQ6ZhD2VS0MW6iBtWfhPzFN_uKS4qIOFUx_61TM-/s1600/image1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;157&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqtcs0FtQGBZHrym_rMDJuOwiKgT1d_rXT4lV47EKulOyyhw8aCuKoSXvDo-motP8ESt4wVRGs6B_pRpXqOpaaBBvGKFPrTBboR9qouQ6ZhD2VS0MW6iBtWfhPzFN_uKS4qIOFUx_61TM-/s320/image1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a data-mce-href=&quot;http://guruparan.blog.com/files/2013/05/image1.png&quot; href=&quot;http://guruparan.blog.com/files/2013/05/image1.png&quot;&gt;&lt;br /&gt;&lt;/a&gt;
&lt;br /&gt;
Step3: Locate the WSDL file (Hello.wsdl) and Use the command &lt;b&gt;WSDL Hello.wsdl&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLwuw2Nj9meplUEUeU9ohTOqVf-hOtIZBLfbIp7S_-YjggYS3Nz11NcGoWTi8dn3Fs9NlRkwmNmio-alPz8jAwIw0W2KCNB5oWAviuPcFv1_dS5bQvtRMpbVXXHwboM8fOsfi9Vw4jON8Z/s1600/image2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;157&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLwuw2Nj9meplUEUeU9ohTOqVf-hOtIZBLfbIp7S_-YjggYS3Nz11NcGoWTi8dn3Fs9NlRkwmNmio-alPz8jAwIw0W2KCNB5oWAviuPcFv1_dS5bQvtRMpbVXXHwboM8fOsfi9Vw4jON8Z/s320/image2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a data-mce-href=&quot;http://guruparan.blog.com/files/2013/05/image2.png&quot; href=&quot;http://guruparan.blog.com/files/2013/05/image2.png&quot;&gt;&lt;/a&gt;&lt;br /&gt;
Now you have the CS file &lt;b&gt;Hello_Service.cs&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Step 4 : Insert the Hello_Service.cs in your project and &lt;b&gt;&lt;/b&gt;&lt;br /&gt;
Create an object from the class and simply call the methods.&lt;br /&gt;
Happy Coding :)&lt;br /&gt;
-Guruparan-&lt;br /&gt;
&lt;b&gt;&lt;br /&gt; &lt;/b&gt;</description><link>http://guruparang.blogspot.com/2013/05/Using-a-WSDL-file-in-C.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqtcs0FtQGBZHrym_rMDJuOwiKgT1d_rXT4lV47EKulOyyhw8aCuKoSXvDo-motP8ESt4wVRGs6B_pRpXqOpaaBBvGKFPrTBboR9qouQ6ZhD2VS0MW6iBtWfhPzFN_uKS4qIOFUx_61TM-/s72-c/image1.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-5837939801681147529</guid><pubDate>Thu, 04 Apr 2013 09:15:00 +0000</pubDate><atom:updated>2013-06-03T02:19:36.731-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">c</category><category domain="http://www.blogger.com/atom/ns#">c language</category><category domain="http://www.blogger.com/atom/ns#">index c</category><category domain="http://www.blogger.com/atom/ns#">indexof</category><category domain="http://www.blogger.com/atom/ns#">regex.h.regular expression</category><category domain="http://www.blogger.com/atom/ns#">string c</category><category domain="http://www.blogger.com/atom/ns#">substring</category><title>Some Simple C Language String Functions</title><description>Here are some C Language functions that I created to use in one of my University Assignments

This was a C language assignment and i needed some String functions that i use in java and C#.

Ther first one is the IndexOf Function which return the index of a given Character in a string
&lt;pre class=&quot;brush: csharp&quot;&gt;//Method to find the index of a given char in a string
int IndexOf(char *string,char find)
{
 char *i=strchr(string,find);
 int index=(int)(i-string);
 if(index&amp;gt;=0)
 {
  return index;
 }
 else
 {
  return -1;
 }
}&lt;/pre&gt;
The second one is the Substring which returns the subsequence of a string
&lt;pre class=&quot;brush: csharp&quot;&gt;//Method to get the SubString from a given string
char* SubString(int startIndex, int length, char *ch) {
 char *output=malloc(length);
 strncpy(output,&amp;amp;ch[startIndex],length);
 return output;
}&lt;/pre&gt;
The third one is a function to validate a string using regular expressions
You&#39;ll need to include the regex.h file to use this
&lt;pre class=&quot;brush: csharp&quot;&gt;int CheckMatch(char *input,char *format)
{
 regex_t regex;
 regcomp(&amp;amp;regex,format,0);
 int match=regexec(&amp;amp;regex,input,0,NULL,0);
 if( !match ){
                return 1;
        }
        else
        {
         return 0;
        }
}&lt;/pre&gt;
Please leave a comment</description><link>http://guruparang.blogspot.com/2013/04/some-simple-c-language-string-functions.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-350059612541609702</guid><pubDate>Wed, 27 Mar 2013 12:35:00 +0000</pubDate><atom:updated>2013-06-03T05:40:46.417-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">connect</category><category domain="http://www.blogger.com/atom/ns#">server</category><category domain="http://www.blogger.com/atom/ns#">sql</category><category domain="http://www.blogger.com/atom/ns#">windows 8</category><category domain="http://www.blogger.com/atom/ns#">windows 8 sql server</category><category domain="http://www.blogger.com/atom/ns#">windows store app</category><title>Connecting Windows 8 Store Application with SQL Server using WCF - Part 2</title><description>This post is all about creating the application&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIcbuqiknoRctQhO7R8bIglXERDBW2FhAflKo0CvYwjXuwfkO0L6zLB_f_Ztzu7u097KFxniSYQYkhIlod2X32VizU-2WzCWUwcVtOGGZRfOXbzOJknCHTVafe35YNsC8QOrbw_koBTaEX/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;198&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIcbuqiknoRctQhO7R8bIglXERDBW2FhAflKo0CvYwjXuwfkO0L6zLB_f_Ztzu7u097KFxniSYQYkhIlod2X32VizU-2WzCWUwcVtOGGZRfOXbzOJknCHTVafe35YNsC8QOrbw_koBTaEX/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
First we need to add the service reference &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizi20UctUlK2Fr20kjk5x2Lb6RAPiKRbUdVhWu-cSGXl1wnvFetIoJC7XasjjyouYd76LzByVAnnA9YZy39rjhoMm8EqWQ3DQca74Nt7MyGq-COtxqL_gqBDOBFBo_cXdDmd4bnMXUpoOW/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizi20UctUlK2Fr20kjk5x2Lb6RAPiKRbUdVhWu-cSGXl1wnvFetIoJC7XasjjyouYd76LzByVAnnA9YZy39rjhoMm8EqWQ3DQca74Nt7MyGq-COtxqL_gqBDOBFBo_cXdDmd4bnMXUpoOW/s320/1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Give the Namespace as DataProvider&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi449z-3wCo82df3BU3JYrhjJVer7QO-L3CDQ94clQrjgG_Fngm-ZK0JuQ4HAE3rTdzEKrjZUzxbR9bQd8V_FuJlOEVHTv860LQG4HcIon1b2uMxbdc6LRfgxOH-JQ84IpfuiH1DLm0wFh2/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;259&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi449z-3wCo82df3BU3JYrhjJVer7QO-L3CDQ94clQrjgG_Fngm-ZK0JuQ4HAE3rTdzEKrjZUzxbR9bQd8V_FuJlOEVHTv860LQG4HcIon1b2uMxbdc6LRfgxOH-JQ84IpfuiH1DLm0wFh2/s320/2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we&#39;ll go to the coding
Here i have added the coding for the buttons
Both button click events will have to be async.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;   private async void btnGetStudent_Click(object sender, RoutedEventArgs e)
    {
        //Create a client object to access the service
        DataProvider.DataProviderClient serviceClient = new DataProvider.DataProviderClient();

        //Get the student id and convert it to integer
        int ID = Convert.ToInt32(txtStudentID.Text);

        //Get the student via the service
        DataProvider.Student student = await serviceClient.getStudentAsync(ID);

        //The service will return null if the student is not available
        //If student is not found show a message
        if (student==null)
        {
            Windows.UI.Popups.MessageDialog message = new Windows.UI.Popups.MessageDialog(&quot;Student not found&quot;);
            message.ShowAsync();
            return;
        }

        //Set the values to the appropriate labels
        lblFirstName.Text = student.FirstName;
        lblLastName.Text = student.LastName;
    }

    private async void btnGetAllStudents_Click(object sender, RoutedEventArgs e)
    {
        //Create a client object to access the service
        DataProvider.DataProviderClient serviceClient = new DataProvider.DataProviderClient();

        //Get the student objects from the service
        ObservableCollection students = await serviceClient.getStudentsAsync();

        //Add the objects to the list view
        foreach (DataProvider.Student student in students)
        {
            lstStudents.Items.Add(student.FirstName+&quot; &quot;+student.LastName);
        }
    }&lt;/pre&gt;
&lt;h2&gt;
&lt;a href=&quot;http://www.mediafire.com/?4l74joy4gmgvb5k&quot;&gt;Download Code&lt;/a&gt;&lt;/h2&gt;
Please Leave a comment about the post.</description><link>http://guruparang.blogspot.com/2013/03/connecting-windows-8-store-application_27.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIcbuqiknoRctQhO7R8bIglXERDBW2FhAflKo0CvYwjXuwfkO0L6zLB_f_Ztzu7u097KFxniSYQYkhIlod2X32VizU-2WzCWUwcVtOGGZRfOXbzOJknCHTVafe35YNsC8QOrbw_koBTaEX/s72-c/5.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-7763076741761284185</guid><pubDate>Wed, 27 Mar 2013 12:28:00 +0000</pubDate><atom:updated>2013-06-03T05:33:11.040-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sql.server</category><category domain="http://www.blogger.com/atom/ns#">wcf</category><category domain="http://www.blogger.com/atom/ns#">windows 8</category><category domain="http://www.blogger.com/atom/ns#">windows rt</category><category domain="http://www.blogger.com/atom/ns#">windows store</category><title>Connecting Windows 8 Store Application with SQL Server using WCF - Part 1</title><description>Hi Readers

This post is about connecting Windows 8 Store application and SQL server using WCF.

The Part 1 is about creating the WCF service.

First lets create the Database.
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;CREATE DATABASE LearnerDB;

USE LearnerDB;

CREATE TABLE Students
(
 ID INT IDENTITY PRIMARY KEY,
 FirstName VARCHAR(100),
 LastName VARCHAR(100)
);

INSERT INTO Students VALUES(&#39;John&#39;,&#39;Doe&#39;);
INSERT INTO Students VALUES(&#39;Mark&#39;,&#39;Moe&#39;);
INSERT INTO Students VALUES(&#39;Grace&#39;,&#39;Goe&#39;);
INSERT INTO Students VALUES(&#39;Paula&#39;,&#39;Poe&#39;);
INSERT INTO Students VALUES(&#39;John&#39;,&#39;Rambo&#39;);
INSERT INTO Students VALUES(&#39;Jane&#39;,&#39;Joe&#39;);&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
in Visual Studio 2012 create a WCF service project&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXlHLSHJVHimTN4rjxSkZwo9IT89V6nVRzZT3Ys-MQlCaG5VLChJ1TPhvAxEJSqCQtvrrIDXj_6ZPUVn62l2cq6pv59c3PRpbHAPs9WkUdkHupbjiZmJoDkAQ2z05oCt41DbOT7h4kW40/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXlHLSHJVHimTN4rjxSkZwo9IT89V6nVRzZT3Ys-MQlCaG5VLChJ1TPhvAxEJSqCQtvrrIDXj_6ZPUVn62l2cq6pv59c3PRpbHAPs9WkUdkHupbjiZmJoDkAQ2z05oCt41DbOT7h4kW40/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Then create a new service called &quot;DataProvider&quot;&amp;nbsp;
(You can use the IService which comes as default as well)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzbELKTzEGeiotb5mOAeMH6kQ_HH9vqXJz9niRdLkqzklCXOQi_-c1nMtfO1nh2LZZPqGKe_7T6WaiZAKWF3vHk_Kl_ENgnK90mDcssnSSZKKK-EBwGWQ5ydIe6nmfJ2kYSdI5pq2PxGTb/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;208&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzbELKTzEGeiotb5mOAeMH6kQ_HH9vqXJz9niRdLkqzklCXOQi_-c1nMtfO1nh2LZZPqGKe_7T6WaiZAKWF3vHk_Kl_ENgnK90mDcssnSSZKKK-EBwGWQ5ydIe6nmfJ2kYSdI5pq2PxGTb/s320/4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Let go the coding Part
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;   [ServiceContract]
    public interface IDataProvider
    {
        [OperationContract]
        Student getStudent(int ID);

        [OperationContract]
        List getStudents();
    }

    [DataContract]
    public class Student
    {
        [DataMember]
        public int ID { get; set; }

        [DataMember]
        public string FirstName { get; set; }

        [DataMember]
        public string LastName { get; set; }
    }&lt;/pre&gt;
The student class is going to be used as the entity class to represent the table.

The actual coding for the Service will be in the DataProvider Class
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;    public class DataProvider : IDataProvider
    {
        //Get the information of a single student
        public Student getStudent(int ID)
        {
            DataAccess dataAccess = new DataAccess();
            return dataAccess.getStudent(ID);
        }

        //Get information of all students
        public List getStudents()
        {
            DataAccess dataAccess = new DataAccess();
            return dataAccess.getStudents();
        }
    }&lt;/pre&gt;
The data provider uses the dataaccess class to communicate with the database
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;public class DataAccess
{
    //Connection to the Database
    SqlConnection DBconnection;

    public DataAccess()
    {
        //Get the connection from the Web config
        string connectionString = ConfigurationManager.ConnectionStrings[&quot;DBConnection&quot;].ToString();
        DBconnection = new SqlConnection(connectionString);
    }

    /// Get the information based on Student ID
    public Student getStudent(int ID)
    {
        if (DBconnection.State==ConnectionState.Closed)
        {
            DBconnection.Open();
        }

        Student student = null;

        SqlCommand command = new SqlCommand(&quot;select * from students where ID =&quot;+ID,DBconnection);
        SqlDataReader reader = command.ExecuteReader();
        if (reader.Read())
        {
            student = new Student()
            {
                ID = ID,
                FirstName = reader[&quot;FirstName&quot;].ToString(),
                LastName = reader[&quot;LastName&quot;].ToString()
            };
        }
        return student;
    }

    /// Get a list of all students
    public List getStudents()
    {
        if (DBconnection.State == ConnectionState.Closed)
        {
            DBconnection.Open();
        }

        List students = new List();

        SqlCommand command = new SqlCommand(&quot;select * from students&quot;, DBconnection);
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            students.Add(new Student()
            {
                ID = Convert.ToInt32(reader[&quot;ID&quot;].ToString()),
                FirstName = reader[&quot;FirstName&quot;].ToString(),
                LastName = reader[&quot;LastName&quot;].ToString()
            });
        }
        return students;
    }
}&lt;/pre&gt;
After creating the service you can test it using WCF Test Client.</description><link>http://guruparang.blogspot.com/2013/03/connecting-windows-8-store-application.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBXlHLSHJVHimTN4rjxSkZwo9IT89V6nVRzZT3Ys-MQlCaG5VLChJ1TPhvAxEJSqCQtvrrIDXj_6ZPUVn62l2cq6pv59c3PRpbHAPs9WkUdkHupbjiZmJoDkAQ2z05oCt41DbOT7h4kW40/s72-c/3.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-6082998930711156650</guid><pubDate>Tue, 05 Feb 2013 13:42:00 +0000</pubDate><atom:updated>2013-06-03T05:44:01.620-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">file download</category><category domain="http://www.blogger.com/atom/ns#">library recursion</category><category domain="http://www.blogger.com/atom/ns#">recursively download</category><category domain="http://www.blogger.com/atom/ns#">sharepoint</category><category domain="http://www.blogger.com/atom/ns#">sharepoint 2010</category><category domain="http://www.blogger.com/atom/ns#">sharepoint library</category><category domain="http://www.blogger.com/atom/ns#">sharepoint library file download</category><category domain="http://www.blogger.com/atom/ns#">sharepoint recursion</category><title>Download files from Sharepoint Library Recursively</title><description>Hi&lt;br /&gt;
This is a small program that will download the contents of a Sharepoint documnt library.&lt;br /&gt;
&lt;br /&gt;
This will download all the files in the subfolders as well&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;class Program
{
 static void Main(string[] args)
 {
  Console.WriteLine(&quot;This Application will download the documents in a library&quot;);
  Console.Write(&quot;Enter Site URL : &quot;);
  string SiteURL = Console.ReadLine();

  Console.Write(&quot;Library Name : &quot;);
  string LibraryName = Console.ReadLine();

  //Open the site using the given url
  using (SPSite site = new SPSite(SiteURL))
  {
   //Open the web application
   using (SPWeb web = site.OpenWeb())
   {
    try
    {
     //Get the library folder
     SPFolder folder = web.GetFolder(LibraryName);

     //Download files
     downloadFilesrecursively(folder);
    }
    catch (Exception ex)
    {
     //Print the details of the exception
     Console.WriteLine(&quot;An Error Occured while processing &quot; + ex.Message);
    }
   }
  }

  Console.ReadLine();
 }

 //The method that downloads the files from a given SPFolder
 public static void downloadFiles(SPFolder folder)
 {
  foreach (SPFile item in folder.Files)
  {
   //Download the file
   byte[] fileData = item.OpenBinary();
   System.IO.FileStream fstream = System.IO.File.Create(item.Name);
   fstream.Write(fileData, 0, fileData.Length);
   Console.WriteLine(item.Name + &quot; &quot; + fileData.Length);
  }
 }

 //Method that is used to call the download method recursively
 public static void downloadFilesrecursively(SPFolder folder)
 {
  //If the folder have subfolders call the download
  //Methods for the subfolders
  if (folder.SubFolders.Count != 0)
  {
   //Download the files in the current folder
   downloadFiles(folder);
   foreach (SPFolder item in folder.SubFolders)
   {
    downloadFilesrecursively(item);
   }
  }
  else
  {
   //If the folder has no subfolders
   //then download the file in the folder
     downloadFiles(folder);   
  }
 }
}&lt;/pre&gt;
</description><link>http://guruparang.blogspot.com/2013/02/download-files-from-sharepoint-library.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-5780377462409364032</guid><pubDate>Mon, 04 Feb 2013 14:37:00 +0000</pubDate><atom:updated>2014-10-07T05:01:28.854-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Rt sqlite</category><category domain="http://www.blogger.com/atom/ns#">sqlite</category><category domain="http://www.blogger.com/atom/ns#">windows 8 database</category><category domain="http://www.blogger.com/atom/ns#">windows 8 rt sqlite</category><category domain="http://www.blogger.com/atom/ns#">windows rt sqlite</category><title>SQLite Database in Windows 8 RT application Part-2</title><description>Hi Devs&lt;br /&gt;
This is the Part 2 of the post&lt;br /&gt;
You can find &lt;a data-mce-href=&quot;http://guruparan.blog.com/2013/02/04/sqlite-database-in-windows-8-rt-application-part-1/&quot; href=&quot;http://guruparan.blog.com/2013/02/04/sqlite-database-in-windows-8-rt-application-part-1/&quot;&gt;Part 1 Here&lt;/a&gt;&lt;br /&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;
This post will have all the Coding required&lt;br /&gt;
Here I&#39;ll show you how to make a simple Employee Management system.&lt;br /&gt;
&lt;br /&gt;
Hope you have the Project created in Part 1,&lt;br /&gt;
First goto the &lt;b&gt;Project Properties-&amp;gt;Build&lt;/b&gt; and Make the Platform target to x86 or x64 because Any CPU is not supported yet.&lt;br /&gt;
&lt;br /&gt;
This is the UI of the sample application.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPPNDU6YE-U9z5wTzpT6fvFF5tIpTVB2iH-KiGQKeIQ4SRFCF5HWS-IeycO_dUXtNPZkB-DjXkbkwL96pm-D981bdGB6JMnN3QH-8kDenNZAOfRKe3RhCRPLPGlD2slpd0IhfwujdGV01/s1600/UI.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPPNDU6YE-U9z5wTzpT6fvFF5tIpTVB2iH-KiGQKeIQ4SRFCF5HWS-IeycO_dUXtNPZkB-DjXkbkwL96pm-D981bdGB6JMnN3QH-8kDenNZAOfRKe3RhCRPLPGlD2slpd0IhfwujdGV01/s320/UI.png&quot; height=&quot;194&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
This will be the structure of the solution,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJvwE3JDoouRCBzE5ho9mBqzElJvpguU5-DLPOHwPp3zF_OwOiLIMQIvl0nj77XkdPD3LGS3QhUkLewwd1CKIkdKrgjxdedu6iTea547dZDiUOEA8NzmeOwpycOuBYIhi9MJDt5lZ8-vF_/s1600/solution.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJvwE3JDoouRCBzE5ho9mBqzElJvpguU5-DLPOHwPp3zF_OwOiLIMQIvl0nj77XkdPD3LGS3QhUkLewwd1CKIkdKrgjxdedu6iTea547dZDiUOEA8NzmeOwpycOuBYIhi9MJDt5lZ8-vF_/s1600/solution.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;Here I&#39;m having two classes to manage the database&lt;br /&gt;
First the Employee Class&lt;br /&gt;
The concept is just like SQL CE you have to create a class to represent a table and the use LINQ to work with the database.&lt;br /&gt;
This class will be representation of the Employee table, the explanation is given as the comment in the code.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;public class Employee
{
    /// &amp;lt;summary&amp;gt;
    /// The ID of the Employee
    /// Used as the primary key
    /// Automatically incremented
    /// &amp;lt;/summary&amp;gt;
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }

    /// &amp;lt;summary&amp;gt;
    /// Name of the Employee
    /// &amp;lt;/summary&amp;gt;
    [MaxLength(30)]
    public string Name { get; set; }

    /// &amp;lt;summary&amp;gt;
    /// Address of the Employee
    /// &amp;lt;/summary&amp;gt;
    [MaxLength(30)]
    public string Address { get; set; }
}&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
Now the Employee Manager class which handles the interaction with the database&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: csharp&quot;&gt;public class EmployeeManager
{
    /// &amp;lt;summary&amp;gt;
    /// The Connection to SQLite database file
    /// &amp;lt;/summary&amp;gt;
    private SQLiteConnection connection;

    /// &amp;lt;summary&amp;gt;
    /// The constructor
    /// Creates the connection to the database and creates the table
    /// &amp;lt;/summary&amp;gt;
    public EmployeeManager()
    {
        //Windows.Storage.ApplicationData.Current.LocalFolder.Path is used to get the location of the Application
        connection = new SQLiteConnection(Windows.Storage.ApplicationData.Current.LocalFolder.Path+&quot;\\EmployeeDB&quot;);
        connection.CreateTable&amp;lt;Employee&amp;gt;();
    }

    /// &amp;lt;summary&amp;gt;
    /// Insert a new employee to the database
    /// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name=&quot;employee&quot;&amp;gt;The Employee to be inserted&amp;lt;/param&amp;gt;
    /// &amp;lt;returns&amp;gt;ID of the inserted employee&amp;lt;/returns&amp;gt;
    public int insertEmployee(Employee employee)
    {
        return connection.Insert(employee);
    }

    /// &amp;lt;summary&amp;gt;
    /// Delete and employee from the database
    /// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name=&quot;ID&quot;&amp;gt;ID of the employee to be deleted&amp;lt;/param&amp;gt;
    public int deleteEmployee(int ID)
    {
        return connection.Delete&amp;lt;Employee&amp;gt;(ID);
    }

    /// &amp;lt;summary&amp;gt;
    /// Update the details of an employee
    /// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name=&quot;employee&quot;&amp;gt;New Employee object&amp;lt;/param&amp;gt;
    public int updateEmployees(Employee employee)
    {
        return connection.Update(employee);
    }

    /// &amp;lt;summary&amp;gt;
    /// Get a employee object
    /// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name=&quot;ID&quot;&amp;gt;ID of the employee&amp;lt;/param&amp;gt;
    /// &amp;lt;returns&amp;gt;Employee with the given ID&amp;lt;/returns&amp;gt;
    public Employee findEmployee(int ID)
    {
        List&amp;lt;Employee&amp;gt; employees = connection.Table&amp;lt;Employee&amp;gt;().Where(X=&amp;gt;X.ID==ID).ToList();

        if (employees.Count()==1)
        {
            return employees.First();
        }
        else
        {
            return null;
        }
    }

    /// &amp;lt;summary&amp;gt;
    /// Get a list of all the employees in a database
    /// &amp;lt;/summary&amp;gt;
    /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
    public List&amp;lt;Employee&amp;gt; getAllEmployees()
    {
        return connection.Table&amp;lt;Employee&amp;gt;().ToList();
    }

}&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
Thats it you can just call these methods from the Button click events to use the database.&lt;br /&gt;
You can find the UI calls in the sample application&lt;br /&gt;
&lt;h2&gt;
&lt;a data-mce-href=&quot;http://www.mediafire.com/?0vhsswulrnmsh34&quot; href=&quot;http://www.mediafire.com/?0vhsswulrnmsh34&quot;&gt;Sample Application&lt;/a&gt;&lt;/h2&gt;
Happy Coding&lt;br /&gt;
Please Leave a comment&lt;br /&gt;
Guruparan G</description><link>http://guruparang.blogspot.com/2013/02/sqlite-database-in-windows-8-rt_4.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfPPNDU6YE-U9z5wTzpT6fvFF5tIpTVB2iH-KiGQKeIQ4SRFCF5HWS-IeycO_dUXtNPZkB-DjXkbkwL96pm-D981bdGB6JMnN3QH-8kDenNZAOfRKe3RhCRPLPGlD2slpd0IhfwujdGV01/s72-c/UI.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6101049175361314463.post-117596636075295990</guid><pubDate>Mon, 04 Feb 2013 14:31:00 +0000</pubDate><atom:updated>2013-06-07T06:35:51.959-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">c#</category><category domain="http://www.blogger.com/atom/ns#">Rt sqlite</category><category domain="http://www.blogger.com/atom/ns#">sqlite</category><category domain="http://www.blogger.com/atom/ns#">sqlite .net</category><category domain="http://www.blogger.com/atom/ns#">sqlite c#</category><category domain="http://www.blogger.com/atom/ns#">vs 2012</category><category domain="http://www.blogger.com/atom/ns#">windows</category><category domain="http://www.blogger.com/atom/ns#">windows 8</category><category domain="http://www.blogger.com/atom/ns#">windows 8 database</category><category domain="http://www.blogger.com/atom/ns#">windows 8 rt sqlite</category><category domain="http://www.blogger.com/atom/ns#">windows rt sqlite</category><title>SQLite Database in Windows 8 RT application Part-1</title><description>Hi Devs&lt;br /&gt; This post is all about using a SQLIte database in Windows 8 application&lt;br /&gt; In this post i&#39;ll explain how to setup Visual Studio 2012 in order to work with SQLite.&lt;br /&gt; In Part 2 I&#39;ll explain how to do the basic operations such as Add delete and update.&lt;br /&gt;
Lets get started&lt;br /&gt; First you&#39;ll have to install the SQLite runtime for windows.&lt;br /&gt; Goto &lt;strong&gt;Tools-&amp;gt;Extension and Updates&lt;/strong&gt;&lt;br /&gt;
&lt;a data-mce-href=&quot;http://guruparan.blog.com/files/2013/02/1.png&quot; href=&quot;http://guruparan.blog.com/files/2013/02/1.png&quot;&gt;&lt;/a&gt;&lt;br data-mce-bogus=&quot;1&quot; /&gt;
Then search for SQLite and install it&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMgNQinisACaKfk0XuW3oCHNXR-ylmRV8qIQAd6O21vIl3JcFUvA_n52fWrIOxkXE0UYMfvyEfea6LTvHMRAjxjNSs8UkudsDewCy9DQdWotvOYCYb-uBvLUBexrqrveKfi7DSu8-VV7e6/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMgNQinisACaKfk0XuW3oCHNXR-ylmRV8qIQAd6O21vIl3JcFUvA_n52fWrIOxkXE0UYMfvyEfea6LTvHMRAjxjNSs8UkudsDewCy9DQdWotvOYCYb-uBvLUBexrqrveKfi7DSu8-VV7e6/s320/1.png&quot; width=&quot;280&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;
Create a project based on your requirement (Blank\Grid Application)&lt;br /&gt;
And now add the reference to your project&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijtykQzaaeOnKSY_jYW-cxCTKKvimahVsLmElNhfKH_rAX5v4FCeJwsj7pVt_uOF-uNHIGwbVikse5XCLnGEeMeOdgd12VUSnpe99Cblyxv6e5C54pKyp9ibmcPJDK6ETGZWZUL6H_AM01/s1600/2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;195&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijtykQzaaeOnKSY_jYW-cxCTKKvimahVsLmElNhfKH_rAX5v4FCeJwsj7pVt_uOF-uNHIGwbVikse5XCLnGEeMeOdgd12VUSnpe99Cblyxv6e5C54pKyp9ibmcPJDK6ETGZWZUL6H_AM01/s320/2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;
Here you&#39;ll have to add the reference to both C++ runtime and SQLite runtime because SQLite runtime requires C++ runtime.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXS41pj8w-W8KkgSbP9slcaQdCBjOs7tGEmD6TRImEsDGRnazXFAAmZCGMdbmbDnQkTcJDbqUB0cyEzPNLb3GYaEEH8D6qHZtSzHuCr4TLkCDlH6yPYiEvZ8dyGGHiL6ThFKpXviAUWJRy/s1600/5.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXS41pj8w-W8KkgSbP9slcaQdCBjOs7tGEmD6TRImEsDGRnazXFAAmZCGMdbmbDnQkTcJDbqUB0cyEzPNLb3GYaEEH8D6qHZtSzHuCr4TLkCDlH6yPYiEvZ8dyGGHiL6ThFKpXviAUWJRy/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now we can move to the NuGet Packages&lt;br /&gt;
Here we&#39;ll be installing the Wrapper Class Library for SQlite.&lt;br /&gt;
&lt;br /&gt;
Goto &lt;strong&gt;Tools-&amp;gt;Library Package Manager-&amp;gt;Manage NuGet Packages for Solution&lt;/strong&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKALaT-LZTms5dPWmxqgIzCCUsUH8LFMqu5uAusMtjANE3BqqjylP89ET-IwXBUqd7tt35XhPyrXzGKrz9b1mz5BV_XPevDmwjgY8DRwMjuy4Rv8sXnbY4MKi5zMMuZqcq-BQCjg9DxkFU/s1600/3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKALaT-LZTms5dPWmxqgIzCCUsUH8LFMqu5uAusMtjANE3BqqjylP89ET-IwXBUqd7tt35XhPyrXzGKrz9b1mz5BV_XPevDmwjgY8DRwMjuy4Rv8sXnbY4MKi5zMMuZqcq-BQCjg9DxkFU/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;
And select the &quot;Online&quot; packages and search for &lt;strong&gt;Sqlite-net&lt;/strong&gt; and install it&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh68-h4R_QN-irq3V9E5LhTuHDT3R0iixhfB0P2WHsBrvg1jPa83TWn0po88vY3A24d5sZpOK5bVDQZcpp04bINABWlT9glsUdhewJeCVmKk3onZ841NAR-PvsYFdbkAXHwIUHk2AjN9YRn/s1600/4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh68-h4R_QN-irq3V9E5LhTuHDT3R0iixhfB0P2WHsBrvg1jPa83TWn0po88vY3A24d5sZpOK5bVDQZcpp04bINABWlT9glsUdhewJeCVmKk3onZ841NAR-PvsYFdbkAXHwIUHk2AjN9YRn/s320/4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Now we are good to start coding&lt;br /&gt;
All the coding part will be covered in Part 2.&lt;br /&gt;
&lt;br /&gt;
Please Leave a comment&lt;br /&gt;
Guruparan G</description><link>http://guruparang.blogspot.com/2013/02/sqlite-database-in-windows-8-rt.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMgNQinisACaKfk0XuW3oCHNXR-ylmRV8qIQAd6O21vIl3JcFUvA_n52fWrIOxkXE0UYMfvyEfea6LTvHMRAjxjNSs8UkudsDewCy9DQdWotvOYCYb-uBvLUBexrqrveKfi7DSu8-VV7e6/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>