Tom A. Puleo Legislative Service Center State of Washington NALIT 2008
Getting Started with SharePoint Three projects Legislative Service Center (LSC) Homepage Employee Bulletin Board CMS to SharePoint Migration
Goal Learn how SharePoint works What can we do with it? Contract with Microsoft SharePoint consultant to help build a site & try out InfoPath Knowledge transfer to our web development staff Tips on CMS to SharePoint conversion
Site for each of 5 workgroups Each has a publicly viewable area and an area that s private to that workgroup Each workgroup has an event calendar Roll-up calendar on the main site
Roll-up calendar Custom Web Part Takes calendar items from each workgroup and displays them Individual calendar item events are marked for roll-up when they are created The Calendar items are based on a custom Content Type which has a RollUp boolean in it
Application Metadata It s a list of information about each of our applications We created a Custom Field Type Calls a custom web service to query Active Directory Gets a list of servers into an.ascx control we created We then use the server list to populate fields for Development Servers, Test Servers, and Production Servers for our metadata
Custom Field Type The Project
Custom Field Type The Server Column Code
Custom Field Type Calling the web server to get the server list
Custom Field Type The Field Type Description File
Custom Field Type Type in a list
Custom Field Type How it looks in a list edit mode
Application Metadata Deploying the Custom Field Type Not intuitive at all.dll goes to the GAC SafeControl and Web Services URL setting goes to wwwroot\wss\virtual directories\80\web.config.ascx to [hive]\template\control templates\ fldtypes_activedirectoryserver.xml to [hive]\template\xml Then recycle the application pool (don t need to restart IIS)
Application Metadata Custom Page Layout shows Installation instructions, documentation links, related projects, experts, a description, and customers Experts list This is a SharePoint list that holds info about which people in each workgroup are experts for a particular application We built a custom Web Part to display this information
Project Metadata It s a list of information about each of our projects Custom Page Layout shows info about a project In code-behind of page layout, we modify the left-side navigation quicklaunch menu
Project Metadata Modifying the quicklaunch menu We add links to particular documents and particular document library folders We create folders on the fly if they don t exist, because you can t create a link to a folder if it doesn t exist Ordering the links Algorithm Find the link you want and call MoveFirst() on it Repeat until all in order
Needs Anyone can post to the board (a SharePoint list) A select few can modify or delete anybody s post Posts auto-delete after 30 days
Permissions None of the default SharePoint permissions would work had to create Custom Permission Levels (different than Permission Groups) Bulletin Board List Editors edit or delete any post Bulletin Board Site Users edit or delete their own post, but nobody else s
Permissions One glitch Clicking delete from context menu vs. clicking delete button within the item Removing option from context menu also removes delete button Granting access to delete choice in context menu allows deletion of other people s posts
Customization Custom MasterPage for banner graphics, to remove some default links, and implement custom CSS Search Box issue Wanted to remove the search scope dropdown If removed, search box default so all sites : bad Fixed it with CSS, so it s still in the page, but isn t visible
Initial site setup One of the managers set up the site in less than an hour (except for the custom MasterPage and CSS) It s a publishing site with one list
One wish We would love to get rid of the My Site link at the top We can hide it with JavaScript in the MasterPage, but the system pages still show it because they don t use our MasterPage There s a setting to turn it off for all sites, but that s not a good long term solution There s an option to turn off personalization features by group (I think) but we haven t looked this yet
Migration Wizard Grabs CMS database content and puts it in SharePoint Our CMS implementation has a lot of custom code that isn t migrated, so the migrated site is less than beautiful We may want to change the structure of the site too, so we might not use the wizard
Setup Staging can publish content changes every 15 minutes
Start with out of the box functionality When you re sure it won t do what you want to do, customize (Page Layouts, Custom Controls, Web Parts, Field Types, etc.)
Things to be happy about How quickly you can build a site Security trimming Extensibility (what it doesn t have, you can build and integrate yourself)