Tuesday, August 18, 2009
Looking for answers - SharePoint Questions
a. Alert mail is not sending for new items created in a survey list when branching logic is enabled. But, receiving alert mails for edit & delete items mails when branching logic is enabled. Not sure why? How to resolve this.
b. There is a document library with folders and sub folders. How to create a view targetting to a sub-folder? Ofcourse, we can restrict the users on folder view but want to create a view to display files within a folder.
Please leave a comment if anyone knows answer for above questions.
Wednesday, August 12, 2009
Form based authentication in SharePoint - MUST READ
- Forms Authentication in SharePoint Products and Technologies (Part 1): Introduction[ http://msdn.microsoft.com/en-us/library/bb975136.aspx ]
- Forms Authentication in SharePoint Products and Technologies (Part 2): Membership and Role Provider Samples[ http://msdn.microsoft.com/en-us/library/bb975135.aspx ]
- Forms Authentication in SharePoint Products and Technologies (Part 3): Forms Authentication vs. Windows Authentication [ http://msdn.microsoft.com/en-us/library/bb977430.aspx ]
SharePoint Integrating with the 2007 Microsoft Office System
When you configure a zone to use forms authentication, the Enable Client Integration box is cleared by default. If a zone is configured in this way, the following changes occur in functionality:
- Support for remote interfaces is turned off. That includes WebDAV, SOAP, and Microsoft Office FrontPage remote procedure calls (RPC). Some functionality is not available, such as Web folders or the Web services for accessing content in that site.
- Some toolbar items no longer appear:
- New Document
- Open in Outlook
- Open In Windows Explorer
- Export to Spreadsheet
- Open with Database Program
- Explorer View option is hidden.
- Create an Access View option is hidden.
- In picture libraries, the following functionality is removed:
- Upload Multiple
- Edit Picture
- Download
- Send To
- On the Edit Control Block (ECB) menu, the drop-down menu that appears when you click items in document libraries, the following items are removed:
- Edit in Word
- Edit in Excel
- Edit in PowerPoint
- Discuss
- Connect To Outlook
- In slide libraries the following functionality is removed:
- Publish Slide
- Send to PowerPoint
Also, syncing SharePoint data with Microsoft Office Outlook no longer works.
When operating in this mode, users can still work with documents in SharePoint libraries, but they must right-click items and choose to save a copy to disk. They can then edit and update the document, and then upload it and check it back in when they are finished editing.
Some organizations might want to use forms authentication, but also require the same level of integration they get when using Windows authentication. There are a couple of possible workarounds in this scenario, but it is helpful to examine why this limitation exists.
When a user accesses a page on a site protected by forms authentication, the server looks for a valid authentication cookie. If no cookie is found, or if the cookie is not valid, the server redirects the browser to the logon page by using an HTTP 302 status code. At this page, the user is allowed to authenticate by using his or her credentials. After the credentials are validated, the server creates a valid authentication cookie and sends it back to the browser, with the originally requested page. The browser keeps the cookie in memory and sends it back to the server with every subsequent request to that Web server. With each request, the server checks the validity of the cookie to ensure that it is good (that it has not expired or been tampered with), and then processes the request.
Because the authentication cookie is in memory with the browser process, it introduces some limitations:
- The cookie is retained only as long as the browser is open; when the browser is closed the cookie is destroyed with everything else in memory that the browser was using.
- The cookie belongs to the browser's application process (such as the .exe file for the browser), and cannot be shared with other processes. Office system applications run in their own processes, for example, msword.exe for Microsoft Office Word. As such, a cookie that a user generated when logging into the site in the browser cannot be shared with Word.
The issues described in this article clarify why the Enable Client Integration option was developed: to help make the end-user experience more uniform and predictable in that environment; however, the user experience is somewhat different for users that are accustomed to SharePoint sites secured with Windows authentication. Even with those restrictions, there are still a few options that can be used to allow for using forms authentication and yet still provide many or all of the deep integration points with Office applications that are available when using Windows authentication.
Reference of above content: http://msdn.microsoft.com/en-us/library/bb977430.aspx#MOSSFBAPart3_IntegratingWithOffice2007
How To: Choose between InfoPath Browser Forms and Custom ASPX Forms
So, to decide on one, we may have to take the decision step by step.
If the requirement is for a single form and showing data from an external data store or from within SharePoint, then going with InfoPath Forms is recommended.
If it’s a single form and needs complex actions, to and fro between the form and the data store, then choosing custom aspx pages is recommended.
If the requirement needs wizard kind of feature i.e. which requires user to go through multiple screens, then custom aspx is the solution.
If the data submitted through the form has to be saved to multiple locations (database, SharePoint, file storage) then InfoPath Forms is a good solution.
If the requirement is for designing numerous forms which are simple enough and well documented, then InfoPath Forms should be considered. InfoPath can help deliver the solution in a short time period.
InfoPath browser based forms has few limitations on the repository of controls one can use. For example: combo box, master/detail view control and many advanced controls are not supported in browser based InfoPath Forms. Depending on these limitations we have to decide on InfoPath or ASPX. ASPX has no such limitations.
InfoPath forms is based on XML. The form is rendered using XSLT stylesheets and the data submitted through the form is available in XML format. The data is well structured to retrieve later on and dump the data/forms in some external system. This in combination with BizTalk server is a perfect architecture for document transition through multiple levels.
InfoPath forms certainly have an edge over ASPX forms as a quick and neat solution. It has some complex out of the box controls, like date picker, file attachment control, repeating sections. InfoPath forms can also have code-behind if needed to manipulate the data on the form or behind the form.
ASPX can have and do everything InfoPath Forms does, with an exception of additional development effort. Apart from it, the deployment process of aspx forms is much better and easier than InfoPath Forms.
Below are some of the excerpts from few blogs I follow which provides some valuable input comparing InfoPath and ASPX forms. Below are the Pros and Cons in using InfoPath Forms:
Pros:
- Ideal for simple forms
- Easy to build a form – no coding involved
- InfoPath form itself is an xml document.
- Support versioning
- Works very nicely with SharePoint custom workflows as a workflow association tool.
- Fully integrated in Microsoft Office 2007 suites like Outlook e-mail messages that can be deployed as Outlook e-mail messages, so colleagues can complete forms without leaving the familiar Outlook environment.
- Firewall friendly. InfoPath Forms Services make it easy to extend forms solutions beyond firewall because of using many different Web browsers and mobile devices.
- InfoPath can easily convert Word documents and Excel spreadsheets to forms and build templates to work with.
- InfoPath provides data integrity and version control for document management purposes, and add structure to information gathering by converting legacy documents to rich InfoPath form templates.
- Design of a form is much easier in InfoPath forms with a simple drag-and-drop interface and provides support for prebuilt template parts and shared data connections.
- Creates PDF or XPS and other important document formats and is extensible by addition of a free plug-in to install third party tools and components for document, archival and records management
- Fully integrated with MOSS 2007 and capable of using integrated workflow management tools in Office 2007
- Fully Web browsed technology, includes a design checker to help ensure consistency for forms.
- Support for information rights management to help manage permission control and building a powerful document management team site.
- Fully centralized for entire organization and enables organizations to centrally
Cons:
- A web browser-enabled InfoPath form does not support all features of InfoPath client.
- Inflexible — Difficult or impossible to customize (well, you can argue that you can hack the xsl file of InfoPath)
- No support for image buttons
- No support for html
- No support for tree control
- Difficult to support Forms Based Authentication
- By default, InfoPath cannot support SharePoint web services data connections in FBA.
- Forms Services does not support username() function in FBA. This means that InfoPath form does not recognize the current user.
- Difficult to perform automated web test against Forms Services.
- Difficult to support automated deployment. Basically, you have to unzip the xsn file and programmatically modify the manifest.xsf file, and zip back to the xsn file for automated publishing.
- The way that Forms Services supports deployment of InfoPath forms is quirky – It creates SharePoint solution packages with GUID and creates features with meaningless names on the SharePoint Features folder.
Note: The above content is taken from following link: http://sharenotes.wordpress.com/2008/06/02/how-to-choose-between-infopath-forms-and-custom-aspx-forms/
Below are the blog links which talk more about this topic:
http://www.jyhuh.com/blog/archive/2008/03/02/AspNet_vs_InfoPath_Forms_Services.aspx
http://office12.blogspot.com/2007/06/infopath-web-forms-vs-aspx.html
Wednesday, August 5, 2009
How do you authenticate a user request on a web site?
System.Web namespace has following class which will help us in authenticating the request,
HttpContext.Current.Request.IsAuthenticated
If a web site is configured for anonymous authentication, then all the users are authenticated by default. For intranet/extranet sites, authentication plays a vital role. Where, we can use above property to check.
SharePoint site collection / site also has methods to authenticate user whether the user has enough access permissions on the site collection or a particular site. For more information, check WSS 3.0 or MOSS 2007 SDK.
Tuesday, August 4, 2009
10 Essential Resources for SharePoint Developers
1. Microsoft Office SharePoint Server (MOSS) SDK and ECM Starter Kit http://www.microsoft.com/downloads/details.aspx?familyid=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en
2. Windows SharePoint Services (WSS) SDK and Workflow Starter Kit http://www.microsoft.com/downloads/details.aspx?FamilyID=05e0dd12-8394-402b-8936-a07fe8afaffd&DisplayLang=en
Note: The MOSS SDK includes the WSS SDK documentation and a more robust starter kit
3. Visual Studio Extensions for SharePoint Services (November CTP)http://www.microsoft.com/downloads/details.aspx?familyid=19F21E5E-B715-4F0C-B959-8C6DCBDC1057&displaylang=en
4. Customizing and Branding Web Content Management-Enabled SharePoint Sites
- Customizing and Branding Web Content Management-Enabled SharePoint Sites (Part 1 of 3): Understanding Web Content Management and the Default Features
- Customizing and Branding Web Content Management-Enabled SharePoint Sites (Part 2 of 3): Extending WCM
- Customizing and Branding Web Content Management-Enabled SharePoint Sites (Part 3 of 3): Creating and Configuring WCM-Enabled Sites
5. MOSS for Content Management Server Developers (Beta)Three papers + an analysis tool:
- SharePoint Server 2007 for MCMS 2002 Developershttp://msdn2.microsoft.com/en-us/library/ms406043.aspx
- Assessing and Analyzing Your MCMS 2002 Application for Migration http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmscms02/html/CMSAssessAnalyzing2002Application.asp
- Mapping MCMS 2002 APIs to SharePoint Server 2007 http://msdn.microsoft.com/office/server/moss/2007/migration/default.aspx?pull=/library/en-us/dnmscms02/html/CMSVersionAPIDiffs.asp
- CMS Assessment Tool http://www.microsoft.com/downloads/details.aspx?FamilyId=360D0E83-FA70-4C24-BCD6-426CAFBCC627&displaylang=en
- Planning MCMS 2002 Application Migration to SharePoint Server 2007 http://msdn.microsoft.com/office/server/moss/2007/migration/default.aspx?pull=/library/en-us/dnmscms02/html/CMS2002PlanningForMigration.asp
6. Office Developer Screencasts (applies to all of Office) http://msdn2.microsoft.com/en-us/sharepoint/aa905382.aspx
7. SharePoint Developer Map (also includes InfoPath and 2007 Office System posters)http://www.microsoft.com/downloads/details.aspx?familyid=771aeb45-9d27-4d1f-acd1-9b950637d64e&displaylang=en
8. MOSS and WSS Online Clinics. Online clinics covering SharePoint technology are free for a limited time!!! Check 'em out:
- WSS Development: http://www.microsoft.com/learning/elearning/course/5045.asp
- WSS Infrastructure: http://www.microsoft.com/learning/elearning/course/3369.asp
- MOSS Development: http://www.microsoft.com/learning/elearning/course/5046.asp
- MOSS Infrastructure: http://www.microsoft.com/learning/elearning/course/3370.asp
9. MOSS portal on the Office Developer Centerhttp://msdn.microsoft.com/moss
Includes the Upgrade and Migration Center for SharePoint Developers http://msdn2.microsoft.com/en-us/office/aa905505.aspx
10. SharePoint Developer Centerhttp://msdn.microsoft.com/sharepoint
11. 7 Development Projects for SharePoint – online book http://download.microsoft.com/download/0/2/f/02f0f661-88e1-43c2-b523-88d2e9e6802f/7%20development%20projects%20with%20the%202007%20microsoft%20office%20system%20and%20windows%20sharepoint%20services%202007.pdf
12. MSDN Community ContentMSDN Community Content is a way of providing Wiki-style annotations to core Microsoft documentation. For example, you can add code samples, remarks or “gotchas,” translations, or other comments that enhance or supplement the core MSDN documentation.
- WSS – http://msdn2.microsoft.com/en-us/library/ms441339.aspx
- MOSS – http://msdn2.microsoft.com/en-us/library/ms550992.aspx
13. F1 Help from Visual Studio Document ExplorerFollow the steps in this blog post to receive F1 Help directly from your code in Microsoft Visual Studio 2005.
14. Project SDK DownloadI see a lot of questions about SharePoint integration with Project Server, and the Project SDK is also produced by my team. http://www.microsoft.com/downloads/details.aspx?FamilyID=2672f6f9-7028-4b30-99a2-18cb1eed1abe&DisplayLang=en
More from our SharePoint MVPs and Partners
SharePoint MVPs are also producing great lists of resources for SharePoint; here are two examples if you haven’t already seen them.
- Andrew Connell – http://andrewconnell.com/blog/articles/MossWcmResources.aspx
- Mark Kruger – http://www.sharepointblogs.com/mkruger/archive/2006/05/25/7570.aspx
Note: I got this list from http://blogs.msdn.com/randalli/archive/2007/01/08/10-essential-resources-for-sharepoint-developers.aspx
How do you tell current sharepoint page is in edit/display/other modes?
- Display
- Edit
- Invalid
- New
With following condition, you can check in which mode you are in:
if (SPContext.Current.FormContext.FormMode == Microsoft.SharePoint.WebControls.SPControlMode.Display)
{
// you are in display mode
}