2. Objective: To implement SharePoint with Corporate colors, fonts, and themes enforced throughout all sites. Solution: Created replacements for default.master and application.master. Rather than modify original SharePoint system files, and to decrease upgrade risks, implemented an HttpModule that configures site theme and master page at runtime. Branding
3. Objective: To provide configurable navigation items across all sites. Solution: Implemented new SiteMapProvider, using a links list as a data source. Added menu (green bar) to the master page connected to new provider. Added page to Central Administration to configure the global links list on a per-application basis. Navigation
4. Objective: To provide visual cues in a SharePoint list. Solution: Implemented new column data type, called the Dashboard Status Indicator. Column type configuration included support for 16 icon sets, trending, text position, and alignment. The column appears in forms as a drop-down list. The column appears in spreadsheets as text which can be subject to conditional formatting. Status Indicator Column
5. Objective: To facilitate sorting, filtering, and grouping by employee information. Solution: Implemented new column data type, called Personnel Information. The column supported up to fourteen different employee attributes, stored in an external Oracle 10g database. Adding a personnel information column also associated a list item event receiver to the list, responsible for retrieving the calculated data. Personnel Information
6. Objective: To provide special-case reporting and visualization of SharePoint data. Solution: Implemented web part based loosely on the Open Source project, ChartPart, to present live data stored in a family of SharePoint lists. The utilized the library, System.Data.Visualization, or MSChart, provided by Microsoft (now part of .NET 4). This part supported a flexible set of configuration options via an editor part. Business Intelligence
7. Objective: To provide insight into site usage and promote responsible disk consumption. Solution: Implemented a site usage dashboard to supplement the SharePoint storage manager. The bar chart provides insight into current storage versus site quota. The double-pie chart provides insight into storage size of the largest lists and libraries. The outer ring is image-mapped to the version settings page for each list. The red slices in the peppermint-candy inner pie represent old file versions. Site Analytics
8. Objective: To provide unified search portal across multiple SharePoint farms. Solution: Led a geographically distributed, cross-organizational team to implement federated search. Provided training and examples to assist administrators with their implementation. Federated Search
9. Objective: To provide multiple columns on a lookup for use in list calculations. Solution: Developed a column type and list item event receiver to provide additional calculated columns based on an existing lookup field. Multiple Column Lookup
10. Objective: To provide enterprise reporting of SharePoint list data. To enable reports bound to the SharePoint lists service, it was necessary to resolve a conflict between SharePoint’s handling of null values in the Lists Web service, and Reporting Services method of inferring schema from XML data. Solution: Created an enhanced Lists Web service, allowing XML-bound reports such as is shown here. Reporting
11. Objective: To increase effectiveness of SharePoint administration. Solution: Developed several STSADM extensions and PowerShell modules to automate repetitive tasks, including: Bulk-starting workflows. Copying menus between sites. Bulk-purging list item and document versions. Bulk-updating access request emails based on site owners. Bulk-configuring search scopes across site collections. …and many more. Automation
12. Objective: To increase effectiveness of SharePoint administration. Solution: Developed PowerShell scripts managing a variety of automation tasks, including: Packaging of .wsp solutions, Staged solution installation and upgrades, Migrating data to/from SharePoint lists, Voice synthesis of SharePoint list data, Scheduled maintenance, Ad hoc SharePoint Ninjutsu. Automation (cont’d.)
13. Objective: To reduce maintenance costs by consolidating legacy applications into SharePoint. Solution: Utilized PowerShell to migrate data from legacy databases to new SharePoint lists. Designed lists, views, pages, and reports to replace and improve legacy application functionality. Pictured at right is an application developed by a former intern, ported into SharePoint. Applications
14. Objective: To provide effective training to end-users and administrators. Solution: Configured SharePoint site dedicated to ongoing training and user education. Provided regular screencasts using Camtasia Studio. Provided navigation to publicly available training from Microsoft and its partners. Reviewed and published user submissions for training materials and topics. Training