One problem that we have seen several times now is the issues of mixed skus in a farm. So the scenario is that a customer wants to make use of some of the features of Microsoft Office SharePoint Server 2007 (MOSS) as well as Microsoft Office Project Server 2007 (PS). The misconception is that you can add a "Project Server" to a farm that is an Office Server farm - so you just want one Project machine in your farm - just load Project Server on a machine and join the farm! WRONG! The way it works is that ALL servers in the farm need to have all the bits loaded for all the different server products. So if your farm has 2 application servers and 2 web front end servers then each of these needs to have the applicable installation (complete or web front end) for both MOSS and PS. You can then choose which services are running on which server - and you could have the MOSS services on one and the PS services on the other - but both applications need to be loaded on all servers. There is a new document which includes details of this mixed server installation available at http://go.microsoft.com/fwlink/?LinkId=79599. Page 105 onward gives details steps of the why and how you can get these server products working together.
Remember - it is not that Project needs anything from MOSS for it to work - but in a farm environment you just cannot have different servers with different sets of binaries. One other option would be to have Project Server in its own farm - but you would then lose some of the capabilities of MOSS to work with PS - particularly regarding search across project workspaces.
Technorati Tags: Project Server 2007
In Christophe’s recent blog about logs he explained how to turn them off. Sometimes though we need to turn the volume up and get a plenty of detail of what is going on. But be careful – these things can get very big very fast! The settings can be found in SharePoint Central Administration, Operations, Diagnostic Logging. I would recommend only setting specific categories to “Verbose” and then only when you are looking for something in particular. To give you an idea a busy server can easily write 5GB of logs in 30 minutes if ALL categories are set to “Verbose”! This is equivalent to around 7.5 million lines of output.
These logs are often called ULS logs (Unified logging system?) in case you are ever asked for them. My tool of choice to read these log files (which are by default written to c:\program files\common files\Microsoft shared\web server extensions\12\logs) is Excel 2007. This latest version can now cope with just over a million rows – so anything up to about a 600K log file should be manageable. If you find that monitoring all the things you want takes your files over this size then you can change the number of minutes to use a log down from 30 to 15 or 10. Once in Excel I use a macro to set the column widths and text wrapping and then finally apply a filter – so that I can select different event Areas, Categories or Level of trace messages. For instance filtering on Level = critical, exception and high is a quick way to find bad stuff.
My macro is stored in personal.xslb so is available whenever I open Excel – and I make Excel the default application for .log files. My macro is simply:-
' ULS Macro
' Keyboard Shortcut: Ctrl+Shift+U
Selection.ColumnWidth = 80
Selection.WrapText = True
Columns("B:B").ColumnWidth = 26.43
Columns("A:A").ColumnWidth = 10.29
In 2007 Macros are under the “View” part of the ribbon – and the option to unhide personal.xlsb is also on the same ribbon.
Take a look at your logs now – before you need to. And write that macro (or copy mine). I lost count of how many times I thought “Next time I must write a macro to do this…”
Take a look at the http://blogs.msdn.com/project posting on backup/restore. Good stuff!
Windows SharePoint Services 3.0 builds on top of Windows Workflow Foundation to enable workflow to be used on list items and documents. So you can create your own business logic to work with the content in WSS to create your own applications. Microsoft Office SharePoint Server (MOSS) takes this to the next level and has some out of the box workflows built in that you can associate with your lists. If Project Server is installed with MOSS then a new feature of Project Server 2007 becomes available - an automated workflow approval process for proposals.
This feature makes use of the new server side light weight projects, and there is a certain type - called a proposal. The idea is that this proposal is a set of steps you need to follow to get a project accepted, and when you create the proposal it will also create a WSS Task in a list that has a workflow associated with it. This task will be assigned to a user in the Proposal Reviewers security group within Project Server. There is a special custom field associated with proposals called the state field. Initially this is set to proposed - but it gets changed automatically based on the approval status of the WSS task - if the reviewer says it is OK and accepts it, then the state field gets changed to Approved. This is a very simple example of how workflow can be used on the platform - your imagination can fill in the other extensions to this to make it work for your organizations.
As I mentioned - MOSS comes with some pre-defined approvals - but this doesn't stop you adding your own approvals to WSS lists even if you don't have MOSS. The easiest approach (which also works in MOSS) is to go to any list or library, then under Settings, Document Library Settings you will find Workflow Settings. You can configure simple workflows against the list from there. Using SharePoint Designer you can create quite complex workflows against WSS lists. One thing to point out here is that you will not be able to connect to a Project Server 2007 PWA site using SharePoint Designer as it is blocked due to the risk of you breaking some of our functionality. However you can connect to the Project Workspaces (often referred to as PWS sites) that you create for individual projects. If SharePoint Designer doesn't do enough for you then you can also create workflows using Visual Studio 2005. These can obviously be much more complex and if you wanted to integrate deeply with Project Server through events and the PSI then this is the tool for you. Once you create workflows through Visual Studio you can then consume these either through SharePoint Designer or even have them appear in the workflows available through the workflow settings of the libraries.
So if this has sparked your interest in workflow the next places to go are:-
Windows Workflow Foundation - http://msdn2.microsoft.com/en-us/library/ms735967.aspx
Workflow Development for Windows SharePoint Services - http://msdn2.microsoft.com/en-us/library/ms414613.aspx
Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) - http://www.microsoft.com/downloads/details.aspx?familyid=5D61409E-1FA3-48CF-8023-E8F38E709BA6&displaylang=en
and the general SharePoint blog also is a great place for all information on the MOSS platform - http://blogs.msdn.com/sharepoint/
If you are considering MOSS then there are plenty of other benefits on top of Project Server. One would be search - to enable all those Project Workspaces to be easily mined for information. Another would be Excel Services which enables you to load, calculate, and display Excel workbooks on Office SharePoint Server 2007. I know one of my colleagues is preparing a post on the use of Excel Services with Project Server to visualize data so I will not steal his thunder - but instead suggest you subscribe to Christophe's blog at http://blogs.msdn.com/chrisfie to make sure you do not miss it.
The third part of the "new and different" posting deals with servers and services in Project Server 2007. By servers I also include some of the other products in the Microsoft Office 2007 server family as well as the functional breakdown of servers you may have in your server "farm". Likewise "services" covers both those services found in the usual operating system services control as well as services running under the control of Windows SharePoint Services. Hopefully all will become clear.
I will not be talking too much about performance choices of the different installation topographies here - more detailing what all the different bits do. The TechCenter at http://www.microsoft.com/technet/prodtechnol/office/project/default.mspx has good documentation covering farm topography. As Project Server is now built on top of Windows SharePoint Services 3.0 (WSS) you will also find the WSS TechCenter very useful at http://www.microsoft.com/technet/windowsserver/sharepoint/default.mspx.
When you install Project Server 2007 you have a number of choices open to you regarding the split of services and servers, as well as having additional functionality from other servers in the family. The simplest installation is to just install Project Server 2007. This could even be installed on a single server although please review the other documentation on the TechCenter to understand if this makes sense for your requirements. This single install can also load and configure WSS and can install SQL Express as the database to support both WSS and Project Server. This is usually termed the "standalone" installation. You can also achieve the same end result using the "complete" installation and this gives you the flexibility to choose a different database server (or perhaps a named instance on the same server). So the next most complex installation is introduced here - having a separate database server. So on one server you are running the web server and application server services, and all the database activity happens on another server. The next split is to have the application server and the web server as different machines. This can be achieved by adding a "Web Front End" (WFE). This is one of the installation options when installing Project Server 2007 and if you are adding a WFE you need to identify the database where your SharePoint (WSS) configuration database is located and then you add the WFE to the server farm.
The three server configuration of Web Front End, Application Server and Database Server can be further extended by adding additional servers of any or all of these three types to spread the load - or even have specific application server for instance taking a particular service. This comes more into its own when running multiple servers from the Office 2007 family - so search or Excel services could be served by a particular server. Reporting from Project Server could also extend the number of servers as you could have SQL Analysis Services and SQL Reporting Services either on the same database server or additional machines.
Services break down in to two related groups; those shown on the WSS Central Admin home page as Services on Server, and those in the usual Administrative Tools location for operating system services. So in my example here I will tell what is running on my server farm where I have loaded Microsoft Office SharePoint Server 2007 (MOSS) and Project Server 2007 - and configured Project Server and Office Search, but not Excel Services.
Web Front End - WSS Services
Web Front End - Operating System Services
Application Server - WSS Services
Application Server - Operating System Services
One thing to note is that the services within WSS control those within the OS. So if you stop any of the OS services you will probably see them start right up again - and even changing the identity of the service through the "Services" applet you will see this change back to what it had been set to within WSS. All maintenance of services should be handled through Central Administration - or the command line stsadm.exe tool.
I'll concentrate mainly on the Project services here. The Project services only run on the application server - the web front end can be thought of as just running a WSS application that happens to be Project Web Access (PWA) - no more services required at the front end. The Project Application Service controls the other two operating system services and also needs to be running to provision a new PWA site. If you are familiar with the editsite tool in Project Server 2003 this function is now handled through WSS and specifically in the shared services provider (more later). The two operating system services handle the queue service and server side events. If you look in task manager on the application server you will probably see two of each service running. Basically one of each will start, and then spawn another of each for every shared service provider (SSP) configured in the farm.
The queue service is the new architectural feature of Project Server 2007 that helps to deliver consistent performance by spreading the load. It can be configured through Server Settings of PWA where you can set properties for the 2 different queues: Project and Timesheet. Many of the features within Project Server rely on the queue to move data around, and queue system ensures the server gets a steady stream of work even if everyone submits their timesheets at exactly the same time on a Friday afternoon (as if).
The event service handles the server side events that are a new programmability feature of 2007. You can now write custom code to tie in to numerous events - such as creating a project, publishing a project, submitting a timesheet and very many more. This give a great way to extend Project Server to tie in to your other line of business systems, or just to enhance the functionality of Project.
I'll only mention a couple of WSS services here - the Timer service, which is behind all of the activity on the system - similar in a way to the queue in Project, the Timer service executes timed jobs. Creation of PWA sites and building a cube are a couple of examples where the timer service gets involved. The Web Application Service is the key service for WSS that enables sites to work - including those of WSS itself. WSS is really a WSS application in the same way that Project is!
I said I would come back to shared service so here we go. Think of the shared services provider as being a collection point for the non-core WSS applications that can run on the server. If you have just loaded Project Server then this will be the only item in the SSP. If you have loaded MOSS then you will also see many other components such as the search and portal features as well as the new feature of Excel Calculation Services. You would normally only create multiple SSPs if you needed segregate your instances of Project Server - or isolate some services to specific servers. If you have 2 SSPs then you would see 3 of each of the Queue and Event service running on your application server.
That's all for now - plenty to get your heads around. If you have any areas of project Server you would like some coverage on then please let me have feedback.