The Customer Requirement
The Solution - Technical Details
My Sites are a unique type of site within SharePoint 2007 as they are generated by an automated process. It is particularly difficult to modify this process in order for a custom site definition to be used. Therefore, as it is not feasible to create a custom site definition, we utilise a technique known as Stapling to attach functionality to the existing My Site definition. By using this method, all My Sites (created after our solution has been deployed) will include our customisations. This is the best practice approach for applying customisations to My Sites.
It should also be explained that each individual’s My Site is actually made up of two separate sites:
A “Personal” site: this is unique to each user, and is created when they click on the “My Site” link for the first time. It is this site that will be locked down by our implementation.
Our solution is built and deployed using the recommended Features and Solutions framework in SharePoint. Our solution will apply the following customisations to the SharePoint implementation:
A custom web part/control which renders the Accept and Reject buttons within the policy page depending on whether the user has already accepted. This control also contains the code that updates the user’s “Terms Accepted” date.
A custom Master Page to be stapled to the My Site definition to house the custom redirect control.
A custom User Profile field to store the date when the terms were accepted by each user.
We believe that the solution not only delivers the required functionality but also provides a platform for future My Site customisations. We are putting the necessary plumbing in place enabling in-house developers to build upon our solution to implement extra features such as branding, new web parts and forms. Our solution is also flexible and allows for the necessary data collection that will provide our customers with the data required in the event that any proceedings need be carried out for misuse of My Sites. As part of our solution we can offer a handover, walkthrough and full documentation.