Blog Home  Home RSS 2.0 Atom 1.0 CDF  
Alex's blog  (Alex blog about Microsoft) - SharePoint
SharePoint, Commerce Server and .NET, Inspire your Mind!
 
 Thursday, February 07, 2008

Hi All,

Its a long time that a posted a blog at this blogsite. Since end of 2007 i started blogging again over SharePoint, WSS, MOSS 2007 and "The new world of work". If you are still interested in my blog, please change the link or your RSS feed in the following:

http://www.bloggix.com/blogs/microsoft

http://www.bloggix.com/blogs/microsoft/rss.aspx

Thanks all!!

2/7/2008 10:43:53 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]   Microsoft | SharePoint  |  Trackback
 Tuesday, July 11, 2006

At some point when we were adding a new site under "Sites" by selecting the "create site in the left column, we were not able to select the folder "sites" anymore. Only "personal" was visible. After some investigation i found the cause.

SharePoint works with so called "managed paths". These paths define which paths are excluded (if you need to access a physical path on disk) and which paths are included (paths managed by Windows SharePoint Services).

You can reach this by going into SharePoint Central Administration, Windows SharePoint Services. Select "Extend or upgrade virtual server" and select the website from "complete list". Under "Virtual Server Management" there is an option called "Define managed paths".

Check if the "sites" and "personal" both are defined under "included paths". Now goto "site settings" of your website. select the option "Manage personal sites" under "User Profile, Audience, and Personal Sites".

Check if "personal" is selected at "Personal Site Location". In my case "sites" was selected which caused "sites" missing. The managed path selected here will NOT appear at the create site page. Now goto the website again and select the the page "Sites". Choose "Create site" under "Actions" and there it is again. Your "sites" folder appears again.

7/11/2006 9:59:36 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [40]   SharePoint  |  Trackback
 Monday, July 03, 2006

I'm already working some time with MOSS 2007 (Microsoft Office SharePoint Server) and have installed the beta 1 and beta 2 versions of the product. Last week i had to reinstall MOSS for some reason and got into problems.

Every time when you try to run the configuration wizard i got the following error:

Failed to create the configuration database. Reason: The language is not supported on the server.

After googling and thanks to a few guys there i found the solution. You have to make some registry changes before running the configuration wizard again. If you have choosen the "advanced" installation containing farms you have to remove two databases from SQL Server 2005.

The fix is:

  • Start regedit.exe at your Windows 2003 Server
  • lookup the the key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\ServerLanguage] en put there a string value "1033"=""

You could also put the following into a fix.reg file using notepad:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\ServerLanguage]
"1033"=""

Thanks to Kevin Tunis :)

7/3/2006 3:17:47 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [23]   SharePoint  |  Trackback
 Thursday, December 08, 2005

One of our customers uses document libraries in SPS2001 containing a minus sign in their path. They are going to migrate their environment to SPS2003 and have setup a test environment.

When they created a document library containg a minus sign in its name, its url was created without the minus sign. It was replaced with nothing. For example: The name "new-documents" will generate a document library with the name "new-documents" and the url "http://somedomain/newdocuments" in stead of "http://somedomain/new-documents".

It seems that in SPS2003 the use of a minus sign is not possible anymore. Even if you edit the document library it will not accept the use of a minus sign in the url.

In this case we found a solution. After creating the document library we made some changes in the database. I know that Microsoft does not support changing the database but in this case we had no other solution.

If you go to the table "Docs" and look at the field "DirName" you will find some rows containing the paths to the files: Forms, allitems.aspx, dispform.aspx, editform.aspx, template.aspx, upload.aspx and webfldr.aspx. Change the names by entering the minus sign at the correct solution.

Finally there is in the column "LeafName" one recor containing the name "newdocuments" and the column "DirName" is empty. Also this one has to be changed to "new-documents".

No try it by entering the correct (with minus sign) url in your webbrowser. It works! :)

12/8/2005 3:28:00 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [7]   SharePoint  |  Trackback
 Monday, November 28, 2005

Today i'm giving a presentation for a group of students about a project using SharePoint. In my case its a project built in Windows SharePoint Services (WSS).

Last week i was at the customers location and did a backup of the WSS site. Today i tried to set it up in my Virtual PC environment, and with success! :)

There are still some issues which are not handled by the backup / restore functionality of stsadm command.

Just for your information some of these issues:

  • It is only possible to restore the WSS site when the same or higher service pack is installed
  • If you're using Custom WebParts. You have to copy them into your bin folder or install them into the GAC.
  • Also do not forget to place the <SafeControl> entry in the web.config file
  • If you're using SessionState do not forget to turn it on in the web.config file
  • I always advise to create per site your own layouts and images folder. Change the paths of the virtual directories in IIS

I used the following command line to restore the database:

stsadm -o -restore -url http://somsite -filename d:\pub\somesite.bkp -overwrite

11/28/2005 9:33:56 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   SharePoint  |  Trackback
 Wednesday, October 26, 2005

Its always a fact that Microsoft does not support modifications to database schemas or database structures of SharePoint. These changes can be overwritten by service packs, upgrades or new versions of the product.

But.... still.... i came accross an article by Andy May which contained a link to the MSDN of microsoft where Microsoft describes each table of the SharePoint database. It still contains a Microsoft standard warning at the top. :)

So, whats the reason for this? Why listing the database tables?

The link to MSDN can be found at:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/tsdbTables_SV01051532.asp

The article of Andy May can be found at:

http://www.sharepointblogs.com/andymay/archive/2005/10/25/4025.aspx
10/26/2005 8:45:54 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [3]   SharePoint  |  Trackback

I always like these kind of postings. Proofing that some things are possible :) In his example he adds a WebPart Page to a Document Library by altering some code in the well-known ONET.XML. Do not be afraid of editing this file. Its quite easy to understand whats going on.

Check your documentation "Microsoft SharePoint Products and Technologies 2003 Software Development Kit" (file spptsdk.chm) and look for ONET.XML. You will find an article describing each bit of this file.

The article describing pre-populating a document library can be found at:

http://blogs.msdn.com/cjwalker/archive/2005/10/26/484879.aspx

Thanks to Christopher Walker!

10/26/2005 8:38:00 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback

Todd wrote a nice article about showing styles when moving your cursor around. A lot of people asked him how to alter elements of WSS WebPart Pages. He gives a good walk-through and some code. Thanks Todd :)

http://mindsharpblogs.com/todd/archive/2005/10/25/798.aspx

10/26/2005 8:26:50 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]   C# | SharePoint  |  Trackback
 Tuesday, October 25, 2005

I found a nice topic in the SharePoint documentation which explains the properties that can be set on the command line using the stsadmin.exe tool with the getproperty and setproperty operations. This is as follow:

stsadm.exe -o getproperty -pn <property name> [-url <url>]
stsadm.exe -o setproperty -pn <property name> -pv <property value> [-url <url>]

As stated in the "Microsoft Office SharePoint Portal Server 2003 Administrator's Guide" (file SharepointPSAdmin.chm):

"Some properties are available for the entire server, and are called server properties. Some are only available for an individual virtual server. When you get or set a server property, you can omit the url parameter. You must include the url parameter to get or set virtual server properties. For more information about setting properties, see "Introducing the Administration Tools for Windows SharePoint Services" in the Windows SharePoint Services Administrator's Guide."

The properties are divided in several categories:

Server Properties for Windows SharePoint Services

  • Antivirus properties
  • Data retrieval services properties
  • HTML Viewer properties
  • Site confirmation and automatic deletion properties
  • Usage analysis properties


Virtual Server Properties for Windows SharePoint Services

  • Alert properties
  • Content database properties
  • Data retrieval services properties
  • General properties
  • Site confirmation and automatic deletion properties

Lookup "Command-Line Properties" in the mentioned file for the complete list and explaination of each property divided over the categories.

But it would be nice if you can access these properties programmatically. This is possible with the following code:

Microsoft.SharePoint.Administration.SPGlobalAdmin globAdmin = new Microsoft.SharePoint.Administration.SPGlobalAdmin();
Microsoft.SharePoint.Administration.SPGlobalConfig globConfig = globAdmin.Config;

SPPropertyBag propBag = globConfig.Properties;
System.Collections.ICollection keys = propBag.Keys;

foreach (object key in keys)
{
   output.Write(SPEncode.HtmlEncode(key.ToString()) + " :: " + 
   SPEncode.HtmlEncode(propBag[key.ToString()]) + "<BR>");
}

10/25/2005 3:20:33 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [4]   SharePoint  |  Trackback
 Thursday, October 20, 2005

I got a lot of questions of colleages regarding custom templates and site definitions.

As stated in the help: "A custom template is a customization applied to a site definition. When a user customizes a site or list in the user interface, the custom template consists of the difference between the original state of the site or list as determined by its definition and the state of the site when the custom template is generated. Custom templates remain tied to a particular site definition (for example, the one for a SharePoint site or a Meeting Workspace site), so that if the site definition is not present or is changed, the custom template will not work."

In many cases building Portals with SharePoint Portal Server you want to change the defined Site definitions. These Site definitions are the templates you can choose from when you create a new site.

The problem with changing a Site definition is that when somebody else in another Portal creates a site with the same template, he is also getting your changes. So the following sequence of steps can be taken to create your own Site definition.

The first thing you have todo is copy an existing Site definition and rename it. Existing site definitions are found in the folder <localdrive>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\Template\<localeid>. For example copy the STS folder and rename it to MYSTS.

In this folder you will find an XML folder containing the file ONET.XML. This is the schema file containing Collaborative Application Markup Language (CAML). If you want to make changes to the listings, WebParts and other stuff showing up when creating a site, this is file to make the changes in.

The next step is telling SharePoint that there is a new template defined. Under the folder <localdrive>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\<localid>\XML you will find a schema file called WEBTEMP.XML. Copy this file and call it WEBTEMPMY.XML. It is very important that the name of the file starts with WEBTEMP.

Your WEBTEMPMY.XML will look like this:

<?xml version="1.0" encoding="utf-8" ?>
<!-- _lcid="1033" _version="11.0" _dal="1" -->
<!-- _LocalBinding -->
<Templates xmlns:ows="Microsoft SharePoint">
   <Template Name="MYSTS" ID="10200">
      <Configuration ID="0" Hidden="False" Title="<some title>" Type="0" ImageUrl="<someimage>" Description="<somedescription>"> 
      </Configuration>
 </Template>
</Templates>

The following things are very important:

  • Make sure that the Name property of the Template element is the same as the name of your folder.
  • The ID property of the Template element should be in the range of 10000 or higher. Make sure its not used anywhere else.
  • The ID property of the Configuration element points to a configuration with the same id in the ONET.XML.
  • Property Hidden determines if the template should appear in the list when creating sites. It could be that you create your own sites based on the Site definition in a custom WebPart and users are not able to use your Site definition.

The final step is resetting the IIS by calling iisreset. It also works when recycling the application pool used by your Portal.

Further information regarding this subject can be found in the article "Creating a Site Definition from an Existing Site Definition" in Microsoft SharePoint Products and Technologies 2003 Software Development Kit.

And finally a good article which goes further into this by Robert Bogue:

http://www.devx.com/dotnet/Article/27673/0

 

10/20/2005 11:01:30 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [4]   SharePoint  |  Trackback

Did you ever wonder where those sites went if you create one under the Sites directory within SharePoint Portal Server? I did! If you try to list a sites by using the SPSite.AllWebs they will not show up. Why? So far as I can see they are created as "floating" sites. But there is a way to list them. The Sites directory is a Area and can be found easily.

First create a TopologyManager and retrieve the PortalSite object by using an Uri object.

TopologyManager topologyManager = new TopologyManager();
Uri uri = new Uri("
http://localhost/");

PortalSiteCollection sites = topologyManager.PortalSites;

PortalSite portalSite = sites[uri];

Then get the PortalContext and use this to get the Guid of the SystemArea. The SystemArea is an enumeration providing you some starting points of Areas.

PortalContext portalContext = PortalApplication.GetContext(portalSite);

Guid homeGuid = AreaManager.GetSystemAreaGuid(portalContext, SystemArea.Home);

Based on the Guid its very easy to retrieve the actual Area object. And based on that Area object we retrieve the Sites Area object from its children.

Area homeArea = AreaManager.GetArea(portalContext, homeGuid); 
Area sitesArea = homeArea.Areas["Sites"];

Loop through the AreaListings in this Area object and check if its type is ListingType.Site. The URL property contains the url to the created sites.

foreach(AreaListing listing in sitesArea.Listings)
{
   if (listing.Type == ListingType.Site)
   {
      output.WriteLine(String.Format("{0} ({1})<br>", listing.Title, listing.URL));
   }
}

10/20/2005 8:35:29 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Wednesday, October 19, 2005

I found an impressive list of SharePoint links to divided in several categories. The list is made by Eric and can be downloaded as a zipped .htm file for importing into Internet Explorer. The list can be found at the following url:

http://blogs.officezealot.com/legault/archive/2004/08/08/2238.aspx
10/19/2005 10:29:09 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Monday, October 17, 2005

I'm doing some research about areas in SPS 2003. During my research i found a control called BreadCrumbTrail in the namespace Microsoft.SharePoint.Portal.WebControls which indicates were the current area is in the portal structure. Some googling brought me to the blog of Manuel Montes. He gives us an example of how to use the control. Thanks Manuel! :)  

See below:

  • Open any of the default.aspx pages for an area template in your favourite editor. For example, the SPSTOPIC\default.aspx page.
  • Locate the following code that renders the page title:
    <tr> <td ID="onetidPageTitle" class="ms-pagetitle"> <SPSWC:CategoryProperty runat="server" Property="Name" /> </td> </tr>
  • Comment this entry
  • Replace the code with the following:
    <tr><td><spswc:breadcrumbtrail id="BreadCrumbTrail2" runat="server" titlelocid="MultiPage_BreadcrumbWebPartTitle" verticalmode="false" frametype="None"></td></tr>

Note that you will need to give the control a unique ID ("BreadCrumbTrail2") ast here is another control already on the page.

  • Save the Page and take a look… You should see something like this in place of the Page Title.
    Back to: Home > Topics > Applications

Changing the appearances can be done changing the following styles:

.bc-cell
.bc-htable
.bc-trail
.bc-leadin
.ms-vb bc-cell

http://pasteldelimon.blogspot.com/2005/06/breadcrumb-links-for-sps-areas.html

10/17/2005 10:48:32 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Wednesday, October 12, 2005
For one of our customers we build a Portal used as a Company Management System. It is a management system for internal documents needed at several indoor as outdoor locations. This Portal is a very good example of creating a design for customers. Together with a designer it only took 5 days manhour to accomplish this. It involves changing styles, adding new styles and adding new images. Some changes in custom WebParts was needed.

10/12/2005 3:34:28 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Wednesday, September 28, 2005

Thanks to Dustin an overview of the features found in SharePoint v3.

UI / UX

  • WSS will have an entirely new user interface that includes better navigation controls and built-in breadcrumb trails.
  • Pages will derive from “master pages“, meaning that you could re-skin an entire SharePoint site by modifying just one template file
  • More professional out of the box themes
  • FrontPage can directly edit each site's CSS file(s)
  • Workflow built-in all over SharePoint, with tight integration with Outlook 12 tasks
  • Individual documents can have document-specific workflows
  • Item-level security on lists and libraries
  • FrontPage has evolved further into a SharePoint designer tool (I read that as: the only SharePoint designer tool), and apparently, ghosted/unghosted pages won't be a problem any longer
  • Recycle bin with user and administrator restore features for document libraries and list items
  • InfoPath forms can be filled out with only a browser when published as (to?) a SharePoint site (even with FireFox)
  • Customizable and extensible search (and search API), including “did you mean“-type search term corrections
  • Lists can be viewed on mobile devices

Integration

  • All lists and libraries have RSS feeds, and each list's feed can be customized to include whatever fields you'd like
  • Event list RSS feeds include iCal files as enclosures
  • Each site has a master “aggregating“ RSS feed
  • Outlook 12 can perform 2-way online/offline syncronization of the following list types:
    • Contacts
    • Events
    • Tasks
    • Discussion Lists
    • Document Libraries (!)
  • Discussion lists can create their own e-mail alias in Active Directory, allowing you to e-mail that alias to automatically archive that e-mail (and its attachments) to a SharePoint discussion list
  • ALL lists and libraries have version history capability, and only “diffs“ are stored (differences from one change to the next)
  • Access treats SharePoint sites as honest-to-goodness data sources

Developer-oriented news

  • Existing web parts will “just work“ in the new SharePoint web part page framework
  • Site definitions/templates will ship in the box for blogs and wikis (blogs can be built directly on your “My Site“!)
  • All lists and libraries will have synchronous event handlers (not sure how these work with other interfaces to SharePoint data, like OM, WEBDAV, SOAP, etc., if the event handler has to raise an exception)
  • List/library version history is exposed programmatically by way of the OM
  • Multiple “content types” (sets of metadata, or “metadata templates“, if you will) for document libraries and lists, that include view information, workflows, bound events.
  • FrontPage can edit workflows
  • Business Data Catalog (datasource catalog on steroids, apparently).  This doesn't seem all that new to me, so I'll reserve commentary until more details emerge after the expected PDC sessions)
9/28/2005 8:38:21 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]   SharePoint  |  Trackback

Service Pack 2 has been released for Windows SharePoint Services. Is includes updates previously released for Windows SharePoint Services:

ServicePack 2 also includes stability improvements developed as a result of user input from the Microsoft Online Crash Analysis in Windows SharePoint Services and from Microsoft Product Support feedback.

You can get specific information about this update in the Microsoft Knowledge Base article
(887624): Description of Windows SharePoint Services Service Pack 2.

Have fun :)

http://www.microsoft.com/downloads/details.aspx?FamilyID=9c552114-dc9a-43ee-9281-b080b7c280b4&DisplayLang=en

9/28/2005 8:35:00 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Wednesday, September 21, 2005

A good friend of mine, Pedro Serrano of CaveDigital, just started recently his own blog. Just have a look. His company specialises also in SharePoint and he has some nifty, cool things built.

9/21/2005 11:08:14 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Monday, August 29, 2005

I get a lot of questions of starting SharePoint developers that when setting up their development area and try to test their newly created WebParts they often get the error message "Not registered as safe on this website...".

This message can mean anything because it is a standard message from SharePoint. But in most cases the following will work. So here a simple but handy walkthrough when you are developing WebParts.

  • Set your debug output folder of your WebPart Library development to the bin folder of your Portal
  • Make sure that there is a <SafeControl .... /> tag placed in the web.config
  • Use a tool like InstallAssemblies to generate your dwp files and add them to your Portal
  • Set the trust level to "Full" in the web.config

Important!!
Keep in mind that taking these steps will give you full control of all API stuff in SharePoint. But a lot of it is under CAS (Code Access Security) which means that if you do not have sufficient rights the method or property will throw an exception.

So always test your WebParts in a test environment when they are for example signed and try to access it with a SharePoint user not having the same role as the Administrator does. (in most cases when you are developing you have Administrator rights)

8/29/2005 12:42:07 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Friday, August 26, 2005

Have you ever wondering who designed the look and feel of SharePoint? I have... sometimes i wonder why they did the look of SharePoint as it is today. One of the things i really don't like is that when you create a new site with a name and description the following look and feel is presented:

As you can see the description is below the line, means it takes up space of a table row where WebParts are normally displayed. The "Home" text has a ridiculous size in comparison with the title i just entered. So after some changes to the default.aspx file you get the following:

This is more like it :) So how did i do this? It is very easy. Just open the default.aspx file in an editor (or use Frontpage if you want), and look for the following:

<SharePoint:ProjectProperty Property="Description" runat="server"/>

This part will produce the description of the site. We are gonna move it to the position of the "Home" text. The home text can be found under the section <!-- Title -->. Just replace it and remove the description from its original place (don't forget to through away the <tr><td>....</td></tr>)

Now look for the following:

<SharePoint:ProjectProperty Property="Title" runat="server"/>

You will see that this is found in the same section <!-- Title --> just before the "Home"text. Notice the styles used in the <td> ... </td> elements for both parts.

The property title uses the style ms-titlearea, and the moved property description is using the ms-pagetitle. Now swap both styles.

This is everything we have todo. :)

8/26/2005 7:34:54 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [1]   SharePoint  |  Trackback
 Wednesday, August 17, 2005

When you add one or more new templates to your SharePoint environment you normally have to call iisreset.exe to let SharePoint recognize the new templates. On a development machine its not so bad to do this, but on a live environment it also shuts down other sites and Portals. You could also do the following:

Make sure that your Portal has its own Application Pool and recycle the pool will have the same effect. Your new templates are now recognized.

8/17/2005 12:28:27 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [2]   SharePoint  |  Trackback

In some cases you need to nest a CDATA inside another CDATA like when you use a ContentEditorWebPart in the ONET.XML by creating a template definition. A CDATA is used to let the parser skip the information found between the brackets in case you don't want that part to be parsed.

For example:

<AllUsersWebPart WebPartZoneID="Left" WebPartOrder="1">
   <![CDATA[
      <WebPart xmlns:xsd="" xmlns:xsi="" xmlns="">
        <Title>Title</Title>
        <Assembly>Microsoft.SharePoint, ...</Assembly>
        <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
     
        <ContentLink xmlns="" />
        <Content xmlns=""> 
            <html><b>Hello there</b></html>    
        </Content>
      </WebPart>
   ]]>
</AllUsersWebPart>

This example will fail because it tries to parse the html inside the <Content> tag. So you could do the following:

<AllUsersWebPart WebPartZoneID="Left" WebPartOrder="1">
   <![CDATA[
      <WebPart xmlns:xsd="" xmlns:xsi="" xmlns="">
        <Title>Title</Title>
        <Assembly>Microsoft.SharePoint, ...</Assembly>
        <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName> 
        <ContentLink xmlns="" />
        <Content xmlns=""> 
            <!CDATA[
               <html><b>Hello there</b></html>  
            ]]>  
        </Content>
      </WebPart>
   ]]>
</AllUsersWebPart>

Also this is not gonna work. The parser actually thinks that the part it should not parse stops at the first ]]> found. The solution is relative simple but in some cases it can be time consuming.

<AllUsersWebPart WebPartZoneID="Left" WebPartOrder="1">
   <![CDATA[
      <WebPart xmlns:xsd="" xmlns:xsi="" xmlns="">
        <Title>Title</Title>
        <Assembly>Microsoft.SharePoint, ...</Assembly>
        <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
        <ContentLink xmlns="" />
        <Content xmlns=""> 
            &lt;html&gt;&lt;b&gt;Hello there&lt;/b&gt;&lt;/html&gt;  
        </Content>
      </WebPart>
   ]]>
</AllUsersWebPart>

By rewriting characters that cause the parser to think that it is xml will solve your problem. That means that the sign < will be &lt; and the sign > will be &gt;

The following sources are available on the internet:

http://www.peej.co.uk/articles/cdata

http://xml.silmaril.ie/authors/cdata/

http://weblogs.asp.net/bsimser/archive/2005/03/29/396135.aspx

http://www.dpawson.co.uk/xsl/sect2/cdata.html

8/17/2005 11:07:55 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   SharePoint  |  Trackback
 Monday, August 15, 2005
The SPWebCollection returned by the member SPWeb.Webs is a not sorted list of SPWeb objects. So i wrote a class which makes it possible to return a sorted list of SPWeb objects based on the property of a SPWeb. It is basically very simple and uses some standard .NET interfaces for enumerating and comparing.

SPSortedWebCollection col = new SPSortedWebCollection(currentWeb.Webs, "Number");

foreach(SPWeb child in col)
{
...
}
8/15/2005 11:05:09 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]   C# | SharePoint  |  Trackback
 Monday, August 08, 2005

Reading through my RSS feeds i came accross a post pointing out that Microsoft has released a number of applications for WSS. These applications are from abscense and vacation schedule to Help Desk support. Here are some of them listed:

  • Absence Request and Vacation Schedule Management
  • Change Management
  • Employee Timesheet and Scheduling Management
  • Help Desk Dashboard
  • New Product Development
  • Project Team Site

http://www.microsoft.com/technet/prodtechnol/sppt