31 July 2009

Comparison between Visual Studio & SharePoint Designer Workflows

Here i'm added Key differences between Custom Visual Studio and SharePoint Designer workflow.


Visual Studio: >>Full development environment with a graphical designer that produces a template which can be associated with multiple sites, lists, and content types

Designer:>> Wizard-driven interface that utilizes conditions and actions to produce a template that contains a set of declarative rules and is bound to a specific list

Custom .NET code :

Visual Studio: >>Yes

Designer:>> No


Visual Studio: >>Sequential, State Machine

Designer:>> Sequential only

Completed Workflow:

Visual Studio: >>Workflow markup file and code-behind files are compiled into workflow assembly.

Designer:>> Workflow markup, workflow rules, and supporting files are stored uncompiled in a hidden document library on the site and compiled on demand.


Visual Studio: >>Yes. Visual Studio 2005 debugging except for JIT exceptions.

Designer:>> No step-by-step debugging available


Visual Studio: >>Packaged as a SharePoint feature and deployed to the server by an administrator

Designer:>> Deployed automatically when workflow is completed


Visual Studio: >>Template must be associated with each and every list before it will be available

Designer:>> Association occurs at design time only

Workflow Forms

Visual Studio: >> Can use any forms technology, such as InfoPath 2007 or ASP.NET 2.0 forms

Designer:>> Automatically generates ASP.NET 2.0 forms, which can then be customized

Create Custom Activities and Conditions

Visual Studio: >>Yes

Designer:>> No. Must use a predefined set of activities and conditions.

Workflow Modification

Visual Studio: >>Executing workflows can be modified.

Designer:>> No modification is possible.


click here For more details..

Special Thanks :Amit Pasalkar.

20 July 2009

Form Based Authentication in SharePoint

(A Step Wise Implementation of FBA in SharePoint)
Here I’m adding this article to implement and extend the existing portal and have accessibility using Form Based Authentication. The article below has step wise implementation from scratch.
1. Create SQL Database: using Visual Studio 2005 command Prompt.

2. Use command : ASPNET_REGSQL

3. Please Select “ Configure SQL Server for Application Services
4. Enter the Server Name Authentication and the Database Name

(Please Add the Database Name of our choice :ex-newFBADatabase)

5. Continue till > finish.
6. Check Newly Created Database containing necessary tables and store procedures

7. Extend your web application in any of the prescribed zone (Internet, intranet, extranet, Custom)

a. The original web application is at port 333 (in this case).
b. We have extended to port 332 as shown and selected the zone as extranet.

8. Now In visual Studio (VS) create a web site and add following entries in web.config file.


add name="FBAConnectionString" connectionString="Data Source=MYDATABASE;Initial Catalog=FBAUSERS; Integrated Security=True"/>


Membership Provider For FBA -->

membership defaultProvider="FBADemoMember">


<add connectionStringName="FBAConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed"
minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="FBADemoMember"
type="System.Web.Security.SqlMembershipProvider,System.Web,Version=,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />



<!-- role provider For FBA -->

<roleManager enabled="true" defaultProvider="FBADemoRole" >

add connectionStringName="FBAConnectionString" applicationName="/" name="FBADemoRole"
type="System.Web.Security.SqlRoleProvider,System.Web,Version=,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />


</roleManager >

9. Select website > ASP.NET configuration in VS

10. Select Security hyperlink

11. Create Roles as needed.

12. Create Roles (Inside Create or Manage Roles)

13. Create Users
14. Create Users(Inside Create Users)

(~) From Central Administration
15. Select Authentication Provider in Application Security in central admin

16. Select the Web Application and select the extended Zone for FBA.

17. Select Authentication Type :
b. Membership Provider Name : same membership defaultProvider as in web.Config
c. similarly for Role Manager Name: roleManager defaultProviderd.

Enable Anonymous Access optional (depends on requirement)

18.Now Update the Extended Web Application Web.Config Place beneath <>tag in both (original and extended web application) web.config file. Also place & beneath in conjunction with connection string as shown below.

19. Add the FBA User in the original portal/Web Application through People and Groups.

20. Add user in the Defined Role/Groups As you can observe here the user will be present as FBADemoMember:

21. Now Login in the extended Site.
22. Bingo- Welcome the FBA users.


15 July 2009

SharePoint Installation on VISTA OS

Bamboo Nation's has come up with a solution which will allow all the VISTA operating system user to get SharePoint (WSS 3.0) installed on their system.
For more Details click here.

13 July 2009

Active Directory & Sharepoint Users

Including User from Active Directory in sharpeoint internally had few process, However you need to be clear about the difference between SharePoint users used for security and Profiles. These are related.
First Profiles.
1. Moss is setup to import all the users in your AD domain as profiles into the SSP that you create. However, this action is not scheduled. Profiles will not be imported until you either do a manual import or setup the schedule for Full and incremental imports. This imparts no security rights to the user at all.
2. After the profiles have been imported. If a user is deleted in AD then after 3 successive full profile imports there profile will be deleted also. If deactivated their MySite will be cleaned up, but not their profile.


Authentication/Authorization (Assuming you are not using any kind of Forms Based Authentication)
1. SharePoint depends on Windows Authentication via IIS to establish the user's identity. (this happens completely external to SharePoint)
2. SharePoint checks the user's AD identity and group membership, as established in #1, to see what the user has the ability to do in SharePoint. You can successfully authenticate and still not gain access to SharePoint.
3. Security Access in SharePoint is dependent on the AD identity or an AD group of which the user is a member being added as a SharePoint user. Or the user or group may be added directly to a SharePoint group. This will allow the user to gain access to SharePoint resources.
4. If the access is through group membership then the user's identity will only be added to SharePoint when the user logs in and submits something to a document library or list. This adds their identity as a user, but doesn't directly re-associate them with specific rights. The rights are still gained through group membership. But they would now show up in the People and Groups list.
5. If the user's account is deactivated or deleted in AD their account in SharePoint is NOT deleted, but they won't be able to use it to access SharePoint anymore because AD won't be able to authenticate them so they'll never get to Authorization. If deactivated, you will still be able to click on their name attached to documents or list items and see their profile. If deleted clicking on these items will normally lead to an error page because the profile isn't there anymore.
6. Removing SharePoint users can be done programmatically, but it is a fairly involved process requiring walking each object in the FARM and looking for the user entries. There are 3rd party products that do this, but I don't normally recommend using them since you are destroying the history of the user in the system.

Special Thanks: Paul Stork.


09 July 2009

SharePoint : Popfly as Iframe

--SharePoint & Popfly --
Popfly comes with huge functional block and mashup integrated with Silverlight to give a enhanced branding with minimum efforts.
Here is a simple example which will help you to get a connected popfly blocks and later inherit the same into SharePoint environment. Since Popfly is also compatible with Visual studio environment which brings smile to all my developer friends to explore & perform more.
Before you begin make sure you register or use your windows Live ID. As you login this will create special Profile ID which will track all your project created, shared or inherited in popfly.

  1. Popfly provides various functionality while creating such as Game, Mashup, block, data & webpage. Today i'll be Creating a Mashup Block.

  2. To begin we will drag the Block(s) you wanted from various blocks list/groups provided by popfly.

  3. Since we have selected a live Image Search we needed a runtime input parameter hence we have added a input block which is connected as a input for the search block.

  4. Its setting signifies the function and the input staged for each blocks. As there are ample of blocks provided as well as shared by other users which can be user, also custom block can also be create as needed.

  5. Before we Execute (Run) its is suggested to save the project. Once saved Now we can execute and view output by Clicking the Run Button.

  6. Once the Output satisfies our needs we can go ahead with integration with our application(SharePoint) by clicking Share which provides few sharing options, Now click on the Embed option. Since Microsoft Popfly provides this functionality to share this block in our defined application

  7. Now you get is a script tagged in iframe, as my choice of application is SharePoint all I did by adding this Script in the Source Editor of a Content editor web Part .

  8. Thus Popfly Start populated in the sharepoint Enviroment

Go Ahead and Explore..

Subscribe in a reader

07 July 2009

Replacing Time field

SharePoint provides date time field in a fixed format, However we can further organized to have a hourly/minute counter to view its last updates/modification.
This can be achieved by using a simple Content Editor Web part[CEWP] and Script for converting "DD/MM/YYYY hh:mm" to minutely incremental field.

Add the following sniplet in the source script section fo the CEWP.


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var str = "Last Updated"; //change
this based on col header

var today = new Date();
today = Date.parse(today)/1000;
var a=0;
var headers = $("table.ms-listviewtable:first>
tbody> tr:first th"
$.each(headers, function(i,e){
x = $(e).contents().find("a[title*='"+str+"']").length;
a = x > 0 && i > a ? i : a;
var dArray = $("table.ms-listviewtable:first>
tbody> tr:gt(0)"
$.each(dArray, function(i,e){
var d1 = Date.parse($(e).text())/1000;
var dd = (today-d1)/86400;
var dh = (dd-Math.floor(dd))*24;
var dm = (dh-Math.floor(dh))*60;
var time = ((Math.floor(dd) > 0 ? Math.floor(dd) +" days, " : "")+
(Math.floor(dh) > 0 ? Math.floor(dh)+" hrs, " : "")+
(Math.floor(dm)+" min"));
Special Thanks: Paul Grenier

Rate Now: