Sunday, January 29, 2012

Shutdown Virtual Machine without changes in VM Player

Edit the vmx and add this line if the VM uses a scsi-disk

scsi0:0.mode = "independent-nonpersistent"

or this if the VM uses an IDE-disk

ide0:0.mode = "independent-nonpersistent"

Friday, January 27, 2012

Extract WSP through C# or Powershell.

C# code extract WSP file:

SPSolutionCollection solutions = SPFarm.Local.Solutions;

foreach (SPSolution solution in solutions)
{
SPPersistedFile wspFile = solution.SolutionFile;
wspFile.SaveAs("c:\\wsp\\" + solution.Name);
}

Powershell script:
Start-Transcript "c:\wsp\transcript.txt"
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")

$solutions = [Microsoft.SharePoint.Administration.SPFarm]::Local.Solutions;
foreach ($solution in $solutions) {
$solution.SolutionFile.SaveAs("c:\wsp\" + $solution.Name);
}
Stop-Transcript

MOSS 2007 versions information

12.0.0.6535 MOSS 20071 or WSS 3.0 SP2 + December 09 cumulative Update (KB960010 + KB960011)

12.0.0.6524 MOSS 20071 or WSS 3.0 SP2 + 15th December Update (KB977027 + KB977026)

12.0.0.6520 MOSS 20071 or WSS 3.0 SP2 + October 09 cumulative Update (KB974989 + KB974988)

12.0.0.6514 MOSS 20071 or WSS 3.0 SP2 + August 09 cumulative Update (KB973400 + KB973399)

12.0.0.6510 MOSS 20071 or WSS 3.0 SP2 + June 09 cumulative Update (KB971538 + KB971537)

12.0.0.6504 MOSS 20071 or WSS 3.0 SP2 + April 09 cumulative Update (KB968850 + KB968851)

12.0.0.6421 MOSS 20071 or WSS 3.0 SP2 (KB953338 + KB953334) [Updated 1st Aug 09: SP2 download now includes the hotfix (KB971620) that corrects the activation issue more information on the Microsoft SharePoint team blog]

12.0.0.6341 MOSS 20071 or WSS 3.0 February 09 cumulative Update (KB961755 + KB961756)

12.0.0.6335 MOSS 20071 or WSS 3.0 December 08 cumulative Update (KB960010 + KB960011)

12.0.0.6331 MOSS 20071 or WSS 3.0 October 08 cumulative Update (KB957691 + KB957693,KB958567 and KB958569)

12.0.0.6327 MOSS 20071 or WSS 3.0 August 08 cumulative update (KB956056 & KB956057)

12.0.0.6318 MOSS 20071 or WSS 3.0 Infrastructure Update (KB951695 & KB951297)

12.0.0.6303 MOSS 20071 or WSS 3.0 post-SP1 hotfix (KB948945)

12.0.0.6301 MOSS 20071 or WSS 3.0 post-SP1 hotfix (KB941274)

12.0.0.6300 MOSS 20071 or WSS 3.0 post-SP1 hotfix (KB941422)

12.0.0.6219 MOSS 20071 or WSS 3.0 SP1

12.0.0.6039 MOSS 20071 or WSS 3.0 October public update

12.0.0.6036 MOSS 20071 or WSS 3.0 August 24, 07 hotfix package

12.0.0.4518 MOSS 20071 or WSS 3.0 RTM

12.0.0.4407 MOSS 20071 or WSS 3.0 Beta 2 TR

12.0.0.4017 MOSS 20071 or WSS 3.0 Beta 2

12.0.0.3111 Office 12 (PDC image - pre-beta) - This version of Office does not have a support link in the Add/Remove programs dialog box.

Top 10 SharePoint Tools from CodePlex

Useful Tools for SharePoint from CodePlex

SharePoint Content Deployment Wizard by Chris O’Brien
This is a great tool for quickly deploying SharePoint content from one environment to another. Here are some salient feature of this tool:

Ability to “cherry-pick” content to deploy using a tree view - this is from entire site collection down to individual lists, folders, list items (including files)
Dependencies of selected content (e.g. referenced CSS files, master pages) are automatically included in the export - check ‘Exclude dependencies of selected objects’ to disable this.
All required content types, columns etc. are automatically included in the export.
In contrast to STSADM export, it is possible to retain GUIDs during deployment. This is required for scenarios where the destination should be a mirror-image of the source, such as staging/production environments for the same site
Open Source and free.
Read the detailed review of this tool

Download from CodePlex
http://www.codeplex.com/SPDeploymentWizard

Chris Obrien’s Blog
http://www.sharepointnutsandbolts.com/2007/12/introducing-sharepoint-content.html

SharePoint SmartTemplates for Visual Studio
The SmartTemplates for SharePoint project delivers a collection of Visual Studio templates which allow developers to create a range of SharePoint customizations in a painless and professional fashion.

SmartTemplate comes in 2 flavors:

Web Part Project Template:
It allows developers to create quickly a project which contains the base infrastructure to write the web part code, generate a SharePoint Solution file (WSP) for easy deployment and generate a setup package for a wizard driven installation.

SmartPart Web Part Project
Allows developers to create quickly a project which contains the base infrastructure to write a web user control (ASCX), wrap the user control in a SmartPart instance, generate a SharePoint Solution file (WSP) for easy deployment and generate a setup package for a wizard driven installation.

Download from CodePlex
http://www.codeplex.com/smarttemplates

SharePoint 2007 Features
SharePoint 2007 Features add new functionality to a SharePoint 2007 farm, site collection, or site. It install bunch of custom Features to address deficiencies in SharePoint 2007 or add new capabilities.

Some of the popular feature are Debugger Feature, Log Viewer, Print List, Toolbar Manager etc.

Download from CodePlex
http://www.codeplex.com/features

SPIEFolder
Allows you to either Import a file system folder (And all files and subfolders) into a SharePoint Document Library, and also export a SharePoint Document Library to the file system for WSS 2.0/SPS2003 or WSS 3.0/MOSS 2007.

This tool completely replicates the document libraries folder hierarchy to the file system when exporting, and replicates the folder hierarchy from the file system to the document library when importing.

Download from CodePlex
http://www.codeplex.com/SPIEFolder

SPSiteManager
The purpose of the SharePoint Site Manager (SPSiteManager) is to assist customers with performing SharePoint Site Collection maintenance activities for SharePoint Products and Technologies (which includes Windows SharePoint Services 2.0 and SharePoint Portal Server 2003). This sample source can be compiled to produce a tool that will allow you to analyze your farm looking for problems, repartition/level sites across content databases, perform batch backups, restores, and deletes of site collections, and perform Site maintenance and cleanup for SharePoint Portal Server.

Download from CodePlex
http://www.codeplex.com/SPSiteManager

SPPurgeList
Allows you to purge the contents from any list or document library on WSS 2.0/SPS2003 or WSS 3.0/MOSS 2007.

If you need to retain a list/document library itself (Maintaining its original GUID) without completely deleting the entire list/document library and re-creating, this tool can help.
You could certainly use Web Folders (WebDAV) to clear the contents, but users stand the chance of accidentally deleting the contents of the forms folder which is not desirable. As well, you could script and automate the task using this tool if you desired.

Download from CodePlex
http://www.codeplex.com/sppurgelist

SPLSBackup
The purpose of SPLSBackup is to mimic STSADM site collection level backup/restore but with options for setting/unsetting the sites lock state during the operation, therefore eliminating the need to manually visit the SharePoint Central Admin pages before and after.

Download from CodePlex
http://www.codeplex.com/splsbackup

SharePoint Access Checker Web Part
Quickly check what objects within a SharePoint site hierarchy a user has access to.

The Access Checker Web Part is a Windows SharePoint Services Web Part, for use within Windows SharePoint Services v3 and Microsoft Office SharePoint Server 2007, that displays a tree view showing permissions on objects for a user scoped to a Site hierarchy. It also has a second mode which will show the permission inheritance of objects within a Site hierarchy.

Download from CodePlex
http://www.codeplex.com/AccessChecker

WSPBuilder
The WSPbuilder is a console application that creates SharePoint Solutions files based on a folder structure. WSPBuilder will automatically traverse a “12″ folder structure and creates a SharePoint solution manifest.xml and the wsp file based on the files it finds.

Therefore you do not need the knowledge of how to create a solution manifest.xml and wsp file any more.

Download from CodePlex
http://www.codeplex.com/wspbuilder

SharePoint Used Space Information
SharePoint Used Space Information is a console application which allows to retrieve information about space used (bytes) by all sites and sub-sites for a specific site collection into .csv files.

Download from CodePlex
http://www.codeplex.com/SPUsedSpaceInfo

If you have used any of these tools, please drop a comment and share your views.

You might be interested in:
SharePoint 2007 Test Data Population Tool
SHAREPOINT DESIGNER 2007 IS NOW FREE!
Review of: SharePoint Content Deployment Wizard
Using STSADM.EXE to Create Empty Site Collection
Set the SharePoint Welcome Page through code

Install WSPs using STSADM- Sample batch file

set WSP_NAME=###WSPNAME##.wsp
cd E:\Builds\PreBuild

stsadm -o retractsolution -name %WSP_NAME% -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name %WSP_NAME% -override
stsadm -o execadmsvcjobs
stsadm -o addsolution -filename %WSP_NAME%
stsadm -o execadmsvcjobs
stsadm -o deploysolution -name %WSP_NAME% -immediate -url ###URL### -allowgacdeployment -force
stsadm -o execadmsvcjobs



pause

A tool to extract WSP solutions from SharePoint to hard disk

http://archive.msdn.microsoft.com/SPSolutionExtractor


Resource Page Description
This tool allows to verify all wsp files installed on SharePoint 2007 Farm. And it allows to download the wsp files from SharePoint Database to hard disk.

Usage:

SharePointFarmSolutionExtractor.exe -list
(This command list all WSP-Solution installed on the SharePoint Farm)


SharePointFarmSolutionExtractor.exe -extractAll c:\SharePointSolutions
(This command download all WSP-Solutions installed on the SharePoint Farm to the specified path)


SharePointFarmSolutionExtractor.exe -extractById c:\SharePointSolutions
(This command will download all WSP-Solution with matching the SolutionGUID to the secified path)

SharePointFarmSolutionExtractor.exe -extractByName
c:\SharePointSolutions
(This command will download all WSP-Solution with matching the SolutionName to the secified path)

Requirements:
- .NET 2.0
- Microsoft.SharePoint.dll

Wednesday, January 25, 2012

Recreate Shared Service Provider (SSP)

Recreating a Shared Service Provider

SSP and MySite is not working and displaying Page Cannot be displayed error. Previously It was working fine and suddenly it stopped working. Web application pool is working properly. When click on SharedServices1 it display the error “Page Cannot be displayed” same is happening with MySite.

Find out old Database name

Open Central Administration Site and click on Shared Services Administration. Go to SharedServices1–>Edit Properties. Copy the old content database name & search database name.

Create Dummy SSP

Open Central Administration Site and click on Shared Services Administration. Click on New SSP to create a new one.

Make default SSP

Click on Shared Services Administration–>Change Default SSP (from the Shared Services Administration) and choose your new SSP (SharedServices2).

Delete old SSP

Delete the original SSP (SharedServices1) by choosing delete from its context menu. DO NOT DELETE ITS ASSOCIATED DATABASES! This might take a second to complete.

Restore the SSP

Now we’re going to click on Restore SSP and restore the original SSP with a brand new Administration site. Name it SharedServices1 and fill out fields. Create a new web application and when it comes time to fill out the fields for Search Database and but this time fill out the two databases for the SSP. This will include the databases that we identified in step 1. This will ensure that you don’t lose all your data from the SSP like Search Content Sources, Excel Services Settings, Audiences, and BDC etc.

Delete Dummy SSP

Now we should have two working SSPs, SharedServices1 and SharedServices2. Click Change Default SSP and change it back to SharedServices1. After that delete SharedServices2 (this might take a while).

Now reboot the machine and check your SSP.

Monday, January 23, 2012

Content migration options in MOSS 2007

The Following strategies are available in Sharepoint (Moss 2007) to migrate the Content.

I. Using SQL
II. Using STSADM BACKUP/RESTORE
III. Using STSADM EXPORT and IMPORT
IV. Using Content Migration API (SPIMPORT or SPEXPORT Classes )
V. Using Sharepoint Central Admin
VI. Using Sharepoint Designer

Please find the Explanation for each of these strategies.

USING SQL

Using SQL, Backup the SQL Content Databases which are required and Restore them to a new databases in the SQL and attach these databases to the new application.

(Briefly we can say that take your content db ‘Offline’ using the Central admin. Take the content database offline in SQL Studio (Take Offline context menu item). Copy your database mdf and ldf files to the new machine (the destination machine). Attach the copies on the new SQL server using SQL Studio. Add the copied content DB to the Web Application on the new machine using the Central Admin on the new web server.)

STEPS:

1) Find the content Database

These are listed under Central Admin->Application Management->Site Collection List

2) Backup the content database

You could alternatively detach it, and copy it. Just doing a backup in SQL Server 2005 Management studio is easier.

3) Restore content database to new server

Copy the BAK file to new server. Create an empty DB in Management Studio, restore from backup, you may need to change an option in the “options” tab
of the restore dialog to get it to work. (Overwrite db).

4) Create Web App on new Server

Central Admin->Application Management->Create or extend Web App->Create New Web App.

5) Associate restored DB with new Web App

Central Admin->Application Management->

SharePoint Web Application Management->Content Databases->

Remove Content Database from your new web app.

Now use STSADM to add restored DB to this web app

c:\program files\common files\microsoft shared\web server extentions\12\bin on new server is where you can find the STSADM.

run this command from there.

stsadm -o addcontentdb -url http://yourwebapp:port -databasename yourcontentdb -databaseserver yoursqlserver

6) Run ISSRESET from command prompt.

MORE INFO on ATTACHING a Database and Detaching a Database

http://blogs.technet.com/corybu/archive/2007/06/01/detaching-databases-in-moss-2007-environments.aspx

http://blogs.msdn.com/sharepoint/archive/2007/04/13/stsadm-operations-published.aspx

http://blogs.technet.com/corybu/archive/2007/06/21/sharepoint-site-migration-and-balancing-growth.aspx

- External SQL Server Database Move Example
Database shipping

To migrate your content database from 1 SQL Server to another there are a few choices, your choice will depend on how much downtime you are willing to take.
First option being you can setup SQL Log shipping,

Stsadm –o preparetomove –contentdb SQLServerA:demo_content_1

Stsadm –o deletecontentdb –url http://demo –databasename demo_content_1 –databaseserver SQLServerA

At this point you would perform the final cutover on your shipped database to SQLServerB

Then finish with

Stsadm –o addcontentdb –url http://demo –databasename demo_content_1 –databaseserver SQLServerB

Copy Method(high impact)

Your other option would be to simply detach the database from SQL and copy the .mdf and .ldf to the new SQL server. While in transit your users will get a
generic “Cannot connect to content database” error when visiting their site. Following the copy you would perform the following on your web front end.

Stsadm –o preparetomove –contentdb SQLServerA:demo_content_1

Stsadm –o deletecontentdb –url http://demo –databasename demo_content_1 –databaseserver SQLServerA

Stsadm –o addcontentdb –url http://demo –databasename demo_content_1 –databaseserver SQLServerB

USING STSADM Backup/ Restore
Using STSADM BACKUP and RESTORE backup the complete WEB application and RESTORE it in the new Farm
When you back up by using the Stsadm command-line tool, you can back up individual aspects of your SharePoint Products and Technologies deployment. For example, you can back up an individual site collection or you can back up the entire farm.

To export sites from your SharePoint Products and Technologies deployment, you use the following Stsadm command.

Backup

Stsadm –o export –url -filename .cmp

To back up a site collection, you must use the following stsadm command.
stsadm –o backup –url -filename

To back up an individual database, Web application, or the entire farm, you can use the following Stsadm command.

stsadm –o backup –directory -backupmethod

Restore

To import sites to your SharePoint Products and Technologies deployment, you use the following Stsadm command.

Stsadm –o import –url -filename .cmp

To restore a site collection, you must use the following Stsadm command.

stsadm –o restore –url -filename

To restore an entire farm you can use the following Stsadm command.

stsadm –o restore –directory -restoremethod

So what are the types of backups we can perform. There are two types:
Full backup
Differential backup

Before you create a differential backup however, you need to at least perform a full backup for the first time.

USING STSADM EXPORT / IMPORT

Using STSADM EXPORT and IMPORT we can Export the complete web application and Import it in the Other Farm.

The command-line tool STSADM.exe supports only basic import and export operations and is only useful when importing or exporting entire SharePoint Web
sites or when reparenting a Web site. Content migrated using this tool will not retain object GUIDs. Note that you cannot use this utility to import or export individual items or lists.

stsadm.exe -o export
-url
-filename
[-overwrite]
[-includeusersecurity]
[-haltonwarning]
[-haltonfatalerror]
[-nologfile]
[-versions <1-4>
1 - Last major version for files and list items (default)
2 - The current version, either the last major or the last minor
3 - Last major and last minor version for files and list items
4 - All versions for files and list items]
[-cabsize ]
[-quiet]

You must use the -includeusersecurity parameter in order to preserve time stamps, security information, and user data.

stsadm.exe -o import
-url
-filename
[-includeusersecurity]
[-haltonwarning]
[-haltonfatalerror]
[-nologfile]
[-updateversions <1-4>
1 - Add new versions to the current file (default)
2 - Overwrite the file and all its versions (delete then insert)
3 - Ignore the file
4 - Terminate with conflicts]
[-quiet]

More info

http://farhanfaiz.wordpress.com/2008/02/07/mossback-up-and-restore-site-collection-sites-using-stsadm-utility-export-import/

http://msdn.microsoft.com/en-us/library/aa979099.aspx

Using Content Migration Sharepoint API ( SPEXPORT / SPIMPORT)

Create a New Webapplication and
- Move all the Document Libraries from source to destination Using Content Deployment Migration ( SPEXPORT and SPIMPORT)\

The content import/export feature of the deployment object model allows you to export not only Web site content but also existing dependencies, like security features, user roles, versioning data, workflows, and other metadata.

The Microsoft.SharePoint.Deployment object model is designed to work with data ranging from an entire Web site to a single item in a list or library. The import/export features of the Microsoft.SharePoint.Deployment object model uses two key objects: Microsoft.SharePoint.Deployment.SPImport and Microsoft.SharePoint.Deployment.SPExport.

However, before you run the import or export operations using these objects, you must first specify your import or export settings using Microsoft.SharePoint.Deployment.SPImportSettings and Microsoft.SharePoint.Deployment.SPExportSettings objects. Then you simply call the Run() method on the SPImport or SPExport object, as appropriate.
You can get more info here

http://msdn.microsoft.com/en-us/library/aa979099.aspx

USING Sharepoint Central Administration ( Backup / Restore)

Using Central ADMIN Backup the Complete Farm and Restore the Complete Farm in the New Farm
More info

http://www.sharepointbeagle.com/channels/administration/Pages/MOSS2007BackupandRestoreOperations.aspx

Using Sharepoint Designer

We can find more info about this here

http://office.microsoft.com/en-us/sharepointdesigner/HA100699391033.aspx

Thursday, January 5, 2012

Delete ALL SharePoint List Items

private void ClearListItems()
{
SPList list = SPContext.Current.Site.RootWeb.Lists["SFA_Bulletin_ConfigValues"];
SPListItemCollection itemCollection;

SPQuery oQuery = new SPQuery();
oQuery.Query = "CAML query here..";

SPContext.Current.Web.AllowUnsafeUpdates = true;


try
{
//SPListItemCollection itemCollection = list.GetItems(oQuery);
itemCollection = list.GetItems(oQuery);
for (var i = itemCollection.Count - 1; i >= 0; i--)
{
try
{
itemCollection[i].Delete();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}

SPContext.Current.Web.AllowUnsafeUpdates = false;
}