I’m sure it comes as no surprise that Office InfoPath 2007 is the forms designer of choice for Office SharePoint Server 2007. But the average SharePoint developer, used to reaching for ASP.NET when he needs to create a form for SharePoint, might be surprised at all the places you can employ InfoPath to quickly create forms for enterprise management functions.
The main reason for this is the fact that in InfoPath 2007 you can create what the InfoPath guys are calling symmetrical forms. Symmetrical forms are InfoPath forms that can be hosted either in the Office client applications like Word, PowerPoint, and Excel, as well as in the SharePoint Server browser interface. So you can create a single form, and know it’ll look and work the same whether the user sees it in an Office application or in the browser interface.
(How is this possible? Short version: SharePoint Server 2007 uses Office Forms Services, a server-based run-time environment for InfoPath 2007 forms, to host the forms in the browser. Office Forms Services consumes the forms you create in the InfoPath client and renders them in an ASP.NET framework, which acts as a run-time environment for the form. This environment presents a form editing experience that matches the InfoPath 2007 client application. The Office client applications, on the other hand, include the ability to host the native InfoPath forms. )
So naturally, symmetrical forms are very handy for enterprise content management areas, where the user might be working with documents in their native client application, or online through the SharePoint Server browser interface.
Here’re a couple of the places where you can employ InfoPath forms for enterprise content management in SharePoint Server 2007:
· Document Information Panels
A document information panel is a form that is displayed within the client application, and which contains fields for the document metadata. Document information panels enable users to enter important metadata about a file anytime they want, without having to leave the Microsoft Office system client application. For files stored in document libraries, the document information is actually the columns of the content type assigned to that file. The document information panel displays a field for each content type property, or column, the user can edit.
You can create document information panels either from within SharePoint Server, or directly from InfoPath 2007.
How to: Create or Edit a Custom Document Information Panel from within Office SharePoint Server 2007
How to: Create a Custom Document Information Panel from InfoPath
· Workflow Forms
You can create InfoPath forms for use with workflows in SharePoint Server 2007. That way, the user can interact with the workflow form from within the Office client application, and not just through the browser.
SharePoint Server 2007 uses Office Forms Services to display workflow forms, be they association, initiation, modification, or edit task forms. The only difference is that there’s a different .aspx page hosting the Office Forms Services control for each type of workflow form. Initiation forms are hosted by a different .aspx page than modification forms, for example. Each different hosting page knows how to submit the information from its type of form to SharePoint Server (and hence, to the workflow engine).
The .aspx pages that contain the Office Forms Services web part are included as part of SharePoint Server, of course.
How to: Design an InfoPath Form for a Workflow in Office SharePoint Server 2007
So if your putting together an enterprise content management solution in Office SharePoint Server, and you’d like your user to be able to interact with your custom forms in the client application and the browser, it might be worth your while to take a look at InfoPath 2007 and Office Forms Services.
Thursday, August 20, 2009
Wednesday, August 19, 2009
Microsoft Office SharePoint Server 2007 Top 10 Benefits
Provide a simple, familiar, and consistent user experience.
Office SharePoint Server 2007 is tightly integrated with familiar client desktop applications, e-mail, and Web browsers to provide a consistent user experience that simplifies how people interact with content, processes, and business data. This tight integration, coupled with robust out-of-the-box functionality, helps you employ services themselves and facilitates product adoption.
Boost employee productivity by simplifying everyday business activities.
Take advantage of out-of-the-box workflows for initiating, tracking, and reporting common business activities such as document review and approval, issue tracking, and signature collection. You can complete these activities without any coding. Tight integration with familiar client applications, e-mail, and Web browsers provide you with a simple, consistent experience. Modifying and extending these out-of-the-box workflow processes is made easy through tools like Microsoft Office SharePoint Designer 2007 (the next release of Microsoft Office FrontPage).
Help meet regulatory requirements through comprehensive control over content.
By specifying security settings, storage policies, auditing policies, and expiration actions for business records in accordance with compliance regulations, you can help ensure your sensitive business information can be controlled and managed effectively. And you can reduce litigation risk for your organization. Tight integration of Office SharePoint Server 2007 with familiar desktop applications means that policy settings are rendered onto client applications in the Microsoft Office system, making it simpler for employees to be aware of and comply with regulatory requirements.
Effectively manage and repurpose content to gain increased business value.
Business users and content authors can create and submit content for approval and scheduled deployment to intranet or Internet sites. Managing multilingual content is simplified through new document library templates that are specifically designed to maintain a relationship between the original version and different translations of a document.
Simplify organization-wide access to both structured and unstructured information across disparate systems.
Give your users access to business data found in common line-of-business systems like SAP and Siebel through Office SharePoint Server 2007. Users can also create personalized views and interactions with business systems through a browser by dragging configurable back-end connections. Enterprise-wide Managed Document Repositories help your organizations store and organize business documents in one central location.
Connect people with information and expertise.
Enterprise Search in Office SharePoint Server 2007 incorporates business data along with information about documents, people, and Web pages to produce comprehensive, relevant results. Features like duplicate collapsing, spelling correction, and alerts improve the relevance of the results, so you can easily find what you need.
Accelerate shared business processes across organizational boundaries.
Without coding any custom applications, you can use smart, electronic forms–driven solutions to collect critical business information from customers, partners, and suppliers through a Web browser. Built-in data validation rules help you gather accurate and consistent data that can be directly integrated into back-end systems to avoid redundancy and errors that result from manual data re-entry.
Share business data without divulging sensitive information.
Give your employees access to real-time, interactive Microsoft Office Excel spreadsheets from a Web browser through Excel Services running on Office SharePoint Server 2007. Use these spreadsheets to maintain and efficiently share one central and up-to-date version while helping to protect any proprietary information embedded in the documents (such as financial models).
Enable people to make better-informed decisions by presenting business-critical information in one central location.
Office SharePoint Server 2007 makes it easy to create live, interactive business intelligence (BI) portals that assemble and display business-critical information from disparate sources, using integrated BI capabilities such as dashboards, Web Parts, scorecards, key performance indicators (KPIs), and business data connectivity technologies. Centralized Report Center sites give users a single place for locating the latest reports, spreadsheets, or KPIs.
Provide a single, integrated platform to manage intranet, extranet, and Internet applications across the enterprise.
Office SharePoint Server 2007 is built on an open, scalable architecture, with support for Web services and interoperability standards including XML and Simple Object Access Protocol (SOAP). The server has rich, open application programming interfaces (APIs) and event handlers for lists and documents. These features provide integration with existing systems and the flexibility to incorporate new non-Microsoft IT investments.
Office SharePoint Server 2007 is tightly integrated with familiar client desktop applications, e-mail, and Web browsers to provide a consistent user experience that simplifies how people interact with content, processes, and business data. This tight integration, coupled with robust out-of-the-box functionality, helps you employ services themselves and facilitates product adoption.
Boost employee productivity by simplifying everyday business activities.
Take advantage of out-of-the-box workflows for initiating, tracking, and reporting common business activities such as document review and approval, issue tracking, and signature collection. You can complete these activities without any coding. Tight integration with familiar client applications, e-mail, and Web browsers provide you with a simple, consistent experience. Modifying and extending these out-of-the-box workflow processes is made easy through tools like Microsoft Office SharePoint Designer 2007 (the next release of Microsoft Office FrontPage).
Help meet regulatory requirements through comprehensive control over content.
By specifying security settings, storage policies, auditing policies, and expiration actions for business records in accordance with compliance regulations, you can help ensure your sensitive business information can be controlled and managed effectively. And you can reduce litigation risk for your organization. Tight integration of Office SharePoint Server 2007 with familiar desktop applications means that policy settings are rendered onto client applications in the Microsoft Office system, making it simpler for employees to be aware of and comply with regulatory requirements.
Effectively manage and repurpose content to gain increased business value.
Business users and content authors can create and submit content for approval and scheduled deployment to intranet or Internet sites. Managing multilingual content is simplified through new document library templates that are specifically designed to maintain a relationship between the original version and different translations of a document.
Simplify organization-wide access to both structured and unstructured information across disparate systems.
Give your users access to business data found in common line-of-business systems like SAP and Siebel through Office SharePoint Server 2007. Users can also create personalized views and interactions with business systems through a browser by dragging configurable back-end connections. Enterprise-wide Managed Document Repositories help your organizations store and organize business documents in one central location.
Connect people with information and expertise.
Enterprise Search in Office SharePoint Server 2007 incorporates business data along with information about documents, people, and Web pages to produce comprehensive, relevant results. Features like duplicate collapsing, spelling correction, and alerts improve the relevance of the results, so you can easily find what you need.
Accelerate shared business processes across organizational boundaries.
Without coding any custom applications, you can use smart, electronic forms–driven solutions to collect critical business information from customers, partners, and suppliers through a Web browser. Built-in data validation rules help you gather accurate and consistent data that can be directly integrated into back-end systems to avoid redundancy and errors that result from manual data re-entry.
Share business data without divulging sensitive information.
Give your employees access to real-time, interactive Microsoft Office Excel spreadsheets from a Web browser through Excel Services running on Office SharePoint Server 2007. Use these spreadsheets to maintain and efficiently share one central and up-to-date version while helping to protect any proprietary information embedded in the documents (such as financial models).
Enable people to make better-informed decisions by presenting business-critical information in one central location.
Office SharePoint Server 2007 makes it easy to create live, interactive business intelligence (BI) portals that assemble and display business-critical information from disparate sources, using integrated BI capabilities such as dashboards, Web Parts, scorecards, key performance indicators (KPIs), and business data connectivity technologies. Centralized Report Center sites give users a single place for locating the latest reports, spreadsheets, or KPIs.
Provide a single, integrated platform to manage intranet, extranet, and Internet applications across the enterprise.
Office SharePoint Server 2007 is built on an open, scalable architecture, with support for Web services and interoperability standards including XML and Simple Object Access Protocol (SOAP). The server has rich, open application programming interfaces (APIs) and event handlers for lists and documents. These features provide integration with existing systems and the flexibility to incorporate new non-Microsoft IT investments.
Thursday, August 13, 2009
2009 Top 10 Innovators and Influencers
The SharePoint team would like to congratulate Jeff Teper for making Information Week’s 2009 Top 10 Innovators and Influencers list! It’s a very impressive list – for example, President Obama, Sam Ruby (REST), etc. Check out the full article here.
A brief history of his career at Microsoft:
Jeff joined Microsoft in 1992 to work with information technology strategists and corporate developers on early Windows NT deployments. He led the creation of a new business group focused on knowledge management that introduced SharePoint Portal Server in 2001, which has since grown to be the leading portal and collaboration product, with over 10,000 customers and partners.
Fast forward to today: as corporate vice president of the SharePoint Research & Design Group at Microsoft, Jeff is responsible for SharePoint Server and its portal, content management, search and line-of-business integration technologies. His team released the latest version, SharePoint Server 2007, and is working on the next version, SharePoint Server 2010.
Refer:http://blogs.msdn.com/sharepoint/archive/2009/04/15/2009-top-10-innovators-influencers.aspx
A brief history of his career at Microsoft:
Jeff joined Microsoft in 1992 to work with information technology strategists and corporate developers on early Windows NT deployments. He led the creation of a new business group focused on knowledge management that introduced SharePoint Portal Server in 2001, which has since grown to be the leading portal and collaboration product, with over 10,000 customers and partners.
Fast forward to today: as corporate vice president of the SharePoint Research & Design Group at Microsoft, Jeff is responsible for SharePoint Server and its portal, content management, search and line-of-business integration technologies. His team released the latest version, SharePoint Server 2007, and is working on the next version, SharePoint Server 2010.
Refer:http://blogs.msdn.com/sharepoint/archive/2009/04/15/2009-top-10-innovators-influencers.aspx
Changing redirection in SharePoint with HttpModule and HttpHandler
Hi all,
SharePoint is maintaining some redirection by it’s on like error page, by clicking on user or group it will redirect to profile page and so many other…
In one of our requirement we have to implement custom profile page and custom error page.
So for this we need to over ride default SharePoint navigation.
And that can be implemented using HttpModule and HttpHandler.
To know the concept of HttpModule and HttpHander here is great article from Gustavo Velez
So here we go for changing Error page (check comments between the code for understanding)
class RedirectErrorModule : IHttpModule
{
//Custom error page relative URL
const string errorUrl = "/_layouts/CustomForder/CustomError.aspx";
// implement dispose method to dispose used object
public void Dispose()
{
//dispose you objects
}
public void Init(HttpApplication context)
{
//Define event for application error so that you can override.
context.Error += new EventHandler(context_Error);
}
//implement error event
void context_Error(object sender, EventArgs e)
{
string strURL = string.Empty;
//Current site URL
string strSiteURL = SPContext.Current.Site.Url;
//Current web url
string strWebURL = SPContext.Current.Web.Url;
//Clearing context error
HttpContext.Current.Server.ClearError();
//Clearing the response
HttpContext.Current.Response.Clear();
//redirecting to our custom error page.
HttpContext.Current.Response.Redirect(strWebURL + errorUrl, false);
}
}
After doing this we need to add entry in web.config for the same.
Enter following tag in section of your web.config
Check syntax from existing tags from web.config.
The same way we can implement any redirection with the use of end request Event.
public void Init(HttpApplication context)
{
//end request handler
context.EndRequest += new EventHandler(context_EndRequest);
}
//End request implementation
void context_EndRequest(object sender, EventArgs e)
{
HttpApplication httpApp = sender as HttpApplication;
HttpContext context = httpApp.Context;
string httpUrl = context.Request.Url.ToString();
string strWebURL = string.Empty;
string struserID = string.Empty;
//compare your URL and redirect it to custom one
// this is example to redirecting userdisp page (profile page) to custom page.
if (httpUrl.ToLower().Contains("/_layouts/userdisp.aspx"))
{
//implement business logic and generate url if needed
HttpContext.Current.Server.ClearError();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Redirect(<>);
}
}
And same can be incorporated in one class no need to create another one.
And remember in web.config enter your module at the end after all SharePoint’s event handler so it will not create any problem. There is not at all problem if you write it before SharePoint’s but better to play safe :)
SharePoint is maintaining some redirection by it’s on like error page, by clicking on user or group it will redirect to profile page and so many other…
In one of our requirement we have to implement custom profile page and custom error page.
So for this we need to over ride default SharePoint navigation.
And that can be implemented using HttpModule and HttpHandler.
To know the concept of HttpModule and HttpHander here is great article from Gustavo Velez
So here we go for changing Error page (check comments between the code for understanding)
class RedirectErrorModule : IHttpModule
{
//Custom error page relative URL
const string errorUrl = "/_layouts/CustomForder/CustomError.aspx";
// implement dispose method to dispose used object
public void Dispose()
{
//dispose you objects
}
public void Init(HttpApplication context)
{
//Define event for application error so that you can override.
context.Error += new EventHandler(context_Error);
}
//implement error event
void context_Error(object sender, EventArgs e)
{
string strURL = string.Empty;
//Current site URL
string strSiteURL = SPContext.Current.Site.Url;
//Current web url
string strWebURL = SPContext.Current.Web.Url;
//Clearing context error
HttpContext.Current.Server.ClearError();
//Clearing the response
HttpContext.Current.Response.Clear();
//redirecting to our custom error page.
HttpContext.Current.Response.Redirect(strWebURL + errorUrl, false);
}
}
After doing this we need to add entry in web.config for the same.
Enter following tag in
Check syntax from existing tags from web.config.
The same way we can implement any redirection with the use of end request Event.
public void Init(HttpApplication context)
{
//end request handler
context.EndRequest += new EventHandler(context_EndRequest);
}
//End request implementation
void context_EndRequest(object sender, EventArgs e)
{
HttpApplication httpApp = sender as HttpApplication;
HttpContext context = httpApp.Context;
string httpUrl = context.Request.Url.ToString();
string strWebURL = string.Empty;
string struserID = string.Empty;
//compare your URL and redirect it to custom one
// this is example to redirecting userdisp page (profile page) to custom page.
if (httpUrl.ToLower().Contains("/_layouts/userdisp.aspx"))
{
//implement business logic and generate url if needed
HttpContext.Current.Server.ClearError();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Redirect(<
}
}
And same can be incorporated in one class no need to create another one.
And remember in web.config enter your module at the end after all SharePoint’s event handler so it will not create any problem. There is not at all problem if you write it before SharePoint’s but better to play safe :)
Search ASPX pages from sub site in SharePoint (MOSS 2007)
Search ASPX pages from sub site in SharePoint (MOSS 2007)
In my site collection I have one root site and 2 other sub sites. I have configured Search on site collection and crawl works successfully. Now when I try to search contents from search center results from root site return where content from sub sites are not returned in search result. I amazed and do lot of search on net finally I come to know for each sub site we need to turn on index all .ASPX pages to crawl the content of that ASPX.
Follow the steps to enable sub site ASPX pages in crawl.
Go to sub site > click site settings > in site administrator there is one option called search visibility
Now click on this search visibility option and click on radio button allow this web to appear in search result? To yes
And middle radio button of second option that is "Always index all ASPX pages on this site"
Crawl the content again. It will work for you
Thanks. Your comments and suggestion are appreciable
For more: refer http://www.sharepointkings.com/2009/07/search-aspx-pages-from-sub-site-in.html
In my site collection I have one root site and 2 other sub sites. I have configured Search on site collection and crawl works successfully. Now when I try to search contents from search center results from root site return where content from sub sites are not returned in search result. I amazed and do lot of search on net finally I come to know for each sub site we need to turn on index all .ASPX pages to crawl the content of that ASPX.
Follow the steps to enable sub site ASPX pages in crawl.
Go to sub site > click site settings > in site administrator there is one option called search visibility
Now click on this search visibility option and click on radio button allow this web to appear in search result? To yes
And middle radio button of second option that is "Always index all ASPX pages on this site"
Crawl the content again. It will work for you
Thanks. Your comments and suggestion are appreciable
For more: refer http://www.sharepointkings.com/2009/07/search-aspx-pages-from-sub-site-in.html
Enable Anonymous access for site published through ISA server
If you want to enable anonymous access for SharePoint site published through ISA server with external URL different from the internal URL, you must enable it using the site internal URL otherwise the anonymous access option will not appear.
How to enable Anonymous access:
Enable anonymous access
Configure anonymous access (Office SharePoint Server)
We have a SharePoint site created with internal URL http://anony:444 then the site published through ISA server using URL http://anonymous.demo.com using SharePoint publishing rule.
To configure anonymous access one of the steps is to enable anonymous access from advanced permissions on the top level site Site Settings (check screen shot below)
This link will not appear unless you access the site with the internal URL, here in our example is http://anony:444
How to enable Anonymous access:
Enable anonymous access
Configure anonymous access (Office SharePoint Server)
We have a SharePoint site created with internal URL http://anony:444 then the site published through ISA server using URL http://anonymous.demo.com using SharePoint publishing rule.
To configure anonymous access one of the steps is to enable anonymous access from advanced permissions on the top level site Site Settings (check screen shot below)
This link will not appear unless you access the site with the internal URL, here in our example is http://anony:444
Programmatically creating views for a SharePoint discussion forum
As you can see I'm still working on sites, lists and views and I ran into another challenge.
It started out very basic. I wanted to create a discussion forum list on a site.
// Create new list
listGuid = newWeb.Lists.Add("Forum", "ForumDescription", "Forum", "00BFEA71-6A49-43FA-B535-D15C05500108", 108, "", SPListTemplate.QuickLaunchOptions.Off);
SPList forumList = newWeb.Lists[listGuid];
After succesfully creating the forum list I wanted to add a custom view to the list. That seemed to be easy enough as well.
// Add an extra view to the list
viewFields = new StringCollection();
viewFields.Add("LinkDiscussionTitle");
viewFields.Add("Author");
viewFields.Add("DiscussionLastUpdated");
newView = forumList.Views.Add("Portal View", viewFields, "", 100, true, false);
newView.Update();
Unfortunately creating a view using the code above causes the link on the title takes you to the forum list, instead of taking to the item for which you clicked the title. After doing some investigating via the user interface I found out that the subtle difference can be found in the View settings, under Folders. This setting is specific for the discussion forum. By default the choices "Show items inside folders" and "In all folders" is selected. When you change the second setting (Show this view:) to "In the top-level folder" the link on the title item behaves the way you expect and want it to behave.
Now the next challenge was to find out how to change the Folders settings using the object model. There is no property on the SPList or SPView object to change these settings, but after comparing the xml exports of the list with both settings I found out that there is a ContentTypeId property on the SPView object and that this was the only thing that changed between the two exports.
The way to set the "Show this view" setting to "In the top-level folder" is by using this code. Notice the second to last line, that's the line that I added to achieve this.
// Add an extra view to the list
viewFields = new StringCollection();
viewFields.Add("LinkDiscussionTitle");
viewFields.Add("Author");
viewFields.Add("DiscussionLastUpdated");
newView = forumList.Views.Add("Portal View", viewFields, "", 100, true, false);
newView.ContentTypeId = new SPContentTypeId("0x012001");
newView.Update()
So in the end the code you need to get the right settings for you discussion forum view is not difficult at all, the difficult part was finding out what code to use.
Note:For more refer http://sharepointblogs.com/mirjam/archive/2009/08/13/programmatically-creating-views-for-a-sharepoint-discussion-forum.aspx
It started out very basic. I wanted to create a discussion forum list on a site.
// Create new list
listGuid = newWeb.Lists.Add("Forum", "ForumDescription", "Forum", "00BFEA71-6A49-43FA-B535-D15C05500108", 108, "", SPListTemplate.QuickLaunchOptions.Off);
SPList forumList = newWeb.Lists[listGuid];
After succesfully creating the forum list I wanted to add a custom view to the list. That seemed to be easy enough as well.
// Add an extra view to the list
viewFields = new StringCollection();
viewFields.Add("LinkDiscussionTitle");
viewFields.Add("Author");
viewFields.Add("DiscussionLastUpdated");
newView = forumList.Views.Add("Portal View", viewFields, "", 100, true, false);
newView.Update();
Unfortunately creating a view using the code above causes the link on the title takes you to the forum list, instead of taking to the item for which you clicked the title. After doing some investigating via the user interface I found out that the subtle difference can be found in the View settings, under Folders. This setting is specific for the discussion forum. By default the choices "Show items inside folders" and "In all folders" is selected. When you change the second setting (Show this view:) to "In the top-level folder" the link on the title item behaves the way you expect and want it to behave.
Now the next challenge was to find out how to change the Folders settings using the object model. There is no property on the SPList or SPView object to change these settings, but after comparing the xml exports of the list with both settings I found out that there is a ContentTypeId property on the SPView object and that this was the only thing that changed between the two exports.
The way to set the "Show this view" setting to "In the top-level folder" is by using this code. Notice the second to last line, that's the line that I added to achieve this.
// Add an extra view to the list
viewFields = new StringCollection();
viewFields.Add("LinkDiscussionTitle");
viewFields.Add("Author");
viewFields.Add("DiscussionLastUpdated");
newView = forumList.Views.Add("Portal View", viewFields, "", 100, true, false);
newView.ContentTypeId = new SPContentTypeId("0x012001");
newView.Update()
So in the end the code you need to get the right settings for you discussion forum view is not difficult at all, the difficult part was finding out what code to use.
Note:For more refer http://sharepointblogs.com/mirjam/archive/2009/08/13/programmatically-creating-views-for-a-sharepoint-discussion-forum.aspx
Subscribe to:
Posts (Atom)