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:

Posted in SharePoint, SharePoint 2010, Software architecture, UML | No Comments »
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.
Tags: SharePoint 2010; Traning; Learning
Posted in SharePoint 2010 | No Comments »
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:
- Sparx EA
- Microsoft Visual Studio 2010 architecture diagrams
- Visio 2007 and 2010
Posted in Productivity, Software Development, Software architecture | No Comments »
January 26th, 2010
Tags: Quotes
Posted in Uncategorized | No Comments »
January 23rd, 2010
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:
Tags: Mind, Productivity
Posted in Productivity | No Comments »
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
Posted in SharePoint 2010 | No Comments »
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.
Tags: Hyper-V, Sleep mode, Windows 2008 R2, Windows Server
Posted in Software Development | No Comments »
November 27th, 2009
Use the Random Stimulus technique to generate solution ideas:
Tags: idea generation, ideas, Innovation
Posted in Innovation, Software Development | No Comments »