Chris’s SharePoint Reflections

Just another weblog

  • Chris Zhong

    IT consultant Australia

  • Advertisements

Archive for June, 2008

Planning your SharePoint WCM site – Part 1

Posted by chrissyz on June 29, 2008

Many organizations build their public-facing Internet sites using MOSS 2007 because of its WCM features. It has a lot of improvement over MCMS like: rapid site creation, caching, web-based management interface, new content deployment architecture, extensible workflow and search etc.. Recently I am building a MOSS Internet site for my company, a couple of thoughts I would like to share here:

1. Hosting Environment:  Ideally we will have two server farms. One for internal farm (for intranet) dedicated to the content authors/editors/designers and a second farm (in the internet- facing network) that hosts our production site. Our internal farm is read/write, while our production farm is most likely read-only. This way we could have business owners setup to edit the content on the site and have it published through a proper approval and content deployed process.  The environment we should be aiming for should look something like this:



2. Looks and feels: Personally, I don’t think you need to be a SharePoint expert to design your internet site. SharePoint is build on top of ASP.NET 2.0, so basically, whatever you can design in an ASP.NET website, you can always implement it in SharePoint (just a matter of money and effort. 🙂 ) Therefore, don’t confine your creativity at the first place just because it is a SharePoint site, you will be amazed at what SharePoint can do. However, it is always good to have an understanding of SharePoint, as it does have a few things special. Heather Soloman’s blog is a good place to check out.

·         Design:

Tools: I am using Microsoft Expression Web for prototyping.  It is so cool.

               A couple of things need to take consideration when you are prototyping

Ø  SharePoint OOTB Controls:  what SharePoint interface features do you want to keep in the new design? Like breadcrumb, welcome menu, site action, page titles, site titles, page images, navigation menus, etc. Make sure your master page still incorporate these items even though you are not going to implement them.

Ø  Navigation:  Do you want top bar navigation, left/right hand side navigation? Do you want to modify the SharePoint OOTB navigation control or do you want to create your own custom user control? You may want to check this site

Ø  Toolbar: there are several toolbars used in SharePoint on various screens, plus form field background

Ø  Content areas: page layout, web part zones etc.

·         Implementation

Tools:  SharePoint Designer

The bulk of the customization and branding was done in a master page. You can either start from the minimal master page or OOTB blueband/blackband master page. I don’t recommend start with default. master as you will get more kudos for the road less travelled.


To make your SharePoint site not look so SharePointy, CSS is the key .All the looks and feels are controlled by CSS. You do need to be good at CSS or at least have one CSS expert on your team.  There are 26 OOTB CSS files shipped with SharePoint. However, you don’t need to know all of them, but it is important that you understand the mechanism of how Core.css works with SharePoint. Here is a blog give a detailed explanation of how CSS works with master page.


3. Usability: Like an old saying said: if you don’t know what your destination is, it doesn’t matter if you take a bus or take a taxi.  Designing a website, you need to know who your audience is. As a technical person, we tend to design the web site to show off the best technologies instead of paying attention to the end user. For example, if the Internet site is built for government, then accessibility is the priority. You may want to give up Silverlight or flash etc and try to keep the site neat and clean. Make sure you take your end user into consideration when you make decision of what technology to use; what the site will be look like? Keep in mind that technology is meant to adjust to people’s need, not the opposite. Make sure you work closely with your customer on the Information Architecture and Taxonomy.

Well, have to stop here. Shopping time now, don’t want to miss Myer’s midyear sale. I will continue this in part 2, talking about deployment and packaging.








Posted in WCM | Tagged: , | Leave a Comment »

Silverlighting with SharePoint

Posted by chrissyz on June 15, 2008

Silverlight is so cool. I can forsee a great future of building RIA for the next generation using Silverlight, especially in Sharepoint. As we all know, sharepoint looks and feels is very sharepointy. It takes great effort to “sexy it up”. Integration with Silverlight will be a good potential solution, specially in BI area such as dashboard. Microsoft is really pushing it as well. They provide “Silverlight for SharePoint BluePrint” with six demo samples to get you a jump start. I have been playing with it last couple of weeks. Honestly, the configuration is not easy, but it worth the effort! I normally don’t want to get too technical in my blog, but this time is exception. Here is the detailed checklist to configure your SharePoint environment to run silverlight webpart.


Enviroment requirement:

  • WSS 3.0 + SP1 or MOSS 2007 + SP1
  • VS 2008 or VS2005 + .NET 3.5
  • ASP.NET 2.0 AJAX Extension 1.0
  • Microsoft Silverlight Tools Beta 1 for VS 2008. This download will also automately install Silverlight 2 Beta 1, Silverlight 2 SDK Beta 1 and KB949325 for VS 2008 for you. Make sure you uninstall all the previous silverlight versions before you install this one
  • Drag system.web. silverlight.dll into GAC after the installation


  • Change the web.config (Follow legendary Patrick’s screencast). Besides that, you need to add an extra safe control in the web. config in order to run the script manager if AJAX technology has been used (Like Navigation Control Demo in the blue print)

<SafeControl Assembly=”System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35″ Namespace=”System.Web.UI” TypeName=”*” Safe=”True” />

  •  Register .xap extension as a MIME type (application/x-silverliget-2-b1) for IIS (This one also demostrates in Patrick’s screencast)
  • If the web part is blank, recompile the project which will automatically produce a solution file. The new .xap file normally 2k bigger than the old one. Repalce the new .xap file for the old ones (Intpub/wss/virtual directory/site name/clientbin and Intpub/development/)
  • By the way, if you are trying to make the navigation control work, you will get a error message saying unable to load the assembly SL.Controls.Navigation.Dll. Don’t panick, as this is because the assembly’s publich key token is wrong.  All you need to do is:
  1. open the blueprint.master. 
  2. Locate the line <%@ Register TagPrefix = “SL” Namespace = “SL.Controls.Navigation” Assembly=”SL.Controls.Navigation, Version=, Culture = neutral, PublicKeyToken=”4aec304184eb9a69″%>.
  3. Change the PublicKeyToken 4aec304184eb9a69 to bb99f30c0098259c.

Then it goes live!!!!

Although silverlight has some drawbacks and not very mature and stable at this stage, remeber it only starts and has a long but very promising future ahead of it.  Microsoft is putting a lot of effort on improving it. Give it a go and you will love it!

Posted in Silverlight | Tagged: | Leave a Comment »

Say no to SharePoint Customization

Posted by chrissyz on June 2, 2008

I am going to start this controversial article to my blog. The purpose of this article is to provide some reflections on the adoption and utilization of SharePoint in the organzation. Patrick Tisseghem mentioned “SharePoint is about build or buy” in his famous blog “SharePoint is not a holy grail“. Well, I quite agree with that as SharePoint is not a solution for everything. It is how you apply it in order to aid you in the solution. However, from my own experience, SharePoint development experience isn’t as friction-free as it could be. Therefore, my formula is simple:  Effective sharepoint solution = OOTB SharePoint + third party tools + minimal customization. Yes, if you still think you need heavy customization after leveraging OOTB SharePoint and evaluate the existing off the shelf sharepoint application, then forget about Sharepoint

1. Customizing SharePoint costs money and takes time. I am sure any .NET developers can skill up and be productive and happy working with SharePoint, but it takes time. There is a steep learning curve and new development conceptes to adjust. The current situation is people pay $XXX for SharePoint Developers and they still can’t get decent ones. Oh, don’t forget these PM/business owners who have been nurtured in SharePoint OOTB syndrome, they won’t be happy to see developers spending too much time on learning and training.

2. Poor supportability.To say SharePoint is a development platform, well, it is partially true. It is a development platform for Microsoft and its partners. It should be a product for the ordinary companies who wish to use SharePoint to solve their daily problems. Why? First of all, customized SP is hard to support. You get some funky contractors write some funky custom code and after a couple of months something goes wrong and their successors have to dig into these code to investigate what is going on. Secondly, Microsoft has three year dev cycle for SharePoint. You will expecting your application to upgrade with Microsoft’s new release. But remember, Microsoft doesn’t support custom code. You messed up, bad luck.
3. There are a lot of community supports for SharePoint, but looks like most people is still learning the concepts and exploraing the best practises. Again, a good place to go maybe Codeplex. It has a lot of community tools. It is free and it has version controls as well. At least it will give you some code block to start with for customization. But, like I say, they are community tools, so don’t be too fuzzy.

Looking forward, we are expecting Microsoft and its partners to develop more useful web parts and features just like what they do in MOSS 2007. And organizations only need to subscribe to what they need and configure it according to business requirements.

Posted in General | 4 Comments »