Tuesday, 11 May 2010

Converting Reporting Services (SSRS) rdl from 2005 into 2000

Case
I receive a error when uploading my report.

Error number: 0x80048298

Information:
[CrmException: Exception of
type Microsoft.Crm.CrmException was thrown.]
Microsoft.Crm.Application.Platform.Report. InternalCreate(String xml) +721
Microsoft.Crm.Application.Platform.Entity.Create() +109
Microsoft.Crm.Application.Forms.AppForm. RaiseDataEvent(FormEventId eventId)
+408 Microsoft.Crm.Application.Forms.EndUserForm. Initialize(Entity entity) +57
Microsoft.Crm.Application.Forms.EndUserForm. Execute(Entity entity) +13
Microsoft.Crm.Web.Tools.ReportProperty. ReportPropertyPage.ConfigureForm() +202
Microsoft.Crm.Application.Controls.AppPage. OnPreRender(EventArgs e) +30
System.Web.UI.Control.PreRenderRecursiveInternal() +62
System.Web.UI.Page.ProcessRequestMain() +1499
Problem
I made a mistake and created a report in VS2005 instead of VS2003. How could I change this?

Gary Cowan gave a real good tip on : http://sqlservertipsandtricks.blogspot.com/2008/06/converting-reporting-services-ssrs-rdl.html

but it wasn’t really complete for my case. In the end it turned out I had to change the document as following.

Solution
If you want to convert a SSRS rdl from 2005 to 2000, you can try the following

1) Open the .RDL file in a text editor and change the XML.
2) Change the first node to look like this:

Report
xmlns=”http://schemas.microsoft.com/sqlserver/reporting/2003/10/reportdefinition”
xmlns:rd=”http://schemas.microsoft.com/SQLServer/reporting/reportdesigner”

3) Do a search for “Interactive” You should find 2 nodes InteractiveWidth and InteractiveHeight. You need to delete these nodes.

4) The XML in the RDL file is different between 2005 and 2000 when you want to pass parameters to a SQL procedure.

In 2000 they pass parameters this way in the RDL file. I used

&lt Query>
&lt CommandType> StoredProcedure< /CommandType>
&lt CommandText> =”procGetInvMovement”< /CommandText>
&lt QueryParameters>
&lt QueryParameter Name=”@BegDate”>
&lt Value> =Parameters!pBegDate.Value< /Value>
&lt /QueryParameter>
&lt QueryParameter Name=”@EndDate”>
&lt Value> =Parameters!pEndDate.Value< /Value>
&lt /QueryParameter>
&lt /QueryParameters>
&lt DataSourceName> JLG SQL< /DataSourceName>
&lt /Query>

and in 2005 they do it this way:

&lt Query>
&lt rd:UseGenericDesigner> true< /rd:UseGenericDesigner>
&lt CommandText> =”Execute procGetInvMovement ‘” & Parameters!pBegDate.Value & “‘, ‘” & Parameters!pEndDate.Value & “‘”< /CommandText>
&lt QueryParameters>
&lt QueryParameter Name=”pBegDate”>
&lt Value> =Parameters!pBegDate.Value< /Value>
&lt /QueryParameter>
&lt QueryParameter Name=”pEndDate”>
&lt Value> =Parameters!pEndDate.Value< /Value>
&lt /QueryParameter>
&lt /QueryParameters>
&lt DataSourceName> JLG SQL< /DataSourceName>
&lt /Query>

Notice how they don’t include the parameters in the commandtext tag in 2000

5) Delete the CommandType-tag if you want to use a query

6) In to the 2000 version of the .RDL file. You will need to add this line:
StoredProcedure after the first tag.

7) In the ReportParameters don’t use the tag Hidden

THIS IS NOT SUPPORTED SO I WOULD BACKUP YOUR REPORTS BEFORE ATTEMPTING THIS AND USE THIS ADVICE AT YOUR OWN RISK.


Tuesday, 13 April 2010

Support SharePoint 2007 without SP2 ends on July 13th, 2010

Is your SharePoint 2007 farm already on Service Pack 2? If not, read this!

*** update April 12th, 2010 ***
Microsoft announced that the official retirement date for SP1 is 13th of July!
***

Source: http://blogs.technet.com/stefan_gossner/archive/2010/03/23/updated-retirement-date-for-wss-3-0-and-moss-2007-sp1.aspx

I've quoted the blog post of Stefan Goßner about the support of MOSS 2007
installation without SP2.

Please consider this information, if you're
not already planning to upgrade your systems!

"Based on the above listed information support for SharePoint
servers without SP2 will end on April 28th, 2010"
More
information:
http://blogs.technet.com/stefan_gossner/archive/2010/01/07/is-your-sharepoint-2007-farm-already-on-service-pack-2-if-not-read-this.aspx

Monday, 12 April 2010

Content Deployment - 'Bible' - The complete Guide

This time I want to introduce the blog of Stefan Goßner. This man works as a 'Escalation Engineer' for SharePoint. This month Stefan Goßner wrote a beautifull ode about the Content Deployment funtionality of SharePoint 2007:

A while ago I created a deep dive article series covering the WSS content deployment and migration API which helped many people to develop their own applications to do export and import in a customized manner.

Today I will start a new article series which will discuss all aspects of Content Deployment – with other words the MOSS feature sitting on top of the WSS API.

Most customers see this feature as a monolithic implementation which does not allow any customization – but that is not the case as you will see in future chapters of this article series.


Read the 'Bible':

Source: Stefan Goßner

Thursday, 1 April 2010

QNH @ DevDays 2010

I have been to DevDays 2010 this year and it was great!In this post I will tell you which presentations a watched, with some comment on it. I hope it helps you to get interested with some of these great new technologies!

On the 30th and 31th of March 2010 I have visited the following presentations:

Day 1

  • What's new in office 2010 for developers by John R Durant.

    He made a video of us during lunch: (view the post) We had a nice chat about culturial differences.




  • More follows soon!

Geek Night

  • Keynote
  • More follows soon!

Day 2

  • More follows soon!

Thursday, 11 March 2010

Launch date for Office 2010 and SharePoint 2010

Launch date is May 12th, 2010
RTM date will be in April

I hope I can sleep tonight :D

Thursday, 14 January 2010

The resource object with key 'NamexxxField' was not found

Normaly a solution deployment would copy important dll's, resource files etc. to the Global_Resources map in your (inetpub) web applications bin directory. Somehow one of my build SharePoint solutions didn't copied those file during deployment.

I recieved the following message

Exception Type: System.Web.HttpException Exception Message: The resource object with key 'NamexxxField' was not found.
I needed to execute the following command to fix the problem:

"C:\Program Files\Common Files\Microsoft Shared\web server
extensions\12\BIN\STSADM.exe" -o copyappbincontent
After that SharePoint had copied the files and my solution worked correctly, but my wsp needed futher investigation.

Source: http://software.sharepointsolutions.com/Community/t/75.aspx

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.