I have tried to summarise the main points covered in Microsoft EU SharePoint sessions for those who didn’t get a chance to attend the conference and hopefully it will be interested for you to remember before new MOSS 2007 implementation.
§ WSS Object Model
o .NET Reflector www.aisto.com/roeder
o WSS 3.0 Assembly: Microsoft.SharePoint.dll
o MOSS 2007 Assembly: Microsoft.Office.Server.dll
o If you want to access list item then the class hierarchy would be as follows:
§ SPFarm à SPWebServer à SPWebApplication à SPSite à SPWeb à SPList à SPListItem
o 3rd Party Tool available to browse SharePoint Hierarchy
§ SharePoint Explorer
o How to access SPSite Object
§ If you don’t have a context
SPSite sitecollection1 = SPContext.Current.Site;
§ If you have a context
SPSite sitecollection1 = new SPSite (@”http://litwareinc.com”);
o Always dispose SPSite or SPWeb objects.
o Best Practice: Always test your web part with least security permission
o Impersonation:
Impersonate with an account which has privileges e.g.
SPUser user = SPContext.Current.Web.Users [@”litwareinc\administrator”];
Here litwareinc\administrator is an administrative account in SharePoint.
o Query with CAML
§ Best Practice and recommended approach to use CAML Query to access SharePoint Objects like list, document library etc
§ Class available
· SPQuery
· SPSiteDirectory
§ Query Scope
· Recursive to a web site
· All Site Collection
§ Remote connection using web service
· http://[portal]/_vti_bin/Lists.asmx
o Event Handler
§ Cancel able Event
· Now you can access an event, which can be used to cancel the deletion of a document of list item etc.
o New Classes in WSS Object Model
§ Navigation
§ Audit
§ Content Type
§ Disaster Recovery
o Content Recovery
§ Options available in SharePoint 2007
· Recycle Bin (End User and Admin), Versioning, Web Delete Event
o Recycle Bin
§ Pros:
· Individual Document, List Item, document library, lists can be recovered either through end user recycle bin and even can be recovered if deleted from end user recycle bin from Site Collection recycle bin.
· No need Database administrator intervention to recover individual document
· No need to use 3rd party component like CommVault for SharePoint to recover individual item
§ Cons
· No facility to recover Content Type, Site Column, Site, Site Collection
o Versioning
§ Cons:
· No Support for folder, website
· Functionality needs to be turned own per list or document library
o Web Delete Event
SharePoint Object Model allows developer to develop custom build backup solutions by using Web Delete Event.
§ Pros
· Extensible
§ Cons
· No out of the box solution
· Will have to write code
o SMigrate Tool
§ This tool is now obsolete in SharePoint 2007-02-17
o Content Migration Options by using STSADM Command Line Tool
§ Pros:
· STSADM Import and Export Routine can migrate contents of a site or site collection
§ Cons
· Cannot migrate workflow, alerts, feature solutions, recycle bin state etc.
o WEB UI based SharePoint Backup/Restore Option
§ Pros:
· Best suited for Small/Medium size organisation
· Can take backup of individual web application or whole farm
· UI based tool
§ Cons
· No out of the box scheduling mechanism
· High restore time
· Low availability
o High Availability Solution
§ Database Clustering and Log Shipping
§ Active Passive Mirror Farm
· Note: Secondary should be read-only e.g. Auditing should be turned off on secondary farm
§ 40 New Site Templates and 7 Role bases My Sites
o Microsoft recently released 20 site templates and hopefully remaining 20 templates will be releases in the coming weeks.
o First 20 templates are STP files and remaining 20 would be site definitions, so user can customise them and source code will be available.
o 1 Role based MySite is released and remaining 6 My Site templates will be released till May 2007.
o Now Microsoft Support will also be provided for 40 site templates.
o You can create new site based on site templates and can still use your own default.master page, in order to use same look and feel of your site.
§ WSS Site Customisation
o Master Page user core.css file for style sheet
o Custom CSS files are stored in _styles folder.
o Master Page defines “Place holders”, which can be overridden by using SharePoint Designer 2007.
§ Developing Visual Studio Workflows and Activities for SharePoint Sites
o Limitation of using SharePoint Designer: You cannot associate workflow with Content Type
o Visual Studio Tools for Office (VSTO) soon to be released, which includes new templates for workflow
o Requirement
§ Visual Studio 2005 Extensions for Workflow Foundation (RC5)
§ SharePoint 2007 SDK
§ Visual Studio Templates for SharePoint Workflow
§ Create Project of Type “SharePoint Sequential Workflow Library”
o Steps required to build workflows by using VS.NET
§ Create workflow project in VS.NET 2005
§ Model Workflow in Visual Studio
§ Create and bind InfoPath Form
§ Sign and build the assembly
§ Deploy to SharePoint Server
§ Debug the assembly by attaching the w3wp process
§ Capacity Planning
o Factors directly affecting the Performance
§ Content Query Web Part -- Use it when its absolutely essential
§ Item Level Permission -- Use it when its absolutely essential
§ More than 2000 list items per library without using Folders – use folders in a list for more than 2000 items.
§ IFilters can seriously affect server performance. Care should be taken when selecting 3rd party iFilters
§ No. of domain controllers per web application - - 3 Front End Web Server to 1 Domain Controller using NTLM is for optimal performance.
o Authentications affect performance in the following order:
§ Anonymous --- Fastest authentication
§ Kerberos
§ NTLM
§ Basic
§ Form -- Slowest authentication
o Latency
§ Server Processing (40%)
· #SQL round trips, AJAX Processing, Security Trimming
§ Client Processing (45%)
· JavaScript, CSS, AJAX requests, HTML load, client machines specifications
§ Wire Transfer (5%)
· Bandwidth, Size of download
o Latency Recommendations
§ Test custom web parts thoroughly and take extra attention on object lifecycle.
§ Test custom web parts on testing machines first, then deploy on production server
§ Re-user existing client side code versus adding more
§ Design Code for performance e.g. HTML table definitions
§ Profile your solution
o Data Scale Recommendations
§ Minimise # of web applications and application pools
§ Limit # shared service providers
§ Plan for database growth
§ Follow data and feature best practices and suggested limits
§ Use 3 worker processes for web applications and 2 work processes for Shared Services
§ Note: STSADM command line tool uses existing worker process, so if you use only one worker process for web application then STSADM tool will use the same for processing.
§ Performance Guide Lines
| Item | Scope | Guideline |
| Site Collections | Database | 50,000 |
| Web Sites | Site Collection | 250,000 |
| (Sub) Web Sites | Web Site | 2,000 |
| Lists | Web Site | 2,000 |
| Items | List | < 200,000 |
| Documents | Document Library | 50,000 |
| Documents | Folder | 2000 |
| Document Size | File | 50 MB |
| Indexed Documents (MOSS) | SSP | 50 M |
| Search Scopes (MOSS) | Site Collection | 1000 |
| No. of Profiles (MOSS) | SSP | 5 M |
| Content Database Size | Site Collection | 50 GB (Optimal 25 GB) |
§ Features don’t scale across site collections
· Content Types
· Shared Columns
· Content by Query Web Part
· Workflow
· Information Management and Retention Policies
· Document Links
· WSS V3 Search cannot spread across site collection
· Site Quotas
§ Possible approach for Taxonomy Design
· Create 1 Site Collection per department or business unit like HR Site, Sales, Projects Site etc and limit the content to 50 GB
§ Improved Disaster Recovery and Performance
· Database Server: Plan for 1.2 à 1.5 * file system size for SQL Server
· Index Server: 30% of total size of all contents
· Query(Search) Server: Same size as Index Server
· Use 64 bit Servers
§ Other performance Recommendations
· Scale the servers in the following order:
o 64 bit SQL Server first
o 64 bit Index and Application Servers
o 64 bit Web Servers
o Note:
§ All web servers should be either 32 or 64 bit system. (Don’t Mix the combination)
§ You can’t attach more than one Index Server.
· Use Built-in Cache Mechanism
o Site Collection Cache Profiles
o Web Page Out put Cache
§ Test the Solution before Deployment
· Use Visual Studio 2005 Tool for MOSS 2007 Load Test (This plug-in is only available with Server tester Version)
· Use WSSDW Command Line Tool
§ Web Content Management
o Variations
By using variations in Web Content Management, you can create multi-lingual sites. English can be a source label and German and French can be a target labels. If you will create a page in English, it will automatically be created in target languages. Then content editor can translate these pages at his convenience.
Note: variation is one direction process and is always from source to target (can be multiple targets), but a page created in target language cannot be created in a source label. Source label will always be a language in which MOSS 2007 is deployed.
§ InfoPath Development
o New Features In InfoPath 2007
§ Form Template Parts
· Piece of form that can be used across forms (.xtp file format)
· Template part should not contain managed code.
§ Design Checker
· Checks the compatibility of form on the browser
§ Logic Inspector
· To help debug declarative business rules.
§ Business Data Catalogue (BDC)
o BDC comes with enterprise edition of MOSS 2007.
o BDC can connect to OLEDB databases like Oracle, SQL Server via ADO.NET or LOB System like SAP, SIEBEL via web service.
o BDC columns can be used as a column in List or document library.
o Pre-requisite
§ Communication
· SOAP for LOB applications like SAP or SIEBEL
· ADO.NET for OLEDB databases
§ Authentication
· MOSS 2007 SSO
· Kerberos
§ Composition
· LOB vendor middleware
o SAP Enterprise Services
· Biz Talk Server
· 3rd Party Middle Ware
o Sitrion iQL
· Custom Components
o Useful site for BDC
§ http://www.mossbdcmetadatamanager.com
§ CodePlex, GotDotNet etc
§ Deploying Project Server 2007 with MOSS 2007
o Deployment Options
§ Project server 2007 with WSS 3.0
§ Project Server 2007 with MOSS 2007
Note: Project Server 2007 can be used with SQL Server 2000 or SQL Server 2005 as back-end database.
o Project Server 2007 Databases
§ Draft
§ Published
§ Archived
§ Reporting
Note: Draft, Published, Archived must on the same SQL Server Box but Reporting database can point to any other SQL Server.
o Project Server does not manage username and password anymore, but you can still use form authentication with Project Server 2007.