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