-
After careful thought, I have decided to join forces with the rest of the SharePoint team in UK Microsoft Consulting Services to work collectively on a new team blog called UK SharePoint Team (http://blogs.msdn.com/uksharepoint).
With many people contributing to the blog, we hope you will find great content being posted regularly. The focus will be on informative, useful articles based on all things SharePoint covering the full spectrum of development, infrastructure, architecture and best practices.
The team blog idea has worked well in several teams already within Microsoft including Microsoft SharePoint Team Blog and The Deployment Guys (MCS Deployment Team). The new blog will replace all of the following blogs from people who are now going to contribute to UK SharePoint Team instead:
· James Kemp’s Collaboration Blog
· Martin Kearn’ A Marvellous Point
· Nigel Bridport’s Share Points
· Graham Tyler’s The Goldfish bowl
· Rob Finney’s To The Point
· Paul Holdaway’s Spare Thought
· Brian Wilson’s blog
· Paul Robinson’s SharePoint Treats
· Other ‘SharePoint guys’ that do not currently have a blog
We have already posted an article on UK SharePoint Team called “SharePoint Farm Communications .... Ports, Proxies and Protocols” which talks about inter-farm communications, firewall ports etc within SharePoint. This is a summary of a presentation that was recently given at TechEd 2008 in Barcelona by Martin Kearn.
So redirect your RSS readers to http://blogs.msdn.com/uksharepoint and enjoy! J
-
In the first part of this series I gave a quick intro in to the tools and went through the initial planning stage about creating a site definition.
Now the Next step…
Step 2: Installing the Software
Before any definitions can be created, you need to ensure that your environment is set up. To use either version of the SharePoint Solution Generator you will need to have Visual Studio installed and also a copy of SharePoint. This has to be installed on a server environment but van be either virtual or physical.
The Solutions Generator is packaged as part of the Visual Studio 2008 SharePoint Extensions (currently at version 1.2) and this can be downloaded at this Microsoft Site.
The system requirements for installation of the SharePoint extensions are:
- Supported Operating Systems: Windows Server 2003; Windows Server 2008
- The following is also required:
- Windows SharePoint Services 3.0 (Basic installation only), or any product built on Windows SharePoint Services 3.0, such as Microsoft Office SharePoint Server 2007
- Visual Studio 2008 (Standard Edition, Professional Edition, or Team System)
As an aside there are also some other parts of the WSS 3.0 Tools: Visual Studio 2008 Extensions that will be worth looking at later.
Step 3: Starting to build the the definition
Now that’s the software is installed we can get on with the definition.
The joy with the Solution Generator is that you work in a nice friendly environment that you will probably already know – SharePoint! What the the planning stage has given us is a list of content holders and columns that are eventually going to be in our New Site Definition which can be plugged into SharePoint. The first stage will create a new site in SharePoint, add the additional content holders and columns highlighted in the planning and then package it up.
The first step is to figure out which out-of-the-box site definition to use. In most cases the Team Site template can be used as this gives a lot of the functionality around what the custom solution will also need (for example, an announcements list for posting about new entries). Of course if this is to be a totally new type of site, then the Blank Site template may also be worth a look.
I will assume that you know how to create a site, add content holders and columns.
For the purpose of this walk through I’ve created a Team Site with a new Document Library called Official Documents with an added column, an Announcements List called Document Announce and an image on the homepage and an announcement added.

Now that the site is created we can break out the tool that does all the magic.
Go to your start Menu and select the SharePoint Solution Generator 2008
This will fire up a new window with two options available to you:
Make sure that the Site Definition option is selected and press Next.
On the next screen you will need to select the radio button at the bottom and enter the web address to the SharePoint Site that you have created. It is always worth keeping your site open in case you need to refer to is. This will provide you with details for your site that you may need to refer to later. After this has been entered, select the Next button.
NOTE: if you make an edit to the site whilst in the generator, it will not automatically be set up. You will need to restart the Solution Generator.
The next screen will provide you with the lists that can be taken as part of the Definition:
The key thing to remember here is to bear in mind the base Site Template that your site has been modelled on. For example, if a Team Site template is used you shouldn’t pick the lists that appear as part of this site by default. When you come to deploy the solution you will find it will generate errors.
In this case only the two custom lists (the Document Announce and Official Documents lists) are selected. Once this is done, press Next.
On the final screen you will need to provide the name for the solution. Enter this and then press Next.
The final screen will provide a Summary of the solution. Check these and then press Finish. The Solution will then be generated and a link provided to view the files, and these look like this:
So there you have it! Your generated solution that is now ready to be deployed.
-
SharePoint dev is a pretty new thing for me and feels pretty much like jumping into the ocean and being told to pull an ocean liner to New York (including all the pitfalls that may be encountered, like Icebergs!)
One thing I've had to do recently is to create a Site Definition for provisioning sites as part of a custom solution. A Site Definition is defined as:
“A Site Definition is a group of files that reside on the Web server and that define a unique type of SharePoint site.”
Office Web site
What this means is that if you have a custom solution that needs a list or library defined across a number of sites then a site definition is for you! The Site Definition can contain a lot of configuration to make a site very specific – for example, site columns, an announcement, and content types.
There can be a number of files that make up a site definition, but there are two key ones. They are:
- feature.xml - defines a Feature and specifies the location of assemblies, files, dependencies, or properties that support the Feature.
- onet.xml - contain a reference to a Feature instance and default property values (i.e. all the lists that will make up the site).
For someone new to this can be quite daunting, especially, when you see the number of files, but also what is in the those files. There are methods to manually create these and update them and this is where the SharePoint Solution Generator steps in. Some might call it cheating, but it certainly helps quickly generate Site Definitions. Needless to say the first time I tried this tool, it still went horribly wrong!
Thanks to a colleague (Thanks Martin!) and a quick 101 I on the Solutions Generator, I got on track.
So, before you dive into the heady world of Site Def’s, you will need a few tools. They are:
- A SharePoint environment (preferably a test environment! Your SharePoint Administrator may have something to say is you mess up their live environment…)
- Visual Studio 2008 (or 2005 if you haven’t upgraded yet)
- SharePoint Solution Generator 2008 (or 2005 if you are using the 2005 version of Visual Studio)
Step 1: Planning
As with all dev work there needs to be some level of planning before getting going. Thankfully if you do the planning in the correct way then it means that you can do an awful lot of the work up front.
Firstly you need to decide what lists, columns and metadata you will need for your solution. So if you were doing a forms solution you will need a Forms Library. If you need a document library with some additional columns then you create a Doc Lib and add add some additional columns in. It’s worth documenting this for further reference – especially if you are working as part of a team. A table below can be quite handy template for this:
| Area | Sub-area | Details |
| Type | | E.g. Forms Library |
| Actual Name | | e.g. salesrequest* |
| Display Name | | e.g. Sales Request* |
| Description | | e.g. library for storing forms |
| Additional columns | Actual name | e.g. submissiondate* |
| | Display Name | e.g. Submission Date* |
| | Description | e.g. Date of form submission |
| | Required | e.g. Yes |
| | Maximum number of Characters | e.g. 255 |
| | Default Value | e.g. |
* one important area with naming is that SharePoint names can be defined for the display name as well as an actual name. It is important that the actual name format is constant with all areas of SharePoint. So if there is a naming format standard that is no spaces, and no capitals then this must be followed. The first time that an item is created within SharePoint the actual name is set. Once this is in SharePoint it cannot be changed. The display name can be though… for example:
You can see that the Display Name is “Test Name” but in the Web Address the name of the list is testname. If these were the same, the the Web Address would be Test%20Name. This is the case for Content Holders as well as Columns.
This is important especially when dealing with custom development. If a workflow needs to be posting data to a field called testname but is reference as Test%20Name, then it will not work (GUID’s are a good way of managing these). So when creating these, it is also worth putting in the actual name first and then re-editing the name to be the display name(in C# code these are defined as DisplayName and Name).
Next Post will start the building process.
-
There's a few ways of specify what users can and cannot do within SharePoint. The most blatent one is whether a user can actually access a site or not. Beyond that there are some very specific ways that Architects can control what users are allowed to do and ways that Administrators can manage the user base.
The most granular way is through using permissions. These are broken down into three groups:
- List Permissions
- Site Permissions
- Personal Permissions
But what are these pemissions? Well here's a list:
|
List Permissions |
Description |
|
Manage Lists |
Create and delete lists, add or remove columns in a list, and add or remove public views of a list. |
|
Override Check Out |
Discard or check in a document which is checked out to another user. |
|
Add Items |
Add items to lists, add documents to document libraries, and add Web discussion comments. |
|
Edit Items |
Edit items in lists, edit documents in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries. |
|
Delete Items |
Delete items from a list, documents from a document library, and Web discussion comments in documents. |
|
View Items |
View items in lists, documents in document libraries, and view Web discussion comments. |
|
Approve Items |
Approve a minor version of a list item or document. |
|
Open Items |
View the source of documents with server-side file handlers. |
|
View Versions |
View past versions of a list item or document. |
|
Delete Versions |
Delete past versions of a list item or document. |
|
Create Alerts |
Create e-mail alerts. |
|
View Application Pages |
View forms, views, and application pages. Enumerate lists. |
|
Site Permissions |
Description |
|
Manage Permissions |
Create and change permission levels on the Web site and assign permissions to users and groups. |
|
View Usage Data |
View reports on Web site usage. |
|
Create Subsites |
Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites. |
|
Manage Web Site |
Grants the ability to perform all administration tasks for the Web site as well as manage content. |
|
Add and Customize Pages |
Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a Windows SharePoint Services-compatible editor. |
|
Apply Themes and Borders |
Apply a theme or borders to the entire Web site. |
|
Apply Style Sheets |
Apply a style sheet (.CSS file) to the Web site. |
|
Create Groups |
Create a group of users that can be used anywhere within the site collection. |
|
Browse Directories |
Enumerate files and folders in a Web site using SharePoint Designer and Web DAV interfaces. |
|
Use Self-Service Site Creation |
Create a Web site using Self-Service Site Creation. |
|
View Pages |
View pages in a Web site. |
|
Enumerate Permissions |
Enumerate permissions on the Web site, list, folder, document, or list item. |
|
Browse User Information |
View information about users of the Web site. |
|
Manage Alerts |
Manage alerts for all users of the Web site. |
|
Use Remote Interfaces |
Use SOAP, Web DAV, or SharePoint Designer interfaces to access the Web site. |
|
Use Client Integration Features |
Use features which launch client applications. Without this permission, users will have to work on documents locally and upload their changes. |
|
Open |
Allows users to open a Web site, list, or folder in order to access items inside that container. |
|
Edit Personal User Information |
Allows a user to change his or her own user information, such as adding a picture. |
|
Personal Permissions |
Description |
|
Manage Personal Views |
Create, change, and delete personal views of lists. |
|
Add/Remove Personal Web Parts |
Add or remove personal Web Parts on a Web Part Page. |
|
Update Personal Web Parts |
Update Web Parts to display personalized information. |
Some of these permissions rely on others to correctly work. Mark Arand provides a very useful spreadsheet which outlines these permissions as well as which ones are required to achieve specific roles and functions. His blog entry can be found here.
-
The SharePoint team have been very busy over the past few weeks. Here's a quick run-down of the last two weeks in one handy place:
Announcing-visual-studio-extensions-for-sharepoint-developer-user-guide.aspx - For all you Devs out there!
Posters-for-sharepoint-stsadm-command-line-parameters-now-available.aspx - For those with offices with a lot of Wallspace, or in a Dilbert like cubicle.
How-we-did-it-building-a-news-workbench-on-moss-2007-for-microsoft-s-corporate-intranet-portal.aspx - a five part series worth a look.
New-governance-content-for-sharepoint-published-on-technet.aspx - Interesting articles about the administration of SharePoint.
Screencast-using-word-2007-or-windows-live-writer-to-post-to-sharepoint-blog.aspx - Two videos on on using Word and Live Writer to pot blog entries.
Announcing-sharepoint-deployment-planning-services-sdps.aspx - New Service from Microsoft.
Developers-developers-developers-sharepoint-wants-you.aspx - Some Live Wecasts for SharePoint Development.
Announcing-sharepoint-wcm-book-available-at-teched-2008.aspx - Some interesting Books on SharePoint Technologies.
Microsoft-office-2007-sp2-to-provide-native-support-for-odf-and-pdf-document-format-standards.aspx - Early details of SP2 functionality.
-
Each Site Template that is installed on SharePoint 2007 will have a unique name and number to allow for referencing when coding applications or using STSADM for site deployment (when using the -sitetemplate parameter, e.g. -sitetemplate STS#0 would apply a team site template) - what's a little tougher to find is a list of those codes...
Well, here's a list:
WSS Templates
Team Site: STS#0
Blank Site: STS#1
Document Workspace: STS#2
Wiki Site: WIKI#0
Blog Site: BLOG#0
Basic Meeting Workspace: MPS#0
Blank Meeting Workspace: MPS#1
Decision Meeting Workspace: MPS#2
Social Meeting Workspace: MPS#3
Multiple Meeting Workspace: MPS#4
MOSS Templates
Document Center: BDR#0
Site Directory: SPSSITE#0
Report Center: SPSREPORTCENTER#0
Search Center with Tabs: SRCHCEN#0
My Site Host: SPSMSITEHOST#0
Search Center: SRCHCENTERLITE#0
Personalisation Site: SPSMSITE#0
Collaboration Portal: SPSPORTAL#0
Publishing Portal: BLANKINTERNETCONTAINER#0
Publishing Site: CMSPUBLISHING#0
Publishing Site with Workflow: BLANKINTERNET#2
News Site: SPSNHOME#0
-
Just a quick post to make you aware that the SharePoint Administrator toolkit is now available for download.
There's loads over at: SharePoint Team Blog
Some key highlights:
- Batch Site manager - schedule bulk operations against site collections in the farm
- Command update for STSADM called 'updatealert'
The post can be found at: http://blogs.msdn.com/sharepoint/archive/2008/04/30/announcing-the-first-release-of-the-microsoft-sharepoint-administration-toolkit.aspx and contains a link thrugh to the White Paper and the download
-
Firstly this is my first blogpost up on this space so firstly let me say Hi and that I hope this content will be of some use!
With SP1 for SharePoint 2007 and WSS v3 out in the wilds I thought it would be useful to share some info about finding the version of SharePoint you are running.
Here's a handy(ish) little way...
Firstly go to any SharePoint Site > select Site Settings. This will tell you the version number of the software.
A post up on : http://mindsharpblogs.com/penny/articles/481.aspx to translates the ‘internal’ version number against the ‘friendly’ version number - the key contents are below...
MOSS 20071 or WSS 3.0 SP1 12.0.0.6219
MOSS 20071 or WSS 3.0 October public update 12.0.0.6039
MOSS 20071 or WSS 3.0 August 24, 2007 hotfix package 12.0.0.6036
MOSS 20071 or WSS 3.0 RTM 12.0.0.4518
MOSS 20071 or WSS 3.0 Beta 2 TR: 12.0.0.4407
MOSS 20071 or WSS 3.0 Beta 2: 12.0.0.4017
Office 12 (PDC image - pre-beta): 12.0.0.3111 (This version of Office does not have a support link in the Add/Remove programs dialog box).
1To confirm that a particular service pack is install on SharePoint Server you must either check the version numbers of specific dlls as specified in the related Microsoft Knowledge Based article or select the Show Updates check box in Add and Remove Programs.
WSS 2.0 SP3 6.0.2.8165
WSS 2.0 SP2 KB900929 + KB924881 6.0.2.8117
WSS 2.0 SP2 rollup KB900929 6.0.2.8000
WSS 2.0 SP2 6.0.2.6568
WSS 2.0 SP2 Beta = R2: 6.0.2.6551
WSS 2.0 SP1 + KB887981 6.0.2.6411
WSS 2.0 SP1: 6.0.2.6361
WSS 2.0 Unservice packed: 6.0.2.5530
To confirm that service packs are installed, especially with SharePoint Server 2007, goto Control Panel -> Add and Remove Programs
Select the product and then click: Click here for support. The versions will
be displayed as follows: