Friday 18 December 2009

MOSS 2007: Jaspers Best Practices

This is a recurring post where I will try to mind-map my ideas about best practices for MOSS 2007. I will update this post every time I think about 'rules' that I find best practice. (Can call that frequently, right? ;-)

Installation

  • Install your Web applications to the WWWRoot. This helps everyone who's searching your Web application root folder.
  • When creating a Web application and requirements don't specify a port number to use, use port number 80 and up for custom Web applications. This helps you to remember the port number and recognizing which Web application your working with according to the URL.
  • When creating a Web application and requirements don't specify a port number to use, use port number 8080 and up for the Central Administration (CA) , the Shared Service Provider (SSP), My Site sitecollection and other MOSS dependent Web applications. This helps you to remember the port number and recognizing which Web application your working with according to the URL.
  • Name your application(pool, etc) after the function or projectname of your Web Application. For example: SharePoint - CA - 8080 instead of SharePoint - 8080. This helps you to recognize the application(pool) in ISS, CA, etc.
  • Name your database (DB) after the function or projectname of your Web Application. For example: WSS_Content_Library instead of WSS_Content_xxxxxxxxxxxxxxxxxxxxxxxxx9f7e04a. This helps you and DB managers to recognize the DB.

Server installation

  • Install 7-zip. It supports more file types and it's free, so no anoying pop-ups!

Development (tools)

  • Use the VSE WSS to easily create SharePoint Projects etc.
  • Use custom Definitions if possible, this makes it easier to reproduce your Sites/Pages/Lists/Contenttypes/etc.
  • Use SPM2007 to easily retrieve contenttype (etc.) GUIDs and brutaly change the Moss structures.
  • Use StsadmWin 2007 to create stsadm commands in a GUI-friendly-matter.
  • Use WSPBuilder to build your wsp's.
  • Use SharePoint Solution Installer to send to customers. It guides them installing your wsp's.

Content Deployment

  • Read 'Content Deployment – The complete' from Stefan Goßner, because it covers a lot of topics about the Content Deployment abilities of SharePoint like configuration, common misunderstandings and issues.

Users
... planned

Sunday 15 November 2009

List of MOSS 2007 ActiveX Controls

I was looking in to which ActiveX controls are used in SharePoint 2007. I found a pretty interresting post of Jose Barreto. I have summed all his findings in this post.

i Keep in mind that there could be some few misunderstood functions/behavior discribed below, because it's mostly based on self-study by Jose and myself. I have looked at a couple of these controls mentioned by Jose to find out if the post can be trusted. I also worked with a couple of these files in the past, discribed in Message in the Information bar in IE7 & 8 when you browse to a MOSS 2007 site. I have found that the information about these controls is correct. I will mark the once i've checked myself.

DiagramLauncher
Server Files:
TEMPLATE\LAYOUTS\1033\BFORM.JS
TEMPLATE\LAYOUTS\1033\CORE.JS
TEMPLATE\LAYOUTS\1033\INIT.JS
TEMPLATE\LAYOUTS\1033\OWS.JS
Client File:
DGRMLNCH.DLL
Also known as:
-
Function:
Launch Microsoft Office Visio to open diagrams
Reference:
-
Non-IE behavior:
The browser will offer to save the file locally instead of launching the application. The option to "Open with Visio" will not show.

DigitalSignatures
Server Files:
TEMPLATE\LAYOUTS\INC\1033\IntlCoreStrings.js
TEMPLATE\LAYOUTS\INC\Core.js
TEMPLATE\LAYOUTS\INC\intlcorestrings.js
TEMPLATE\LAYOUTS\SignatureDetails.FormServer.aspx
Client Files:
-
Also known as:
-
Function:
Digital Signature for Microsoft Office clients
Reference:
-

Non-IE behavior:
You cannot sign documents, but you can view signatures.

ExportDatabase
Server Files:
TEMPLATE\LAYOUTS\1033\CORE.JS
TEMPLATE\LAYOUTS\viewtype.aspx
TEMPLATE\LAYOUTS\1033\OWS.JS
Client File:
OWSSUPP.DLL
Also Known As:
SharePoint Export Database Launcher
Function:
Export list to a Microsoft Office Access database
Reference:
-
Non-IE behavior:
Option to "Open with Access" will not show.

ListNet (*
Server Files:
TEMPLATE\LAYOUTS\1033\CORE.JS
TEMPLATE\LAYOUTS\1033\OWS.JS
Client File:
STSLIST.DLL
Also Known As:
Microsoft Office List 12.0
Function:
Edit list in Datasheet view; An ActiveX control that works with the ListViewWebPart class to provide users with a datasheet view for editing lists in Windows SharePoint Services.
Reference:
http://msdn2.microsoft.com/en-us/library/ms416795.aspx
Non-IE behavior:
The option to "Edit in Datasheet" will not show.

NameCtrl (*
Server Files:
TEMPLATE\LAYOUTS\1033\INIT.JS
TEMPLATE\LAYOUTS\1033\OWS.JS
Client File:
NAME.DLL
Also Known As:
NameCtrl Class
Function:
Display presence information for people, integrating with Outlook (mail, calendar) and Communicator (instant messaging); A NameCtrl control is an ActiveX control that allows a Web page to display presence information for people, and it allows the user to take various actions with respect to those people through an on-object user interface (UI) in Windows SharePoint Services.
Reference:
http://msdn2.microsoft.com/en-us/library/ms455335.aspx
Non-IE behavior:
Presence information will not show.

OISClientLauncher (*
Server Files:
TEMPLATE\LAYOUTS\1033\IMGLIB.JS
TEMPLATE\LAYOUTS\upload.aspx
Client File:
OISCTRL.DLL
Also Known As:
OSIClientLauncher Class
Function:
Integration with the Office Picture Manager; When you install Microsoft® Windows® SharePoint™ Services on a client computer, an ActiveX control is registered automatically. The ID of the control is "OISCTRL.OISClientLauncher" and it does not have any properties or methods. It is only used to pass on parameters to OIS.exe, the Microsoft Office Picture Manager executable file.
Reference:
http://msdn2.microsoft.com/en-us/library/ms954038.aspx
Non-IE behavior:
Integration with Picture Manager will not show.

OpenDocuments (*
Server Files:
TEMPLATE\LAYOUTS\1033\HtmlEditor.js
TEMPLATE\XML\DOCICON.XML
Client File:
OWSSUPP.DLL
Also Known As:
SharePoint OpenDocuments Class
Function:
Launch Office applications to open documents; An ActiveX control that allows users to create documents based on a specified template, or to edit documents with their associated applications in the context of Microsoft Windows SharePoint Services.
Reference:
http://msdn2.microsoft.com/en-us/library/ms454230.aspx
Non-IE behavior:
The browser will offer to save the file locally instead of launching the application. The option to "Edit In (Microsoft Office application)" will not show.

OpenXMLDocuments (*
Server Files:
TEMPLATE\LAYOUTS\1033\HtmlEditor.js
TEMPLATE\LAYOUTS\INC\Core.js
TEMPLATE\LAYOUTS\ctdmsettings.aspx
TEMPLATE\XML\DOCICON.XML
Client File:
INLAUNCH.DLL
Also Known As:
SharePointOpenXMLDocuments
Function:
Launch InfoPath to open forms; An ActiveX control that allows a user of Microsoft Windows SharePoint Services to create XML documents or forms based on a specified template, or to edit XML documents or forms with their associated applications.
Reference:
http://msdn2.microsoft.com/en-us/library/ms452435.aspx
Non-IE behavior:
The browser will offer to save the file locally instead of launching the application. The option to "Open with InfoPath" will not show.

PersonalSite
Server Files
:
-
Client File:
PORTAL~1.DLL
Also Known As:
PersonalSite Class
PortalConnect.PersonalSite
Function:
Adds your my site to a list of SharePoint sites maintained by the Office client
Reference:
-
Non-IE behavior:
No client-side knowledge of where your mysite is located.

Ppactivex
Server Files:
TEMPLATE\CONTROLTEMPLATES\sldlibtemplates.ascx
TEMPLATE\FEATURES\SlideLibrary\SldLib\schema.xml
TEMPLATE\LAYOUTS\1033\SLDLIB.JS
Client Files:
-
Also known as:
-

Function:
Integration with PowerPoint for Slide Library Templates
Reference:
-
Non-IE behavior:
The Slide Library integration with PowerPoint will not work.

RTEDialogHelper (*
Server Files:
TEMPLATE\LAYOUTS\1033\BFORM.JS
TEMPLATE\LAYOUTS\1033\FONTDLG.HTM
TEMPLATE\LAYOUTS\1033\HtmlEditor.js
Client File:
MSHTMLED.DLL
Also Known As:
Rich Text Editor
DlgHelper
HtmlDldSafeHelper Class
Function:
Rich Text Editor used to edit wikis; Rich text web part; Provides access to the color dialog box, block formats, and system fonts collections.
References:
http://msdn2.microsoft.com/en-us/library/ms535238.aspx
Non-IE behavior:
A simpler multi-line text editor with no Rich Text capabilities will show. Consider using the Telerik control, which is available for free download at http://www.telerik.com/sharepoint and works with non-IE browsers.

SpreadsheetLauncher (*
Server Files:
TEMPLATE\LAYOUTS\1033\BFORM.JS
TEMPLATE\LAYOUTS\1033\INIT.JS
TEMPLATE\LAYOUTS\NewTranslationManagement.aspx
TEMPLATE\LAYOUTS\lstsetng.aspx
TEMPLATE\LAYOUTS\new.aspx
TEMPLATE\LAYOUTS\sledit.aspx
TEMPLATE\LAYOUTS\slnew.aspx
Client Files:
OWSSUPP.DLL
OWSCLT.DLL
Also Known As:
SharePoint SpreadSheet Launcher
Function:
Integration with Excel to import and export lists; An ActiveX control that allows a user to import lists from spreadsheets or to verify whether a compatible spreadsheet application is available for list export in Windows SharePoint Services.
Reference:
http://msdn2.microsoft.com/en-us/library/ms427792.aspx
Non-IE behavior:
Options to Export to Excel and Import Spreadsheet will not show. If you register an application to handle the .iqy extension, you might be able to export spreadsheets.

Stssync (*
Server Files:
TEMPLATE\LAYOUTS\1033\BFORM.JS
TEMPLATE\LAYOUTS\1033\INIT.JS
Client File:
OWSSUPP.DLL
Also Known As:
SharePoint Stssynch Handler
Function:
Connect to Outlook to synchronize lists; Provides a method for returning the name of the application used to synchronize events lists and contacts lists in Microsoft Windows SharePoint Services with a messaging application such as Microsoft Office Outlook2007.
Reference:
http://msdn2.microsoft.com/en-us/library/ms456225.aspx
Non-IE behavior:
Option to "Connect to Outlook" will not show. You should be able register a client application to handle the stssync:// protocol.

UploadCtl (*
Server Files:
TEMPLATE\CONTROLTEMPLATES\DefaultTemplates.ascx
TEMPLATE\LAYOUTS\1033\BFORM.JS
TEMPLATE\LAYOUTS\1033\INIT.JS
TEMPLATE\LAYOUTS\copy.aspx
TEMPLATE\LAYOUTS\updatecopies.aspx
TEMPLATE\LAYOUTS\upload.aspx
TEMPLATE\XML\FLDTYPES.XML
Client File:
STSUPLD.DLL
Also Known As:
STSUpld UploadCtl Class
Function:
Multiple File Upload; Allows multiple documents to be uploaded from an external application to a document library on a site in Microsoft Windows SharePoint Services.
Reference:
http://msdn2.microsoft.com/en-us/library/ms456628.aspx
Non-IE behavior:
Only single file upload is available. Option for "Multiple File Upload" will not show.

(* Checked by hand or through reference.

Sunday 1 November 2009

Web application installation path

As you probably know, by default, WSS Web applications are physically created in the 'C:\Inetpub\wwwroot\wss\VirtualDirectories'-directory. This directory is used as default path in one of the fields in the 'Create a new Web application' form.

When you want to place the Web application in an other virtual-directory you need to change this field before creating the Web application. If you don’t, you need to recreate the Web application again.



Windows SharePoint Services 3.0 derives the directory information from the Web server registry setting at 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\PathWWWRoot', this path is subsequently appended with '\wss\VirtualDirectories'. To ensure Web applications are installed on the proper disk volume, modify the Registry values on your Web front-end computers to reference the desired path.

The Registry values can be modified either prior to or after Windows SharePoint Services 3.0/Microsoft Office SharePoint Server 2007 has been installed. However, any pre-existing Web applications will not be changed (as discussed early in the post). Here’s what you have to do to change the Registry Values.

Configure the WWWRoot Default Path (Windows Server 2003)
  1. Click Start, and then select Run…
  2. In the Open field enter Regedit and click OK.
  3. Locate the 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp' key and modify the PathWWWRoot Value data to 'D:\Inetpub\vroots'.
  4. Locate the 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ContentIndex\Catalogs\Web key' and modify the Location Value data to 'D:\inetpub'.
  5. Locate the 'HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Control\ContentIndex\Catalogs\Web key' and modify the Location Value data to 'D:\inetpub'.
  6. Locate the 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex\Catalogs\Web' key and modify the Location Value data to 'D:\inetpub'.
  7. Repeat steps 1 through 6 on each Web front-end and application server.

Some of the Registry keys in the steps above may not be available on all Web servers depending on configuration and Operating System versions. Always back-up the Registry before modifying any Registry settings.

Considerations

Some software engineers may say:

A Microsoft Internet Information Services best practice is to avoid using the default path ('C:\inetpub\wwwroot') and moving Web content to a non-system directory. By configuring the WWWRoot default path it provides a safeguard for oversight and promotes consistency across Web servers.
Source: http://sharepointdata.blogspot.com/2009/01/change-default-virtual-directory-in.html.


So best practice is to create a folder in the 'C:\Inetpub\wwwroot\wss\' that is easy to map to the web application and then leave the folder as is.
Source: http://stackoverflow.com/questions/143162

i Note
Please take appropriate considerations when you consider changing the virtual-directory path.

Thursday 29 October 2009

The directory is not a subdirectory of the root directory. (Exception from HRESULT: 0x80070090)

Issue
When developing a new Site Column in XML I received: “The directory is not a subdirectory of the root directory. (Exception from HRESULT: 0x80070090)”.


Problem
Somehow the Site couldn’t create the basic Site Columns, etc. When exploring I noticed that one of my Solutions was giving an error. I redeployed it using the '-force' parameter.

Solution
I actually didn't find a solution, somehow retracting and deploying the solution solved my problem. If you found or know any other explanation please leave a message!

Monday 19 October 2009

Maintenance Plan in SQL Server 2005

Case
Sometimes things just won't be “so plain to get” as Microsoft thinks it is. I was working at a customer with no database administrator. They needed to clean up there log-file to create free disk space and to create a new back-up every day. So I started browsing about maintenance plans and found a good source.

i The Maintenance Plan Wizard in SQL Server 2005 enables administrators to perform the following maintenance tasks against SharePoint databases:

  • Check database integrity
  • Reduce a database
  • Reorganize an index
  • Clean up the history
  • Update statistics
  • Rebuild an index

We have tested these tasks and the effects that these tasks have on database schema and performance. The following table summarizes the results of these tests.

Task -> Safe to perform this task?

  • Check database -> Yes
  • Reduce a database -> Yes
  • Reorganize an index -> Yes
  • Clean up the history -> Yes
  • Update statistics -> Yes. However, this task is unnecessary because the SharePoint Timer service performs this task automatically.
  • Rebuild an index -> No. The task does not restore existing index options before the rebuild operation. However, you can use scripts that restore index options. Note This problem was corrected in SQL Server 2005 Service Pack 2.

Source: http://support.microsoft.com/kb/932744

Problem
This is the point where Microsoft (or maybe just me?) thinks that things are so easy. I created a new Plan and created all of the below objects:
  • Check database integrity
  • Create a Full back up
  • Reduce a database (should release the log file disk space)
  • Update the statistics
  • Clean up the history

Problem was…? Somehow the log file entries just wouldn’t be deleted during the shrink task, so no disk space was released! Am I wrong thinking that a Full back up would make it possible to delete log file entries? (You can leave a message at the end of this blog post ;-)

Solution
There was no other option… I asked a database colleague for some tips. With those tips I thought out a plan and created the following maintenance plan.

Now everything works like a charm!!!

Friday 16 October 2009

QNH Game Race 2009



The GAME RACE was officialy started on 2.00 P.M.!!

Once again the annual battle between the titans of QNH Application Development & Solutions BV began in The Kosmos. They are longing to obtain the pressious RAD Race Cup.

This year the event is called the GameRace, because of the theme of the race. People are having to do there best with there programming skills like stragegy, algoritms and creative powers. They are challanged to build artificial intelligence that can max-out there score in a variety of daring games.



The seven competing teams are battling right now! You can follow there achievements on http://www.flyyourfuture.nl/webcam. Just take a peek and watch the webcams or stop for a visit, if you're nearby.


*** Edited 2009-10-19 ***
The proud winners!


Wednesday 14 October 2009

How-to: Move your Content & Configuration Database

I spotted a great and complete article about moving your content and configuration database WSS 3.0/MOSS written by a colleague of mine, Ismail Cildir.

I hope it fulfills your desire for SharePoint knowledge :-)

(Dutch) http://ozgurpress.wordpress.com/2009/10/08/verhuizen-van-de-sharepoint-inhoudsdatabase-en-configuratiedatabase/trackback/

Thursday 8 October 2009

Manage Shared Services (SSP) Administrators

How do I give an administrator his (or hers :0) Shared Services (SSP) permissions?

1. Login into the SSP admin site.
2. Add the user just like you would to any other site. Click Site Actions -> Site Settings
3. Under Users and Permissions click Advanced permissions
4. Click New -> Add Users
5. Enter your user and put them in the Viewers group and hit OK

i Note!
Now your user can log into the SSP and manage search settings, the Excel Service
Settings, and can view the various links list.

How do you give them more permissions? In order to do that you need to give them some more access:
1. Under User Profiles and My Sites click Personalization services permissions.
2. Click Add Users/Groups
3. Enter your users name select which permissions you would like to bestow upon them and click Save.

i Note!
What are all of these different permissions?

Create personal site gives the user the capability to create and use a My Site. Denying this permission makes the My Site link disappear take away this right from the users. All authenticated users were given this right by default.

Use personal features is not further discussed, but essentially this provides the My Links functionality and allows users to manage their Colleagues.

Manage user profiles this allows users to manage user profiles. Granting this permission lets users modify the profiles for this SSP. When you give users this right, they can access the links: User profiles and properties, Profile services policies, and My Site Settings.

Manage audiences lets a users click that handy little Audiences link. Once users are granted this permission you can set the schedule or define the rules for building global audiences.

Manage permissions this will let users modify Personalization services permissions. This is the same permission that’s needed to change these settings.

Manage usage analytics this gives the user access to make changes to Usage reporting. This feature contains a small bug. If the user doesn't have this right they can still open up the screen. Then if they make a change and hit ok they get a 403
forbidden error.

If you have MOSS Enterprise users still can't manage the BDC.
1. Click Business Data Catalog permissions from the main screen of the SSP
2. Click Add Users/Groups
3. Enter your user, select their permissions and click Save

Source: The SharePoint Farmer's Almanac

Friday 2 October 2009

Protect me Explorer!

*sitting down on couch*

"A long time ago in a galaxy far, far away!"

(Every Star Wars Movie)

No wait ...


"A long time ago, yet somehow in the future..."

(Family Guy)

"... I was shown the Error that would 'make' my day!" :-)

Think you've seen it all? Think again. Outside those doors, we might see anything. We could find new worlds, terrifying monsters, impossible things. And if you come with me... nothing will ever be the same again!

(Docter Who)

Wednesday 30 September 2009

Manage Central Administration (CA) Administrators

How do I give an administrator his Central Administration (CA) permissions?

Add users to the Central Administration site:

  1. On the Central Administration Home page, on the 'Site Actions' menu, click 'Site Settings'.
  2. On the Site Settings page, under 'Users and Permissions', click 'People and groups'.
  3. On the People and Groups: Farm Administrators page, on the 'New' menu, click 'Add Users'.
  4. On the Add Users: Central Administration page, in the 'Add Users' section, in the 'Users/Groups' box, enter user names, group names, or e-mail addresses. Separate each entry with a semicolon.
  5. In the 'Give Permission' section, select one of the following:

    Add users to a SharePoint group. Select this option to give users permissions by adding them to a group that has pre-defined permissions. If you select this option, click a SharePoint group in the corresponding list.

    Give users permission directly.
    Select this option to give permissions to users directly. If you select this option, select the check boxes next to the permission level that you want to give to users.
  6. Click 'OK'.

Source: Microsoft Technet

Tuesday 29 September 2009

Message in the Information bar in IE7 & 8 when you browse to a MOSS 2007 site

You are hosting a Publishing Website in MOSS 2007? But your customers are complaining about ActiveX error messages when they're viewing you beautifull pages?

Consider the following scenario. You use Windows Internet Explorer 7 to browse to a Microsoft Windows SharePoint Services 3.0 site or to a Microsoft Office SharePoint Server 2007 site. The SharePoint site is located in the Internet zone. Additionally, the SharePoint site has online presence enabled. When you browse to the SharePoint site, you receive the following message in the Information bar in Internet Explorer 7:

The Web site wants to run the following add-on: 'Name ActiveX Control' from 'Microsoft Corporation'. If you trust the Web site and the add-on and want to allow it to run, click here...



The Problem
This issue occurs if the Name ActiveX control (Name.dll) is not added to the list of preapproved controls in Internet Explorer 7. The Name ActiveX control is included in the 2007 Microsoft Office system.

Microsoft however gives you a couple of client-side work around methods:
  1. Add the SharePoint site to the Trusted Sites list in Internet Explorer 7 on the Windows client computer.
  2. Add a registry subkey to the Windows client computer.
  3. Configure the master page of the SharePoint site on the front-end Web server.

    (Please browse to http://support.microsoft.com/kb/931509 for more information about above methods.)
The 3th method sounds like the right solution, because you can handle this server side. And it is in my opinion!

Unfortunatly Microsoft tells you to commend a few javascript functions. Correcting the problem this way may cause new problems though. Some other feature, method etc. can trie to use one of these methods and cause a javascript error.

Instead of removing the whole functions from the DOM, commend only the lines of code in these functions. Other features, methods etc., can still access the function, but does nothing, instead of causing more problem.

An other thing I don't prefer is changing the masterpage, because Microsoft notes there solution maight not always works.

This changes the method into the following steps:

If the SharePoint site does not require online presence, configure the master page of the SharePoint site to use the InitNoPresence.js file. To do this, follow these steps:

  • Copy the contents of the Init.js file to the Backup Init.js file on the front-end Web server.
    i Note! The Init.js file is located in the Drive:\Program Files\Common Files\Microsoft Shared\Web server extensions\12\Template\Layouts\1043 folder. (or 1033 ;-)
  • Start Notepad, and then open the Init.js file.
  • In the Init.js file, locate the following line of code.
    function ProcessImn()
    {
    if (EnsureIMNControl() && IMNControlObj.PresenceEnabled)
    {
    imnElems=document.getElementsByName("imnmark");
    imnElemsCount=imnElems.length;
    ProcessImnMarkers();
    }
    }

    function ProcessImnMarkers()
    {
    for (i=0;i<imnMarkerBatchSize;++i)
    {
    if (imnCount==imnElemsCount)
    return;
    IMNRC(imnElems[imnCount].sip,imnElems[imnCount]);
    imnCount++;
    }

    setTimeout("ProcessImnMarkers()",imnMarkerBatchDelay);
    }
  • Replace the code that you located in step 1c with the following lines of code.
    function ProcessImn()
    {
    /* if (EnsureIMNControl() && IMNControlObj.PresenceEnabled)
    {
    imnElems=document.getElementsByName("imnmark");
    imnElemsCount=imnElems.length;
    ProcessImnMarkers();
    }*/
    }

    function ProcessImnMarkers()
    {
    /* for (i=0;i<imnMarkerBatchSize;++i)
    {
    if (imnCount==imnElemsCount)
    return;
    IMNRC(imnElems[imnCount].sip,imnElems[imnCount]);
    imnCount++;
    }

    setTimeout("ProcessImnMarkers()",imnMarkerBatchDelay);*/
    }
Source: http://support.microsoft.com/kb/931509

Tuesday 8 September 2009

Changing My Site User Storage Free Space

Problem
Some users where recieving a message from the SharePoint server about there My Site:

You are receiving this e-mail message because you are an administrator of the
following SharePoint Web site, which has exceeded the warning level for storage: http://yoursite.domain.com/. To see how muchstorage is being taken up by this site, go to the View site collectionusage summary: http://yoursite.domain.com/_layouts/Usage.aspx.

If you would browse to the _layouts/usage.aspx page, you will find information about the space the user is allocating. My My Site however is just created, so you won't find a mess in there (yet ;-)
















But how do we change the Storage Space of a My Site when the free space is empty?

Tempory solution
The owner of the My Site can browse to the ‘storage space allocation page’ and clean up some mess, like empting the recycle bin or removing old/unnessasery files.



Solution
Every My Site is created in it's own site collection. This way it's possible to change the storage available for your site.

Browse to the Central Administration (CA) and select the 'Application Management'-tab and browse to 'Site collection Quotas and locks'.

Or go to http://[CA-url]/_admin/sitequota.aspx



First choose the right site collection by clicking on the url in the right upper corner and then clicking 'Change Site Collection'.





Next you need to change the selected web application into the web application that is hosting the My Sites. Last you need to select the site collection of the right My Site and click OK.

Note: In the top of the page there is telling you
there are more then 10 site collections. You can use the arrow
to browse through all site collections.

Change the 'Site Quota Information' by changing the 'Current quota template' to Individual Quata and change the maximal storage space to 250 mb, for example.


Thursday 27 August 2009

Request for the permission of type XXX failed

During the creation of a new Web Application I had a bit of a problem. I forgot to change the trust level. I got exceptions from every webpart that looked like this example:

Exception in UserControl:
System.Security.SecurityException: Request for the permission of type 'Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' failed. at Microsoft.SharePoint.ApplicationRuntime.SPVirtualPathProvider.GetCacheKey(String virtualPath) at Microsoft.SharePoint.Publishing.Internal.CmsVirtualPathProvider.GetCacheKey(String virtualPath) at System.Web.Compilation.BuildManager.GetCacheKeyFromVirtualPath(VirtualPath virtualPath, Boolean& keyFromVPP) at System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath
virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at xxx.customclass.method() The action that failed was: Demand The type of the first permission that failed was: Microsoft.SharePoint.Security.SharePointPermission The Zone of the assembly that failed was: MyComputer

If you encounter this exception then go to the web.config in the folder of your web application:

C:\Inetpub\wwwroot\wss\VirtualDirectories\<webappdir>

Then change the <trust level=" - tag as shown below.

Change:
<trust level="WSS_Custom" originurl="">

to:
<trust level="Full" originurl="">

Thursday 23 July 2009

Windows cannot bind to XXX domain. (Invalid Credentials) - Event ID: 1006 and 1030

Problem
You probably noticed that I’m checking through the event logs of our servers. I found another issue today! This one is related to a Windows Server issue.

Event Type: Error
Event Source: Userenv
Event Category: None
Event ID: 1006
User: admin.XXX
Description:
Windows cannot bind to XXX domain. (Invalid Credentials). Group Policy processing aborted.

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

and
Event Type: Error
Event Source: Userenv
Event Category: None
Event ID: 1030
User: admin.XXX
Description:
Windows cannot query for the list of Group Policy objects. Check the event log for possible messages previously logged by the policy engine that describes the reason for this.

For more information, see Help and Support Center at
http://go.microsoft.com/fwlink/events.asp.

Solution
I browsed a couple of Google results and found an interesting post.

5 Jan 2006 2:43 PM scole
I am not positive, but I think there was a problem with someone remoting into the server and never logging out. Then their password changed. I was able to go in and kill their connection (which had been open for 5 months). Hope this helps.
Source

I looked into the Terminal Services Manager and found a user that was "idle" for a while. I told the manager to logout the user. After a few hours I checked the event log again and noticed that the errors were no longer occurring.

Guess this solved the problem! :-)


ContentDeploymentJobReport with ID '{e379594a-a267-4dfc-ae37-70f8f392798c}' was not found - Event ID: 4958

The Problem
Unfortunately there were several errors occurring on our source machine. These errors originated from the MOSS content deployment.

Event Type: Error
Event Source: Office
SharePoint Server
Event Category: Content Deployment
Event ID: 4958
Description:
Publishing: Content deployment job failed. Error: 'System.ArgumentOutOfRangeException:
ContentDeploymentJobReport with ID '{e379594a-a267-4dfc-ae37-70f8f392798c}' was not found.
Parameter name: jobReportId at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobReport.GetInstance(Guid jobReportId)
at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.get_LastReport()
at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.EnsureLastReport()
at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.Run(Boolean
runAsynchronously)'
For more information, see Help and Support
Center at
http://go.microsoft.com/fwlink/events.asp.

In the SharePoint Logs I found:

07/01/2009 13:35:52.63 w3wp.exe (0x1120)
0x0958
CMS
Content Deployment 0 Unexpected
ContentDeploymentJobReport with ID '{e379594a-a267-4dfc-ae37-70f8f392798c}' was
not found in 'Job Reports' so throwing exception.

07/01/2009 13:35:52.63 w3wp.exe (0x1120)
0x0958 CMS
Content Deployment 5ro8
C
ritical Publishing:
Content deployment job failed. Error: 'System.ArgumentOutOfRangeException:
ContentDeploymentJobReport with ID '{e379594a-a267-4dfc-ae37-70f8f392798c}' was
not found. Parameter name: jobReportId at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJobReport.GetInstance(Guid
jobReportId)
at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.get_LastReport()
at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.EnsureLastReport()
at Microsoft.SharePoint.Publishing.Administration.ContentDeploymentJob.Run(Boolean
runAsynchronously)'

This error always occurred with the same GUID. The error occurred every 15 minutes. This was actually the time the Quick Deployment Job was running. When I tried to open the history of the Quick Deployment Job, the error page below was displayed.









Then, when I was looking at the Deployment list: (<your site>/Quick Deploy Items/AllItems.aspx)














The attempts
I deleted all items, but it didn't work. Another side effect of what I did was that I couldn't test if the Quick Deployment Job worked or not, because it needed at least one item to start the task. As such, I recovered the items from the Recycling Bin.

I could not create a new path to the old location. This was because there could only be one path to one source-destination-pair. So this didn't work either.

The Solution
To fix the problem I deleted the old paths and Deployment Jobs. I created a new path and new Deployment Jobs on our server and it worked.

A downside to this solution is that I had to run a full deployment again, because all file GUIDs weren't matching. But that wasn't a big problem, because that seems to happen quite frequently with Sharepoint.

Monday 20 July 2009

Search Query Webservice for Moss 2007 Tool

Great tool spotted by a collegue of mine @QNH!

It allows you to change property flags, generate the request XML, send the string to the web service and see the results in the UI.

test tool
Click here!


It's a great tool to test those bloody queries!

Tuesday 14 July 2009

Get ready for SharePoint 2010!

I spotted a great site to figure out what you have to upgrade to version 13 ... euh 14 ;-). It's called SharePoint 2010.
Go see http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/Get_Ready.aspx or http://blogs.msdn.com/sharepoint/archive/2009/05/07/announcing-sharepoint-server-2010-preliminary-system-requirements.aspx

Friday 10 July 2009

Cannot insert duplicate key row in object 'dbo.UserMemberships' - Event ID: 7888

On our front-end server the following error occurred:

Event Type: Error
Event Source: Office SharePoint Server
Event Category: Office Server General
Event ID: 7888

Description:
A runtime exception was detected. Details follow.
Message: Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.
The statement has been terminated.

Techinal Details:
System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.
The statement has been terminated.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Office.Server.Data.SqlSession.ExecuteNonQuery(SqlCommand command)
at Microsoft.Office.Server.UserProfiles.WSSSynchSqlSession.SynchExecuteNonQuery(SqlCommand cmd, Boolean throwOnFail)
at Microsoft.Office.Server.UserProfiles.WSSSynchSqlSession.SynchExecuteNonQuery(SqlCommand cmd)
at Microsoft.Office.Server.UserProfiles.SiteSynchronizer.WriteChangeLogConsumed()
at Microsoft.Office.Server.UserProfiles.SiteSynchronizer.Synch()
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Problem
The Profile database could not be synchronised. There were a couple of ‘databases’ that generated errors when Sharepoint synchronised the profiles.

Solution
(Source)

DEALOGIC:

HI delmarvamonkey, contacted Microsoft who told me it was because of an
old database that couldn't synchronise in the config database:

As
discussed on the phone, here the link to the command for deleting unsynchronized
databases:

http://technet.microsoft.com/en-us/library/cc263196.aspx

IN your case, just use:
stsadm -o sync -listolddatabases 1 to see
the old databases,
and: stsadm -o sync -deleteolddatabases 1 to delete the
links in the config_DB.

If you run these commands it should do it, but I
haven't actually tried it on the production server as yet.

I tried this solution and found that my problems disappeared and no futher errors occurred.

Wednesday 8 July 2009

Moss 2007 SP2: Trail version Fix

Finally there's a hotfix on the web that fixes the SP 2 bug that degraded MOSS to a trial version of the application:

971620 - When you install the 2007 Microsoft Office servers Service Pack 2, the product expiration date is activated incorrectly. Source

To download, visit microsoft.com:

My First Blog-post

This is the first post on http://jasperbeerens.blogspot.com/

In the future you are going to find interesting information about .NET, SharePoint, MS CRM, etc. on this blog.

About the author:

I'm a MCTS certified .NET Software Engineer with a bachelor degree. I have a lot of experience with creating custom developed webapplications (ASP.NET - C#), programming webparts, and other components for MOSS (SharePoint) and MS CRM. I'm a Microsoft specialist in Dynamics CRM and MOSS. I like to work in a team, but I can also function very well on my own.

Because of my broad interest in technical things I love gadgets and mobile applications. In my spare time I do some cardio fitness to stay fit as well. Furthermore I like to watch movies, listen to music, and I like reading books.