Friday, 8 January 2010

Remove lost/broken Webparts

Previously, I retracted a solution from my web application. The consequence of this action was that I was not able to load the pages anymore. I recieved:

Error

An error occurred during the processing of . Could not load file or assembly 'Solution.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a7985c93d0151889' or one of its dependencies. The system cannot find the file specified.

In this case, the only thing you have to do is to remove the webpart. Removing the webpart in the webpart gallery doesn't solve this.

Solution:
Append ?Contents=1 to the webpart page's URL to display the Webpart Maintenance Page. On that page you can delete the malefactor.

Example: http://moss/default.aspx?contents=1

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)