Fabian Williams SharePoint Blog

Solving problems with SharePoint day and night

My Slidedeck for my Overview of SharePoint 2010 now on Slideshare.net


February 28, 2010 Posted by | SharePoint 2010, SharePoint Administration, SharePoint General, SharePoint How-To | | Leave a comment

My SharePoint Deck for my BCS Sessions now on SlideShare.net

February 28, 2010 Posted by | SharePoint 2010, SharePoint Designer 2010, SharePoint Development, SharePoint General, SharePoint How-To, SharePoint Saturdays, Visual Studio 2010 | , , , | Leave a comment

Can a Single Custom Action Work Across All List Types – Done in STSDEV, my response to @gvaro WSPBuilder :-)

TrackBack: http://gvaro.spaces.live.com/blog/cns!B06529FD3FC75473!1106.trak

So, I too have a good friend, Mark Rackley, and he posed a question to another good friend Geoff Varosky regarding the topic above.  Geoff did a great job answering the question by just tackling the problem straight on.  While that was very impressive, he did so using WSPBuilder… the nerve, houspa (sp), gaul,… well you know what I mean.  Now, you may say, why would i repeat a blog that was already done; well to my point, I was able to avoid several steps in Geoff’s blog, by the sheer might of STSDev, in particular I was able to build and deploy my solution right from inside Visual Studio.  STSDev uses specific templates which gives you at a minimum:

  • Deployment Files
    • Targets – a file which allows you to define your target sites
    • Images – your WSP image, plus more
    • and your DDF file so you dont have to do any STSADM commands to deploy

So here goes… using STSDev, oh and by the way, the answer to the question is YES! – did I just spoil the ending ?

Step 1 (Below): Open up Visual Studio 2005/ 2008 and if you haven’t already added STSDev to your External Tools; now is the perfect time, if you have, then just click STSDev from the Tools Menu.


Step 2 (Below): – You will notice from the onset that you have several options available to you for Templates, as well as IIS Versioning, and .NET Versions. One thing I find quite useful also is the ability to:

  1. Identify my Signing Key
  2. My Feature Icon (my ugly mug in my example below)
  3. whoa… A specific App Pool to run under
  4. 11 Templates for various SharePoint solutions


Step 3 (Below): – So i fill out some project information. Having some fun with the nomenclature…


Step 4 (Below): – Identify the scope of the Feature… See Geoff’s SlideShare for a great presentation on the impact of your choice here.


Step 5 (Below): – and abracadabra you have a Solution Created. 


Step 6 (Below): – As I mentioned in my prologue; you have various files under the Deployment Files where you can customize the target of the solution (the Site, Web App, Site Collection and/or Farm) as well as other target information.  You will also notice that your Feature.xml and Elements.xml are already created under the 12-Hive Template/Features Folder and all you have to do is customize that file.  The image you selected earlier is also populated in the IMAGES folder.



Step 7 (Below): – Once you have created, tested, and is in agreement that your code is solid, you now have the ability to FROM IN Visual Studio (Ta-Da!) deploy directly to your predefined Targets, and even Retract if you are not satisfied. These are the steps missing from WSPBuilder… see below for the options and Output Window..




Step 8 (Below): – So, if you go to your Root Site Collection, you should see a new feature and have the ability to activate it. Go ahead!


Step 9 (Below): – To test, I went ahead and created a new Site aptly named STSDEVROCKS and I created a few List and Libraries to prove the point of the question. See below. In the end, you should be able to have a URLAction that launches my Blog!







Fabian Williams Blog


Happy Hunting!

February 20, 2010 Posted by | SharePoint Development, SharePoint How-To | 4 Comments

Creating a SharePoint 2007 Backup Strategy using STSADM commands complimented by Windows Scheduled Task (AT) commands


I am on a project where we will have to rely on the out of box (OOB) Backup Strategies from Office SharePoint Server. I am wearing my IT Pro hat, but the developer in me… says when you do something once… Automate it for future use, Blog it so you can remember it….  SO here goes.. There are two flavors of OOB Backup Strategies in Office SharePoint Server 2007:

1. Using Central Administration –> Operations –> Backup and Restore

2. Using STSADM –> – o backup –url [site path] –filename [where to save the file]

The Central Administration route is, in my opinion an ineffective way to do backups if your goal is to be a long term strategy; it is a one-time deal through a wizard with limited options. Certainly if you are in need to do a backup because of a pressing circumstance, this is in-fact a viable option, but outside of that, STSADM provides more flexibility and it may be scripted and scheduled for future recurring operations.

HOW TO: Implementing a Backup Strategy with OOB STSADM commands

STSADM Backup Syntax:
For site collection backup

stsadm -o backup

-url<URL name>

-filename<file name>


Things to look out for when using STSADM to perform backups

As your site grows, logically does your content databases, and if you are employing STSADM as the tool for backup, a bi-product of that will be “longer backup times”. If your environment will be taking longer to backup, your risk of someone updating a file/document/asset as you are performing your backup increases; as a result if a backup is in running and a file is open, that backup is at risk of failure. How do we combat that problem? We use yet another STSADM command to lock the Site in effect the database to read-only; we do this with the SiteLock command, there are two in particular, getsitelock and setsitelock see below for the full command syntax.

stsadm -o getsitelock

-url <URL of Site Collection>


stsadm -o setsitelock

-url < URL of Site Collection> -lock readonly


Automate your Backup Solution

Certainly you can navigate to the SharePoint 12-Hive and execute these commands as a single action; however, a more consistent action is to script the job with error handling and user feedback.

Script your Backup

@echo off
@echo This script will backup your site: [Your Site Name Here]
cd \Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN
@echo locking site collection before the backup process starts
@echo off

stsadm -o getsitelock -url http://YourSiteCollectionNameHere
stsadm -o setsitelock -url http://YourSiteCollectionNameHere  -lock readonly
@echo site collection is now locked

@Echo Logic to create a new file name daily 
@For /F "tokens=1,2,3 delims=/ " %%A in (‘Date /t’) do @(
Set Day=%%A
Set Month=%%B
Set Year=%%C
Set All=%%C%%B%%A

@echo off

stsadm -o backup -url http://YourSiteCollectionNameHere  -filename \\ServerName\ShareName\Backup_ %All%.bak -overwrite
@echo backup completed
@echo off
stsadm -o setsitelock -url http://YourSiteCollectionNameHere  -lock none
@echo Site lock removed

Save the above to a .bat file in a preferred location.

Automate your Backup

Create a new Windows Scheduled Task by going to Start–> Control Panel –> Scheduled Tasks –> Add Scheduled Task

Follow the wizard and schedule the .bat file created above to run at a frequency of your own choosing.

[1] A complete reference of STSADM commands are located on Jose Barreto’s blog http://blogs.technet.com/josebda/archive/2007/03/22/complete-reference-of-all-stsadm-commands-with-options-in-moss-2007.aspx

[2] Example of creating the filename so it changes daily and thus does not have to overwrite itself. http://www.zorbathegeek.com/153/batch-file-to-append-date-to-file-name.html

February 17, 2010 Posted by | SharePoint Administration, SharePoint General, SharePoint How-To | 7 Comments

With so many SharePoint Saturdays coming up… the question is which one are you NOT going to attend

I strongly encourage all my blog readers to “attend” and where possible to present as speakers at one of these SharePoint Saturdays coming up (see below). It is a FREE event to attend, all you have to do is register in time; the speaker panel is always star-studded, and you will be surprised just how much knowledge can be soaked up in one Saturday.





Have fun! Stay Strong..

February 15, 2010 Posted by | SharePoint 2010, SharePoint Administration, SharePoint General, SharePoint Saturdays, Where is Fabian | 3 Comments

More of my SharePoint 2010 Blog Post on the Horizon…

To my fellow blog subscribers out there and people generally interested in my Blog on SharePoint 2010 especially around Business Connectivity Services (BCS), I have been a bit in a lull.  This is in part due to the fact that I have had quite a bit of SharePoint Saturdays and Conferences since the year started and now that I will be using a release above Beta, I will be limited in what I can release publicly.  In my blogs it is mostly [as I am a visual learner] screen shots or Camtasia videos; and since I am now under NDA again with this most current build, …well u know…

That said, please come out and see me at these SharePoint Saturdays; they are truly worth your time and effort.  From my own perspective, not only do I get to impart a lot of what I know to the greater community, but I sit in on my fellow presenters sessions, and in just conversations with the session participants, I am always pleasantly surprised with what I soak up.  Last week I presented at the SharePoint Technology Conference in San Francisco and what a spectacular event it was.  A great panel of speakers, gracious hosts, and overall a good time.  The next one is in Boston; please register at your earliest opportunity.

So where will I be next; I am doing two sessions at SharePoint Saturday New Orleans [Yes the home of the Superbowl 44 Champions] next week Saturday; if there are still registrations spots open, please sign up. One session is on of course BCS and the other is on Sandbox Solutions (yes Cherie Taylor I know I owe you my session details on Sandbox, you will get it COB today) oh a soap box moment… Sandbox Solutions is the defacto way Microsoft wants you to start building your SharePoint Solutions, why do I say that, well when you start a template, it defaults to what else “Sandbox Solutions”.

Till then… Learn It, Love It, Live It.  and most of all, Have Fun With It!

A little humor before I go…

The pictures below represent just hours before my flight out from DC Metro to San Francisco last week; and no.. no theme song from “The Hangover”.. “you spin my head right round…”


Above… the main street from my house.. I live on a cul-de-sac with one other house..


Above… my drive way that i had to dig out of. First week we had 28 inches, this dumping 15 more inches…


Above… me after shoveling my drive way, I had to shove the (what I hope was just to the middle of the street)…


Above… who was I kidding, I had to shovel the entire street so i could go catch my flight to San Fran.

February 15, 2010 Posted by | Business Connectivity Services, SharePoint 2010, SharePoint Administration, SharePoint Development, SharePoint General, SharePoint Saturdays, Where is Fabian | Leave a comment

The SharePoint Community Rocks! That’s all I can say – I Love you Guys!

No synopsis this time.. well maybe a little one.

So.. I came home after going out to my favorite clothing store to buy myself a birthday gift (if you buy it, guarantee it is something you want).. anyway… I checked my letter box and to my amazement I saw a letter/card intuitively from “The SharePoint Crew”.. immediately I started to think… whoa this has to be a prank… but to my amazement it is a wonderful gesture from people I am honored to have as colleagues and moreso friends.

Thank you for the card @mrackley @pswider @gvaro, @erickraus @ mosslover @janishall @cwheeler76 @ricknology @joeloleson and from the dude who mailed it @usher

and thank you from everyone on twitter and facebook who extended a birthday wish today, it is very much appreciated.






February 4, 2010 Posted by | SharePoint Friends, Where is Fabian | | Leave a comment