Wednesday, April 26, 2006

INFO - Amanda Murphy - The Beauty of SharePoint 2007 - Improved Content Editor Web Part

IMPRESSIVE Enhancements


The Beauty of SharePoint 2007 - Improved Content Editor Web Part



The content editor web part in SharePoint 2003 was very popular - especially for those that wanted to easily add custom static text, images or special scripts to a page. In SharePoint 2007 we see this web part has improved dramatically by addressing a couple of key pain points that existed with the previous version.



Tables



The support for tables has drastically improved by allowing for easier manipulations to a table after its creation as well as support for pre-defined styles and formatting. Overall inserting a table in the content editor is a much more enjoyable experience.











Images



Inserting an image in a content editor web part in 2003 was a little difficult for users that may not have been overly technical or comfortable with the concept of linking to pictures stored on the web or in their site. The new improved content editor, makes it much easier for a user to browse to an image stored on their SharePoint site (or site collection) or an alternate location. The ability to change image size on the fly is another positive move.











Copying Text



Remember the styling pains associated with copying text from a document to the content editor? Well the new improved editor makes this much nicer allowing for the on the fly removing of styles and undesired formatting.







Hyperlinks



You may also recall that inserting hyperlinks in your content editor that were to open in a new window was a task that had to be completed by going into the source editor and adding a target attribute to your link. This has been improved as well by allowing user to specify when creating a hyperlink whether it should open in a new window.



Thursday, April 20, 2006

Advanced Document Sciences - Project Management, Taxonomy, Search, Text Mining, Information Discovery

Advanced Document Sciences - Project Management, Taxonomy, Search, Text Mining, Information Discovery Hoping that next version of MOSS 2007 Search does the following "Enterprise Search

Get the information you need instead of thousand of useless responses from your search. Proper design and implementation is the key to getting the most from your enterprise search engine. Modern enterprise search engines are sophisticated and complex. There are many options that need to be considered in order to deliver a high quality implementation, and your search engine needs to be set up in a way that will provide results that are relevant to user needs. Using our Advanced Information Access methodology, we can optimize your enterprise search capability in a way that matches user needs, and provides far more relevant and concise results. We carefully design the information security aspects of enterprise search so that sensitive information is readily available, but only to those that has the rights to access it. By applying group and role-level access control to enterprise search, we create an environment in which users gain faster access to the content that they need and is more relevant to their work without the clutter and noise of typical search results.

As a part of our Advanced Information Access methodology, optimized enterprise search can be implemented in harmony with linguistic analysis, fact extraction, and automated categorization to present high-quality information from very large volumes of disorganized, unstructured content. Advanced Information Access makes it easy for end users to get the information they need in a concise, contextually appropriate, and secure manner.
"

Earley & Associates Text Mining: Search's Silver Lining

Not in SharePoint as of Yet, big win if the next version of the Search Engine has text mining, automatic categorization, Taxonomy, Search Ranking (with Feedback), and other items to improve intranet search relevancy.
Earley & Associates Text Mining: Search's Silver Lining

HOWTO - Greg McAllister - Sharepoint List Access

Sharepoint List Access



As promised, I will share a few pointers on accessing Sharepoint lists.


As a little background, we have created our own Document control process. This system has grown over the many years from a mere text list of controlled documents, to a small piece of VB software at one point and an MS Access DB project not to long ago. I have finally moved the product into Sharepoint as a Infopath project. For all intents and purposes it works fine for the most part. The 2 issues that seem to plague it are Users ability to follow the steps necessary to operate the form and its process and the occasional loss of data due to network timing issues. The second problem is specifically related to retrieving and incrementing a number on the SQL database.


Without going into detail about the problems, let it be known that they are causing undue stress to the users and need to be fixed. The users have also requested some further work flow automation. Analyzing the situation made it apparent that th users needed more guidance and as little interaction with the process as possible. This could be accomplished in several ways but the thought of creating a wizard really got stuck in my mind. I needed a tool that would allow me to do this because a wizard is considered more user friendly than a form that won't let you do something unless you fill it in step by step. This is a psychological thing  am sure but it is oh so painfully true.


My tool of choice ended up being VS 2003. Reason being is that I am an avid VB scripter and programmer. By using the Infopath toolkit for VS 2003, I will open the door to all the features that I am used to having in the full blown VB environment. Data Connections and dialogs and manipulation to a greater extent that the Infopath software provides directly. Basically  I want control and this is the way to do it.  VS 2003 solves both my problems. Because of the direct access to the SQL database - I can access the document number to be used on the form, increment it in my code, and write back the new number for the next user, while locking the database until the process is finished. This prevents any issues with SQL having to run the process and the confusion it seemed to find itself in on a rare occasion where the same number might be used twice. The other feature is that the users will be guided through filling out the form in dialog boxes. Once that is completed then they are presented with their form which they can change or file as they determine. They will not be in control of deleting, saving or printing at the Infopath software level, which has caused us a whole slew of problems in the past. The additional feature is that any and all changes are dialog driven. This means that no one can sneak into a form and change its contents without a dialog being presented for the change and the change being recorded. No more sneaky stuff.


The last and probably most advantageous benefit is the ability to look at data on the Sharepoint sites. This enables us to generate lookup lists on the Site, such as who should sign, types of documents and types of related information. Sure this information could be added pragmatically, but it changes and sometimes it changes frequently. Sometimes the change is normal but so infrequently used that it is easily forgotten as that once in a while exception. Because this information can now be matrix into Sharepoint lists - It can be maintained easily on the fly by the Document control team. The programmer is no longer needed to modify the form or the program. This particular feature is going to become an even greater tool in the future as we make this ability known to our product programmers. Lists that have been stored in proprietary systems can be moved to Sharepoint and accessed directly by .Net applications. There will be an explosion of excitement here in the near future!


 


The Source


Back to the point of Sharepoint lists. How do I get the information? The following assumes that you have used VS before and that you use tools more than code. It saves a lot of time that way. By the way - this works for ASP.NET as well as VB.NET and C#.NET.



  1. First we must find out list and its contents by using the VS 2003 Server explorer
  2. Locate the Lists data table and right click selecting Retrieve Data from Table
  3. All the data is returned so to find our particular list click on the SQL button on the menu tool bar
  4. In the SQL area enter the line WHERE tp_Title = N'myListName' (replace the myListName with the list name that you need for the look up such as Authors
  5. Click on the exclamation point to run the query
  6. One row should be returned where you then need to copy the tp_ID field

    1. To verify you have the correct List ID you can close this view and then open the UserData Table by right clicking and selecting the Retrieve Data From Table selection
    2. Once again click on the SQL button on the menu tool bar
    3. Enter the where clause as follows: WHERE tp_ListID = N'{78878585858955858958587958585879}' replacing the bracket number with the one copied from from the previous table
    4. Click again on the exclamation point menu tool bar item and a list of the list's contents will appear
    5. Verify the contents match the data that you expected. If it doesn't go back and try to find the right list again
    6. Maintain the list ID in your clipboard for future use

  7. Now lets drag a SQLConnection object to our form
  8. Name the connection conSharepoint
  9. Set the connection to your Sharepoint SQL server using the SITE database as the source (ex: workstation id=MySSServer;packet size=4096;integrated security=SSPI;data source=MySSServer;persist security info=False;initial catalog=MyInfo1_SITE
  10. Drag an SQLAdaptor to your form
  11. Follow along with the wizard

    1. select the data connection
    2. select use SQL statements
    3. click on advanced options
    4. deselect the first option (we do not use this particular for updating the list's contents. The lists are maintained through Sharepoint by Sharepoint users) which will deselect all the others for you
    5. click on query builder
    6. select UserData from the tables listing and click on Add then close
    7. Select the fields you want to use remembering that the tp_ListID is required.
    8. Note that you will select the appropriate fields that contain data necessary for your lookup. The easiest thing to remember is that text fields will be stored in the nvarchar fields, integers in the int fields, etc... The easiest way to figure this out is to select several from each type which will then display those fields on your initial test of the query (the next steps)
    9. in the criteria section of the builder type in = and then paste the tp_ID you previously copied from the list table. The result should look like = {5585-6576-79679-8986}
    10. Right click in the statement area and click on Run. You should see a listing of the Sharepoint list contents
    11. If everything is correct then click on OK, Next (a message appears showing that the Select statement was successfully built) and Finish

  12.  Name the Adapter after your list such as daDCAAuthors
  13. Rename the SQLSelectCommand to something like selAuthors
  14. Click on the Generate Data Set link at the bottom of the data adapter properties
  15. Click on New and enter something like dsAuthors in the text name field
  16. Make sure that the daAuthors adapter is selected
  17. Click on OK

You can now use the Sharepoint list as a data source for a loop list, grid or other bound control as necessary. Below is an example of what you need for a list on your form:



  1. Modify the select statement to meet your list criteria. In my case I need specific authors based on the type of book they write:

    1. The original sqlAuthors looked like this:

    2. SELECT tp_ListId, nvarchar1, float1 FROM UserData WHERE (tp_ListId = N'{35ED7787-F11F-4F16-92C0-E93A72A11608}')



    3. I change it using the Command object to read


      SELECT tp_ListId, nvarchar1, float1 FROM UserData WHERE (tp_ListId = N'{35ED7787-F11F-4F16-92C0-E93A72A11608}' AND NVARCHAR1 = N'Fiction')



  2. Then fill your data set with code similar to:


    daAuthor.Fill(DsAuthor1)



  3. Now you need to loop through the data set adding each member to your list:


    For x = 0 To DsAuthor1.UserData.Count - 1


    CheckedListBox1.Items.Add(DsDocType1.UserData.Item(x).nvarchar1, False)


    tmpTitle = DsDocType1.UserData.Item(x).nvarchar1


    Next


That is it in a nutshell. In the case of some lists you might need to make adjustments based on on items that are repeated and you only want distinct items to appear but that goes into greater detail than we want here.


Summary


Before we all loose track here - this is important to Sharepoint users for 2 reasons. First - you can now empower your users with the ability to maintain critical data that is used outside of Sharepoint. Secondly, you can use Sharepoint to be a repository of Critical program Information.


While I only use it currently to retrieve simple lists, in the future our users can maintain test data and other important structures that are used in our parts manufacturing, testing and programming. These lists will be come easier to maintain by the programmers and testers. All told - pretty powerfull stuff for the collaboration of entire departments and groups.


See you all next month with latest on the Document control project (after I make it to the Sharepoint Developers Bootcamp!).


Greggers

INFO - GraphicalWonder.com - Top 10 Benefits of using SharePoint Designer 2007

Top 10 Benefits of using SharePoint Designer 2007



Top 10 Benefits of Microsoft Office SharePoint Designer 2007

Courtesy of Microsoft



Office SharePoint Designer 2007 provides the powerful tools you need to deliver compelling and attractive SharePoint sites and quickly build workflow-enabled applications and reporting tools on the SharePoint platform, all in an IT-managed environment. Be more productive with next-generation Microsoft Web technologies.



Enjoy a new level of support for creating and customizing next-generation SharePoint Web sites and technologies.



Microsoft Office SharePoint Designer 2007 has deep editing support for the technologies underlying Microsoft Windows SharePoint Services technology, such as ASP.NET 2.0, cascading style sheets, and Microsoft Windows Workflow Foundation.

Customize SharePoint sites exactly the way you want. Customize SharePoint sites exactly the way you want.



Choose the format and content of your SharePoint pages with Office SharePoint Designer 2007—the customization tool for the entire SharePoint family. You can tailor SharePoint sites to your needs and set brand requirements using the latest ASP.NET technology, established Web standards such as XHTML, and cascading style sheets.

Easily make or undo changes across entire SharePoint sites. Easily make or undo changes across entire SharePoint sites.



Make format and layout changes to entire SharePoint sites simply by editing the master page and modifying the SharePoint cascading style sheets. Undo changes to the home page using the Revert to Site Template Page command in Office SharePoint Designer 2007.

Maintain control over site customization. Maintain control over site customization.



Site administrators and IT managers can control exactly how Office SharePoint Designer 2007 is used to help ensure information workers have an IT-managed and -compliant experience. Set up Contributor Settings for each role defined in the SharePoint site, and control access to specific actions.

Create workflows to automate business processes. Create workflows to automate business processes.



Automate business processes associated with SharePoint lists and document libraries using the Workflow Designer, a powerful and easy-to-use tool that comes with Office SharePoint Designer 2007. Set up custom workflow conditions and actions, link them to your SharePoint data, and deploy them with a single click, without installing server code.

Create interactive Web pages without writing code. Create interactive Web pages without writing code.



Office SharePoint Designer 2007 has a full set of tools to help you integrate data into SharePoint pages and present that data using XSLT in SharePoint sites. You can access tools for using XSLT Data Views, List View Web Parts, Web Part connections, ASP.NET controls, and workflow.

Integrate business data. Integrate business data.



Create views and forms for working with a variety of data sources using tools supported by Office SharePoint Designer 2007. Build SharePoint Web pages that present and edit data coming from SharePoint lists and document libraries, XML files, Microsoft SQL Server databases, Web services, and enterprise systems.

Develop sites compatible with a wide range of browsers and Web standards. Develop sites compatible with a wide range of browsers and Web standards.



Office SharePoint Designer 2007 has excellent support for creating Web pages based on Web standards such as XHTML and cascading style sheets and meeting Web accessibility requirements for Web Content Accessibility Guidelines WCAG and Section 508 (29 U.S.C. 794d), including built-in compatibility checkers for these standards.

Build advanced ASP.NET pages. Build advanced ASP.NET pages.



Office SharePoint Designer 2007 supports creating and editing ASP.NET pages. It provides the same level of support as Microsoft Visual Studio 2005 for ASP.NET control hosting, property editing, toolbox, and Microsoft IntelliSense technology in Code View.

Manage and help protect your site. Manage and help protect your site.



Use reports in Office SharePoint Designer 2007
to help manage your site by checking for broken links, unused pages, cascading style sheets usage, and master page usage. Site backup and restore features make it easy to save your site to a single file for helping to protect data or moving it to another server running Windows SharePoint Services technology.

Internet Information Services 6.0 - Application Pool Architecture

On line Demo "This interactive lesson demonstrates the time-saving benefits of the IIS 6.0 application pools for administrators and IT support specialists. IIS 6.0 makes it easier to monitor and manage Web sites and applications so that Web server administration becomes more reliable and cost-effective." at Link . Important to understand IIS 6.0 application pools for WSS/SPS and other IIS apps.

Tuesday, April 18, 2006

blog.ekegren - HOWTO - Impersonation and SharePoint

Impersonation and SharePoint



This is a topic of continuous debate and confusion amongst many developers. There have been written a lot about this and I have found many posts about this. What I have thought about reading all these posts are – are one actually doing the right thing? Impersonation is necessary in order to e.g. list the roles for which the current user is a part of; doing advanced SharePoint stuff you really need to fully understand how to navigate and use the SharePoint API. What I can't underline enough is: context is everything! (Looks like even Microsoft doesn't fully understand when this works or not by the famous post: http://support.microsoft.com/?kbid=892866, I hope this post can help someone to understand the scenario). Always take notice how you get hold of a SPWeb or SPSite object as the identity used in the construction of the objects carries the credentials and what is allowed.


I decided to do a structured investigation of this matter to be able to provide some conclusions into the problem sphere. Furthermore I have over some time had some suspicion that the various service packs for SharePoint actually change the rules for how to use impersonation with the API, therefore I decided to cover how the same piece of code response with clean SPS, SP1 and SP2. Furthermore impersonated use of webservices within webparts has also tricked me a bit so this post was also intended to try to solve this issue.


I developed a webpart NOT deployed in the GAC, but to the bin-directory in wwwroot. Used minimal trust settings for SharePoint, but enabled full trust to my webpart using a codegroup in a modified wss_minimaltrust.config file, for how to do this – look at the great article by Jan Tielens. I developed the webpart on my local machine and set the output directory to the bin-directory on the SharePoint server (which was an all-in-one box installation containing AD, SQL and Exchange). So this is the prerequisites for my investigation (I had nothing else to use at the time of the investigation).


Context is everything. I usually impersonate using the application pool which I configure with domain user which I also grant the SharePoint administrator role. Therefore I switch to the application pool for doing impersonation. This strategy seems to work fine when just working with the OM. See comments #1-#7 in code block. This works for all service packs (tested up until SP2) and shoots down my theory that it behaves differently under the various service packs.


For webservice calls I wanted to use the impersonation branch to assign the credentials of this section of the code (DefaultCredentials) to the webservice credentials for doing impersonation. This however does not work, only way to "impersonate" the webservice is to apply a NetworkCredential object which contains the username, password and domain information:


ws.Credentials = new System.Net.NetworkCredential(username,password,domain);

This collides with that I generally do not want to apply username etc. in configuration anywhere, so I decided to move into enabling NTLM and Kerberos, trusting the server and account for delegation as I thought this was a AD double hop issue. This did not work either – the System.Net.CredentialCache.DefaultCredentials in the impersonation branch, never had the desired effect (providing the credentials of the impersonated user). Instead I learned that if you DO enable this, you need to apply the right authtype string when constructing the CredentialCache to assign to the webservice credentials property:


cc = new System.Net.CredentialCache();
cc.Add(new Uri(ws.Url), authtype, (NetworkCredential)nc);
ws.Credentials = cc;

The value of the authtype string depends on which NTAuthenticationProvider you enable for the website hosting SharePoint, for ALL other than the "Negotiate,NTLM" (Kerberos) the authtype should be blank, and you can just assign the NetworkCredential/DefaultCredentials - but for Kerberos you need to set authtype to "NTLM" (also look in code block comments in the end of this post).


Using COM+ to impersonate might be a way to go for impersonating webservices not using the NetworkCredential method, might be a topic which should be investigated :-) ... or even better - if anyone has the solution for how to impersonate the webservice calls in another way than illustrated here, please post a solution!


Resources:
http://weblogs.asp.net/jan/archive/2005/06/23/414699.aspx (Common pitfalls for webpart developers)
http://blogs.microsoft.fr/rlondner/articles/7089.aspx (Doing impersonation using COM+)
http://blog.austinwheats.net/archive/2004/04/12/166.aspx (Frustrations about using methods which requires impersonation and how to check for it)
http://support.microsoft.com/?id=832769 (How to enable Kerberos and NTLM)


Code block (webpart code):



  protected override void RenderWebPart(HtmlTextWriter output)
  {
   string originalUser = this.Context.User.Identity.Name;
   string currentVersion = String.Empty;


   // #1: thisWeb object have current user credentials
   SPWeb thisWeb = SPControl.GetContextWeb(this.Context);
   SPWeb web;
   SiteData sd2;


   ICredentials me = System.Net.CredentialCache.DefaultCredentials;
   output.Write("username:" + me.GetCredential(this.Context.Request.Url, "Negotiate").UserName);


   #region impersonation branch
   // #2: relookup the web object as admin
   using(RunAsAppPool admin = new RunAsAppPool(true))
   {
    // #3: this line have no effect as thisWeb is in context of current user
    // and current user do not have access to set this variable

    thisWeb.Site.CatchAccessDeniedException = false;


    // #4: web initialised as admin user..
    web = new SPSite(thisWeb.Url).OpenWeb(thisWeb.ID);


    // #5: set CatchAccessDeniedException to false to avoid loginboxes to appear
    web.Site.CatchAccessDeniedException = false;


    SPGlobalAdmin global = new SPGlobalAdmin();
    currentVersion = global.Version.ToString();


    // #8: connecting to webservice inside impersonation branch have not the expected effect
    // assigning the app pool credentials to the credentials cache of the webservice
    sd2 = new SiteData();
    sd2.Url = thisWeb.Url + "/_vti_bin/SiteData.asmx";


    switch(currentVersion)
    {
     case "6.0.2.5530" :
      output.Write(" (" + currentVersion + " Unservice packed)");
      break;
     case "6.0.2.6361" :
      output.Write(" (" + currentVersion + " WSS SP1)");
      break;
     case "6.0.2.6568" :
      output.Write(" (" + currentVersion + " WSS SP2)");
      break;
    }


    System.Net.CredentialCache cc;
    ICredentials nc;


    if(UseDefaultCredentials)
    {
     // #9: eventhough we inside an impersonation loop - default credentials is the current
     // httpcontext and not the impersonated user
     nc = System.Net.CredentialCache.DefaultCredentials;
    }
    else
    {
     // only works with a clean meta-base for IIS (NTLM and Kerberos not enabled)
     nc = new System.Net.NetworkCredential("administrator","netcompany","demo");
    }


    if(UseNTML && UseKerberos)
    {
     cc = new System.Net.CredentialCache();
     // #10: I actually thought that this line worked - but it didn't, only NTLM as authtype
     // string works
     // cc.Add(new Uri(sd2.Url), "Negotiate", (NetworkCredential)nc);
     cc.Add(new Uri(sd2.Url), "NTLM", (NetworkCredential)nc);
     sd2.Credentials = cc;
    }
    else if (UseNTML && !UseKerberos)
    {
     // #11: if Kerberos is not enabled and only NTLM is enabled there is no need to set
     // the authtype to anything - just use the clean Credential object
     sd2.Credentials = nc;
    }
    else if (!UseNTML && !UseKerberos)
    {
     sd2.Credentials = nc;
    }
   }
   #endregion


   try
   {
    // no impersonation
    output.Write("<p/><b>No impersonation</b><ul>");
    output.Write("<li>User:" + originalUser);


    // #6: this will cause login boxes to appear if not the web at #5 was done
    // instead UnauthorizedAccessException is thrown
    string noImpRoles = Utility.GetRoles(originalUser, thisWeb);
    output.Write("<li>Roles: " + noImpRoles);
    output.Write("</ul>");
   }
   catch(UnauthorizedAccessException e)
   {
    output.Write("</li><li>No impersonation failed: " + e.ToString() + "</ul>");
   }


   try {
    // impersonated web object
    output.Write("</ul><b>Impersonated fetch of SPWeb object</b><ul>");


    output.Write("<li>User:" + originalUser);
    // #7: using the impersonated web object - it is possible to enumerate roles for the user
    string impRoles = Utility.GetRoles(originalUser, web);
    output.Write("<li>Roles: " + impRoles);
    output.Write("</ul>");
   }
   catch(Exception e)
   {
    output.Write("</li><li>Impersonated SPWeb object failed: " + e.ToString() + "</ul>");
   }


   try
   {
    // use of webservices
    output.Write("<b>Use of webservice</b><ul>");


    SiteData sd = new SiteData();
    sd.Credentials = System.Net.CredentialCache.DefaultCredentials;
    sd.Url = thisWeb.Url + "/_vti_bin/SiteData.asmx";



    _sList[] lists;
    sd.GetListCollection(out lists);


    foreach(_sList list in lists)
     output.Write("<li>" + list.Title);


    output.Write("</ul>");
    sd.Dispose();
   }
   catch(Exception e)
   {
    output.Write("</li><li>Use of webservice failed: " + e.ToString() + "</ul>");
   }


   try
   {
    // use of webservices
    output.Write("<b>Use of impersonated webservice</b>");


    _sList[] lists2;
    sd2.GetListCollection(out lists2);


    output.Write("<ul>");
    foreach(_sList list in lists2)
     output.Write("<li>" + list.Title);


    output.Write("</ul>");
   }
   catch(Exception e)
   {
    output.Write("</li><li>Use of webservice failed: " + e.ToString() + "</ul>");
   }
  }
 }


 


 

Monday, April 17, 2006

HOWTO : Using WSS team Site and Meeting Room in List

  1. Meeting Room Demo Article on WSSDemo.com on how to use a WSS team site for display and selection of Conference Rooms when using Exchange and Outlook.
  2. Create a Tabbed Meeting Workspace site
  3. Create a document library withing the Workspace
  4. Create a custom list within the Workspace
  5. Change into "Series" items through the "modify settings and columns" for the list /document library and change the General Settings.
  6. Document library holds the Outlook template files to book a room.
  7. To create these Outlook file, (one for each meeting room):
    1. create a new appointment in Outlook
    2. type in the location text
    3. switch to the scheduling tab and add the meeting room
    4. change the meeting room to a resource (or attendee/depends on Exchange configuration.
    5. delete you own name
    6. select File/Save as...
    7. select the file type as an Outlook Message Format file
    8. save to a temporary location
    9. copy the file into the SharePoint document library

Links from JOPX - Office 2007, SharePoint Server 2007 and Windows SharePoint Services V3 Links Galore

Thank you to JOPX for making these links available

Office 2007, SharePoint Server 2007 and Windows SharePoint Services V3 Link Galore



Now that the Office 12 NDA is lifted you get to to see the first round of postings about 2007 Office System which includes not only the Office 2007 clients but also SharePoint Server 2007 and Windows SharePoint Services V3:
  • The Beauty of SharePoint 2007 - Publishing / Copying Documents

  • Security highlights in SharePoint 2007

  • SharePoint 2007: Business Data Catalog

  • The Beauty of SharePoint 2007 - Scan for Broken Links

  • Microsoft Office SharePoint Server 2007 ROI

  • MSDN TV: Introduction to Upcoming SharePoint Products and Technologies
  • The Beauty of SharePoint 2007 - Sign In As Different User

  • What is new with Columns?

  • The Published Links Web service in SharePoint 2007

  • SharePoint 2007: Mobility Shortcut URL

  • SharePoint 2007: Multi-valued lookup columns

  • Recycle Bin functionality in SharePoint 2007
  • The Evolution of Web Content Management in the 2007 Version of Microsoft Office (Webcast -April 18, 2006)

  • MSDN WebCasts: InfoPath 2007

  • SharePoint 2007 Product Guide

  • [SharePoint 2007] What are Content Types?

  • Outlook 2007

  • Tudor's blogLots of InfoPath 2007 resources

  • [SharePoint 2007 Tip] Versioning in document libraries

  • Microsoft 2007 Office System preview site - Lots of info and also the place to register for the Office 2007 beta2

  • What are Content Types?

  • SharePoint 2007-- Get Ready

  • [DevCon 2006] Business Data Catalog

  • Naming guides for Microsoft Office SharePoint Server 2007

  • Office DevCon 2006: Day 3

  • [DevCon 2006] Visual Studio Extensions for SharePoint Services

  • [DevCon 2006] Bill's keynote: "It's more then you think"

  • 2007 Office system - and the new Office Services

  • WebCast: Preparing for Web Content Management with Microsoft Office SharePoint Server 2007

  • Page anatomy in Office SharePoint Server 2007

  • Performance, performance, performance - caching in SharePoint 2007

  • Rolling up information in SharePoint Sites

  • Office Developer conference 2006 keynote continued

  • Office Developer conference 2006 continued

  • HOW TO: Task List - Assigned To - List

    When you create a task list on a subsite, any WSS user that accesses the subsite is added to the "Assigned To" list.

    HOW TO : Prevent other unwanted site collection users from showing up in the "Assigned To" list


    • Set unique permissions when you create a subsite and then add your users to that subsite.


    • Once the unique subsite users logon to the subsite, they will then be added to the "Assigned To" list.


    • Prevents other unwanted site collection users from being added to the subsite task list.


    From MSD2D

    Microsoft.Web.Administration in IIS 7 - Or, Bye Bye ADSUTILS.VBS!

    Microsoft.Web.Administration in IIS 7 The manageability of IIS has dramatically improved in each version. I am looking froward to the next version's enhancements.

    Intranet Review Toolkit

    Intranet Review Toolkit
    "Supported by an IA Institute Progress Grant, the heuristics are based on identified best practices in intranet and website design, providing a sound basis for the review."
    Looking to apply this review and identify steps that can be taken to improve an intranet with improved metrics.

    Don’t forget to add the Tax(onomy)

    Don’t forget to add the Tax(onomy), even though this may not be a "SharePoint" only link, I think it is important to consider. I need to be able to find metrics related to exactly how much of an impact the lack of a enterprise taxonomy has had on the success of our SPS Search implementation.

    Windows SharePoint Services RPC Methods

    Windows SharePoint Services RPC Methods from MSDN

    Posting Windows SharePoint Services RPC Methods

    Page Stats: "Posting Windows SharePoint Services RPC Methods"

    Wednesday, April 12, 2006

    Security enhancements available in SharePoint 2007

    Amanda Murphy summarized security enhancements available in SharePoint 2007 at The Beauty of SharePoint 2007 - Enhanced Security which in turn was a great summary of the SharePoint Team outline of great security enhancements available in SharePoint 2007.


    1. Pluggable Authentication : LDAP support with an authentication provider and direct import into the user profile store for targeting, people search, etc

    2. Granular Security : able to assign unique permissions to an individual document as well as inheriting from the parent directory or Document Library

    3. Server-Enforced Policy via Information Rights Management

    4. Pluggable Single Sign-On

    5. Security Trimmed User Interface : users will not see actions, links, content, etc. that they don't have the rights to at least view.




    Microsoft SharePoint Conference 2006 SOLD OUT

    Microsoft SharePoint Conference 2006 SOLD OUT! My first sold-out show was Jimmy Buffet, I wonder if it will be like that.

    Microsoft SharePoint Conference 2006

    I am very excited about the upcoming Microsoft SharePoint Conference 2006. The last conference I attended was the Yukon conference at the same facility and it was amazing. I plan on blogging my findings here and other SharePoint related items as I learn or find them.