Tuesday, July 15, 2008

Automate Web App Deployment with the SharePoint API

cool article I came across. notice the code download is available inside the article.

http://msdn.microsoft.com/en-us/magazine/cc507633.aspx

Branding SharePoint WSS 3.0/MOSS 2007

WSS v3.0 and MOSS 2007 have changed the landscape dramatically; now built entirely on the ASP.NET 2.0 framework master page/page layout infrastructure.

Content Types with a List or Document Library

SharePoint Designer Workflow vs. Visual Studio Workflows

SharePoint Designer Workflows

  • Can not redeploy. Workflows designed using SharePoint Designer apply to a single site, and cannot be redeployed easily. (It is actually possible, but is a developer task.) Major limitation vs Visual Studio approach
  • Numerous limitations to the structure and flow of your workflow. Examples include not being able to update multiple items, or see if the value of a field has changed - see here for more details. Major limitation vs. Visual Studio approach
  • Simplistic ‘Outlook Rules’ approach to designing workflow logic. It works, but isn’t as flexible as Visual Studio.
  • No dynamic task assignment. No task assignment based on availability, current workload, round robin, etc.
  • No interaction with external systems. This has to be done as a development task.

Visual Studio Workflows

  • Developer Task. You need a developer to do this.
  • Awkward. The tools for developing workflows are still in their infancy. Debugging is particularly bad (read ‘effing painful’). Development of workflows is slow.
  • Aspects are still pretty much undocumented.
  • InfoPath and Workflow don’t really use the same data structures. Thus, data handling between them is awkward. Avoid Repeating Fields at all costs (e.g. lines on an invoice)

Both

  • Workflows are Document Centric. (Or more correctly, ListItem-centric). An item (usually a document) ‘owns’ a workflow. A Workflow does not ‘own’ or ‘hold’ document(s). There is no equivalent of a ‘Workflow Attachments’ folder as in some other products. It is possible to bind multiple documents together using a common piece of meta-data (e.g. ‘Case Reference’), but the viewing of the process’ documents is troublesome - and probably via search. And it is possible to have processes for multiple documents - by have a separate workflow for each document. Thus, if you business process contains, say, 5 documents, then you’d need 5 workflows. This will also cause havoc when you start planning reporting on the workflows. Try to avoid processes which contain multiple documents.
  • Documents can only have one of each workflow running against them.
  • Rubbish tracking and reporting. Events just get recorded into a ‘Workflow History’ list. This does not support reporting on very easily - certainly not like a database table.
  • Delay Steps do not work OOB. That’s right, you can’t build delay steps into your workflow without first installing a patch from MS Professional Services - one which we haven’t laid our mitts on yet. That’s right, bang go all of your escalation processes. Nobody would want to do that in a workflow, right?
  • No view over all Tasks in environment. Users can be shown a list of all tasks in a single Site Collection, but not all Site Collections.
  • Workflow host can’t be split of onto it’s own server. Or at least, I’ve never found a way. In systems with LOTS of workflows, this will impact performance.

Update Multiple list items using SharePoint Designer Workflow

Simply can not be done.

  • Numerous limitations to the structure and flow of your workflow. Examples include not being able to update multiple items, or see if the value of a field has changed - see here for more details. Major limitation vs. Visual Studio approach
  • You cannot loop. If you want to perform an action on say all items in a list or all child items for a parent, you simply cannot do it unless you know how to lookup each item in the list at design time and have an action for each of those items.

Increase Max File Upload Size

Increase the maximum upload size-

Open Central Admin >

To increase the size, click on "Application Management", "Web ApplicationGeneral Settings" and make the change.

Default max size is set to 50 mb

Monday, July 7, 2008

Batch file for creating new sites with content databases

:: This batch file calls SharePoints admin executable to create a new SharePoint site in:: its own database at the Site level. Arguments are as follows::::: %1 - Site Name (No spaces or quotation marks):: %2 - SiteTemplate Site Template--do not include extension of .STP)::

echo off

if NOT "%2" == "" goto SiteTemplate

echo Creating Site (http://url.com/sites/%1) and database (WSS_%1) with no template

"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o createsiteinnewdb -url http://url.com/sites/%1 -ownerlogin "domain\administrator" -owneremail owner@domain.com -databaseuser "sa" -databasepassword "password" -databaseserver "dbname" -databasename WSS_%1 -title %1

goto eof

:SiteTemplate

echo Creating Site (http://url.com/sites/%1) and database (WSS_%1) with template (_GLOBAL_#1)

"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o createsiteinnewdb -url http://url.com/sites/%1 -ownerlogin "domain\administrator" -owneremail "owner@domain.com" -databaseuser "sa" -databasepassword "password" -databaseserver "dbname" -databasename WSS_%1 -sitetemplate _GLOBAL_#1 -title %1

:eof

How to add a solution and deploy it

----------adding the solution
1) Locate the WSP file that you want to install in Windows Explorer.
2) Open the command prompt.
3) Go to the C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
directory. This directory may be different depending on your server setup.
4) Type stsadm –o addsolution –filename
5) Drag the WSP file from the Windows Explorer over onto the command prompt. This will
automatically type in the location and filename of the WSP.
6) Press Enter.

-----------deploying the solution
1) Locate the WSP file that you want to install in Windows Explorer.
2) Open the command prompt.
3) Go to the C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
directory. This directory may be different depending on your server setup.
4) Type stsadm –o addsolution –filename
5) Drag the WSP file from the Windows Explorer over onto the command prompt. This will
automatically type in the location and filename of the WSP.
6) Press Enter.