How to use UML for desinging SharePoint?

February 26th, 2010

UML is a great language for designing a SharePoint solution. I searched internet to see how others use UML for documenting a design or architecture of a SharePoint solution, and to my surprise, there were none. So, I’d like to share how I use UML for designing a SharePoint solution.

Here is an example – I want to build a simple Intranet site that contains two types of document library:

  • Common document library – This uses a custom content type called Common.
  • Project document library – This documet library contains a custom document set (new concept in SharePoint 2010). This custom document set contains Project content type which inherits from the Common content type, and three other custom content types related to a project.

How would you document the above scenario using a diagram? In most cases, you would use Visio to create a block diagram using blocks and arrows. The problem with this approach is that a typical block diagram cannot address the relationship of document libraries and content types such as association, aggregation, generalization, etc.

To solve the problem, what I did is to use UML with several stereo types such as wsp (SharePoint wsp package), content type, document library and document set.

  • A UML package represents a SharePoint solution package (stereo type: wsp)
  • A UML class represents either a content type, document library, view or document set.

Here is the end result:

SharePoint 2010 Learning, Where to Start?

February 25th, 2010

Unlike learning MOSS 2007, learning SharePoint 2010 is easy thanks to abundant training materials with good quality. Here are good starting points to learn SharePoint 2010.

Channel 9 – SharePoint 2010 Developer Course (Video + Labs)
This is the best place to start, led by SharePoint gurus such as Ted Pattison and Andrew Connell  It contains the same materials that Microsoft SharePoint 2010 Ignite program offers. You can also download a training kit that contains lab materials for each course. Here is a quick overview of the course:

 

Microsoft – Get Started Developing on SharePoint 2010 (Video  + Labs)
This course contains videos and 10 hands-on lab manuals for SharePoint 2010 to get started learning SharePoint 2010 development. Here is a quick overview of the course:

 

MSDN – SharePoint Products and Technologies (2010)
This is an online version of SharePoint 2010 SDKs and documents. I highlighted several sections that you may find useful:

 

The best way to learn a new technology is to get your hands dirty. If you don’t have a SharePoint 2010 environment yet, download a SharePoint 2010 VM from this link, and play around with SharePoint UI, write some code using Visual Studio 2010 and create PowerShell scripts. Lastly, to be a solid SharePoint 2010 developer, you will need to get familiar with the following skill sets:

  • PowerShell – Simply put, STSADM is dead. STSADM will be in SharePoint 2010 for backward compatibility, but you are expected to use PowerShell.
  • Web 2.0 - Silverlight, jQuery, ASP.NET AJAX and pain JavaScript will help you build a user friendly application
  • WCF - Old web service (asmx) files are gone. If you are not familiar with WCF, it is time to learn it. 

Modeling Tools: Sparx Enterprise Architect 7.5, Visio and Visual Studio 2010

February 24th, 2010

If you are using Microsoft Visio to create UML diagrams and find it painful, try Sparx Enterprise Architect 7.5. Simply put, there is no comparison. Sparx EA is designed to be a professional modeling tool that will help you create polished diagrams much more quickly.

I used Microsoft Visio 2010 and Visual Studio 2010 for creating UML diagrams, but Sparx EA beats them hands down. Here is my personal stack rank of these three tools for UML modeling:

  1. Sparx EA
  2. Microsoft Visual Studio 2010 architecture diagrams
  3. Visio 2007 and 2010

The training kit used for the 5 day SharePoint 2010 virtual ignite course is available for download

February 20th, 2010

You can view the course online at http://channel9.msdn.com/learn/courses/SharePoint2010Developer/ or download the training kit at http://go.microsoft.com/?linkid=9702451.

Live a day with your five senses and your brain at full speed.

January 26th, 2010

Brain Rules — A Physical Activity is a Cognitive Candy.

January 23rd, 2010

Brain Rules

Brain Rules, written by John Medina is a fascinating book about human brains with practical 12 rules about them. John’s web site, BrainRules.net has nice media materials for these 12 rules as shown below:

SharePoint 2010 Installation Guidelines

December 29th, 2009

SharePoint 2010 Training Kit

December 29th, 2009
  • Sharepoint 2010 Beta Developer Training Kit – The SharePoint 2010 Beta Developer Training Kit provides developers with deep guidance on how to develop for SharePoint 2010. Through PowerPoint decks, Hands-On Labs, Source Code, and Instructor-Led Videos, the developer kit walks you through an array of important developer topics–including Developer Roadmap, Visual Studio tooling, Workflow, Business Connectivity Services, and much, much more.):
  • SharePoint 2010 training courses for developers: SharePoint training courses at Channel 9 

How to Enable Sleep Mode in Windows 2008 R2 with Hyper-V

November 29th, 2009

Sleep mode is essential for both laptop and a home PC because it preserves my work state and because there is a huge cost saving (about $5 to $10/mo for a home PC) by putting an idle PC to a sleep mode instead of leaving it turned on. The problem is when Hyper-V is enabled, this handy sleep mode is disabled.

I installed Windows 2008 R2 on my laptop and my home PC to use Hyper-V, but I noticed that once Hyper-V is enabled, I can use sleep mode anymore. After a long research, I found a workaround from this article. As the article suggests, a workaround is to install Hyper-V role but not to start it by editing the registry setting in Windows 2008 R2 as follows:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hvboot]“Start”=dword:00000003

With the above setting, I was able to put my laptop and my home PC to sleep mode. When I need to use Hyper-V, I can simply run the following command:

net start hvboot

As the article suggests, once Hyper-V is enabled, power management will be disabled until the next reboot. For me, this turned out to be a reasonable workaround.

Need idea? Try Random Stimulus Technique!

November 27th, 2009

Use the Random Stimulus technique to generate solution ideas: