Thursday, May 29, 2008

Versions.aspx Unknown Error

Latest findings :-)

Did you ever receive "Unknown Error" (love these descriptive messages)when trying to view version history on the item? I did. As it turned out it was directly related to the issue I had with viewing properties of an item. Anytime I've opened "View Properties" it would redirect me to the portal home page. Once the Dispform.aspx page was fixed, I had no issues browsing to the version history.

Because my priority was to resolve version issue before display properties redirection, all research was fruitless, If you are doing the same, take a look at your view properties page first.

Enjoy

Thursday, May 22, 2008

Native support for PDF and ODF by Microsoft

Finally, great announcement from Microsoft

When using SP2, customers will be able to open, edit and save documents using ODF and save documents into the XPS and PDF fixed formats from directly within the application without having to install any other code. It will also allow customers to set ODF as the default file format for Office 2007. To also provide ODF support for users of earlier versions of Microsoft Office (Office XP and Office 2003), Microsoft will continue to collaborate with the open source community in the ongoing development of the Open XML-ODF translator project on SourceForge.net.

In addition, Microsoft has defined a road map for its implementation of the newly ratified International Standard ISO/IEC 29500 (Office Open XML). IS29500, which was approved by the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) in March, is already substantially supported in Office 2007, and the company plans to update that support in the next major version release of the Microsoft Office system, code-named “Office 14.”

Read it all here: 

http://www.microsoft.com/Presspass/press/2008/may08/05-21ExpandedFormatsPR.mspx

Can't wait :-)

Tuesday, May 20, 2008

Free SharePoint online training resources

Recently I felt compelled to set up a list of free online training resources, here it is (in no particular order):

1. Advanced lectures and white papers (Microsoft TechNet)

2. The Microsoft Office SharePoint Server 2007 Training, built on the Microsoft SharePoint Learning Kit, is designed for server administrators to install on an Office SharePoint Server site to help end-users learn about Office SharePoint Server.

3. Enterprise Search Training over 18 hours of free, deep technical training about Enterprise Search with SharePoint technologies

4. SharePoint 2007 Essential Training with: David Rivers (free demos)

5. SharePoint Server 2007 Courses (17 courses)

Share Excel data with others by exporting it to a SharePoint site Length: 30 min
SharePoint document libraries I: Introduction to sharing files Length: 30 min
SharePoint document libraries II: All about checkout Length: 30 min
SharePoint document libraries III: Work with version history Length: 30 min
SharePoint document libraries IV: Tips and tricks Length: 30 min
SharePoint document libraries V: How to download a library Length: 30 min
SharePoint slide libraries I: Set up a library for your team Length: 40 min
SharePoint slide libraries II: Use slides in the library Length: 40 min
SharePoint calendars I: Make the most of your team calendar Length: 20 min<
SharePoint calendars II: Connect a SharePoint calendar to Outlook Length: 20 min
SharePoint calendars III: Create your own calendar Length: 20 min
SharePoint calendars IV: Tips and tricks Length: 20 min
Workflows I: Basics you should know Length: 30 min
Workflows II: Collect feedback for a file Length: 30 min
Workflows III: Collect digital signatures for a file Length: 30 min
Workflows IV: Include someone outside your company Length: 40 min
Workflows V: Handy tips for tasks Length: 30 min

 

6. SharePoint Training Tutorials Step by Step How To Instructions. In these SharePoint screencast tutorials, get step by step instructions on all the features included in SharePoint hosting and how to optimize your site. The tutorials cover topics from Alerts and Creating Web Parts to Creating Meetings Sites and Wikis.

7. 2 Free Training Courses for SharePoint Here are 2 free training courses for SharePoint: Getting started with Services and Doing more with SharePoint Services. These are offered by the Instruction Technology Group at the University of Nebraska at Lincoln as part of their Microsoft eLearning Library. These interactive Office application training modules and tutorials were created by Microsoft. Note that to view the main training tutorials, you must be using Windows and Internet Explorer, however, you can use any platform/browser to view the Tutorial How-to Steps for each Lesson.

8. Microsoft Office SharePoint Server 2007 Training Standalone Edition The Microsoft Office SharePoint Server 2007 Training Standalone Edition is designed to help you learn how to use the features of Microsoft Office SharePoint Server.

9. Free AppDev training CD-Rom and download

10. WSSWiki - free community driven resource devoted to the Microsoft Windows SharePoint Services platform. (not quite training site, but you might find some of the articles helpful)

11. Free Demos from Hyperteach Windows SharePoint Tutorial - Training Videos

12. SharePoint 2007 Training Videos A series of 60 training videos (many of which are free) for SharePoint 2007. Categories include getting started, lists, documents, images, ideas, customization, sites and pages, security and integration. Topics include an introduction to SharePoint services, exploring the SharePoint site (free), user login options, adding announcements and calendar events, adding links (free), starting a custom list, importing lists from Excel 2007, a library overview, uploading documents (free), using version control, working with offline documents, initiating workflows, completing workflows, image web part (free), creating a picture library, using the discussion board, working with wikis (free), posting to blogs, staying informed with RSS, tree view navigation, changing a site theme, modifying web parts (free), advanced web part options, creating a basic page, adding a child site, creating a document workspace, make a meet workspace (free), site templates, security review, creating a custom group, groups permissions, Outlook 2007 calendars (free), Excel 2007 web query, Word 2007 document workspace, and more.

13. Bob Fox Videos more relevant to administrators

Alternate Access MappingsUse SHIFT+ENTER to open the menu (new window).
B2TR2-RTMUse SHIFT+ENTER to open the menu (new window).
Backup and RestoreUse SHIFT+ENTER to open the menu (new window).
SlipStreamUse SHIFT+ENTER to open the menu (new window).
Personalization_SiteLinksUse SHIFT+ENTER to open the menu (new window).
Setting up a Lab Part 1Use SHIFT+ENTER to open the menu (new window).
SP_Desktop_ShortcutsUse SHIFT+ENTER to open the menu (new window).
VirtualLabSetupPart2Use SHIFT+ENTER to open the menu (new window).

These links come courtesy from my good friends and fellow SharePointers, and Google err I mean Live Search  :-D

If you have some other cool online free training resources feel free posting links in the comments section.

Enjoy

PS: some people are not aware of the fact that I have another blog at Conchango, the following came to Conchango blog as comments from Jomit:


1. SharePoint Developer MSDN Web Cast Series starting from 20th May 08



2. Office/SharePoint Developer Screencasts from Ted Pattison :

14 'How to Videos' on WSS, MOSS and Office Development


3. Free WSS and MOSS Online Clinics


WSS Development


WSS Infrastructure


MOSS Development


MOSS Infrastructure

Wednesday, May 14, 2008

Open-Edit-Save PDF document into SharePoint library

Recently one of our clients had decided not to just preview PDF documents from the SharePoint library, but to edit it and save to the same location.

Because Adobe is not integrated with SharePoint, when you open a PDF file for editing and save it, it will not save to the source location (Document library), but instead it will save it to one of the folders on your hard drive depending on the preferences. In my case, client wanted to open these PDF's from tasks that were created through "Collect" action in SPD (they served to provide additional information on the approver's disposition) as you might know this action creates a content type and associates ASPX page used to collect information. Users expected to open up the task associated with approval of this PDF document, open up the document they were about to review from this Task, provide some comments within the document, save this PDF to the source location and state their disposition in the task Item as well. Through the addition of  XSL within the ASPX page associated with this Task content type I've achieved the desired functionality:

Before, the link to the document that triggered associated workflow to create a task looked something like this:

        Document: <a href="{substring-before(@WorkflowLink, ', ')}">
                        <xsl:value-of select="substring-after(@WorkflowLink, ', ')"></xsl:value-of>
                      </a>

This piece of code would output name of the document with link to the document.

I've modified it to open the location (folder) of this document through the Windows Explorer (WebDav interface), luckily I have only one document per folder:

Document: <a href="#" onclick="NavigateHttpFolder('{substring-before(substring-before(@WorkflowLink, ', '),substring-after(@WorkflowLink, ', '))}', '_blank');">                         <xsl:value-of select="substring-after(@WorkflowLink, ', ')"></xsl:value-of>
                       </a >

As soon as you open PDF Document through the WebDav Interface, by default Adobe will save this document after editing it in the same location.

...BUT... yeah, there is always a catch.

When you try to open Office document, such as word document, you will get an error "Your Client does not support opening this list in Windows Explorer".

Here is your answer:

http://support.microsoft.com/kb/923906/en-us even though it describes this error from the "Actions" menu, but when you dig dipper it all boils down to the problem described here, as limitation of characters in your URL to only 100 characters.

http://support.microsoft.com/kb/325355/

Yes, it is your answer, if you are running IE 6.0.2.8... or earlier, but what do you do if it is not the case and you are getting this error anyway. I have IE 7 and office 2007.

I personally tried almost every patch, and download, and IE settings out there. We opened a support ticket with Microsoft, no solution. NOTHING WORKED, I've stumbled upon some forum threads that were ended on a hopeless note.

In my case the answer was within the actual XSL, apparently the problem can be resolved by the reformatting the URL used within the onClick command.

if before the HTML output from this line :

Document: <a href="#" onclick="NavigateHttpFolder('{substring-before(substring-before(@WorkflowLink, ', '),substring-after(@WorkflowLink, ', '))}', '_blank');">                         <xsl:value-of select="substring-after(@WorkflowLink, ', ')"></xsl:value-of>
                       </a >

was

<a href="#" onclick="NavigateHttpFolder('', '_blank');"> as you can see no URL id being supplied here, what is even stranger is that the URL was always there for PDF documents, but not for the office documents.

If you replace each "/" with "\u002f" within your link variable (in my case it's @WorkflowLink) it will work just fine :-)Once I replaced the previous code it with:

Document: <a href="#" onclick="NavigateHttpFolder('{translate(substring-before(substring-before(@WorkflowLink, ', '),substring-after(@WorkflowLink, ', ')),'\','\u002f')}', '_blank');">                <xsl:value-of select="substring-after(@WorkflowLink, ', ')"></xsl:value-of>
                      </a>

The HTML output was the correct one, for all types of documents!

Document: <a href="#" onclick="NavigateHttpFolder('http://portal/Documentlibrary/FolderName/', '_blank');">

This work around allowed me to open WebDav for particular folders

lesson learned, before you start looking for patches even though your system should be fine, go into the source code and look at what actually happens there, are you providing all the right values?

This post should have been re-titled though, but....

Enjoy


Note: do not get hang up on this part "substring-before(substring-before(@WorkflowLink, ', '),substring-after(@WorkflowLink, ', '))" It's just a way (in my case) to extract the URL to location of the document. By the way in some instances you might not even need to replace "/" with "\u002f".

Tuesday, April 29, 2008

Fast Installation of Fabulous 40 templates

Over some period of time I’ve got tired of installing Fab. 40 templates solutions over and over again.

The time had come to write a script that allows for faster installation. This script will only install solutions associated with Fab 40 package, it’s up to you to upload site templates into site template gallery.

Bob Fox has graciously provided space on his server for this script, Thanks Bob!

Here is how to use this script:

1. Download Fabulous 40 templates from this location.

2. Run the downloaded file, this action will unzip all files into specified location

3. Download the script (right mouse click -> Save Target As), you can probably copy and paste it into notepad from here, but there is a big chance you will have to struggle with some hidden characters and the script will have hiccups J

4. Open this file in notepad and modify the first line

@SET SLNDIRECTORY=C:\Apps\

Change C:\Apps\ to the location where you unzipped your Fab 40 files to (keep the last slash)

5. Save the script with .cmd extension instead of txt

6. Run it from your server

This script will keep your server busy for a while, you might get “Service Unavailable” until the script stops and all timer jobs are finished (which is usually not longer than couple of minutes), but if you have users in your environment, run it during off-hours. This will install all solutions in one shot and globally deploy them immediately.

In your Central Administration, under solutions management check for all 20 solutions.

As the last step upload all .stp files into your site templates gallery.

Here is the source for the script, but you can download it here

:

@SET SLNDIRECTORY=C:\Apps\

@SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

Echo Adding Solution ApplicationTemplateCore.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ApplicationTemplateCore.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ApplicationTemplateCore.wsp -allowgacdeployment -immediate -force

%STSADM% -o copyappbincontent

Echo Adding Solution AbsenceVacationSchedule.wsp

%STSADM% -o addsolution -filename %SLNDirectory%AbsenceVacationSchedule.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name AbsenceVacationSchedule.wsp -allowgacdeployment -immediate -force

Echo Adding Solution BudgetingTrackingMultipleProjects.wsp

%STSADM% -o addsolution -filename %SLNDirectory%BudgetingTrackingMultipleProjects.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name BudgetingTrackingMultipleProjects.wsp -allowgacdeployment -immediate -force

Echo Adding Solution BugDatabase.wsp

%STSADM% -o addsolution -filename %SLNDirectory%BugDatabase.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name BugDatabase.wsp -allowgacdeployment -immediate -force

Echo Adding Solution CallCenter.wsp

%STSADM% -o addsolution -filename %SLNDirectory%CallCenter.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name CallCenter.wsp -allowgacdeployment -immediate -force

Echo Adding Solution ChangeRequest.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ChangeRequest.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ChangeRequest.wsp -allowgacdeployment -immediate -force

Echo Adding Solution ComplianceProcessSupport.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ComplianceProcessSupport.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ComplianceProcessSupport.wsp -allowgacdeployment -immediate -force

Echo Adding Solution ContactsManagement.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ContactsManagement.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ContactsManagement.wsp -allowgacdeployment -immediate -force

Echo Adding Solution DocumentLibraryReview.wsp

%STSADM% -o addsolution -filename %SLNDirectory%DocumentLibraryReview.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name DocumentLibraryReview.wsp -allowgacdeployment -immediate -force

Echo Adding Solution EventPlanning.wsp

%STSADM% -o addsolution -filename %SLNDirectory%EventPlanning.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name EventPlanning.wsp -allowgacdeployment -immediate -force

Echo Adding Solution ExpenseReimbursementApproval.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ExpenseReimbursementApproval.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ExpenseReimbursementApproval.wsp -allowgacdeployment -immediate -force

Echo Adding Solution HelpDesk.wsp

%STSADM% -o addsolution -filename %SLNDirectory%HelpDesk.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name HelpDesk.wsp -allowgacdeployment -immediate -force

Echo Adding Solution InventoryTracking.wsp

%STSADM% -o addsolution -filename %SLNDirectory%InventoryTracking.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name InventoryTracking.wsp -allowgacdeployment -immediate -force

Echo Adding Solution ITTeamWorkspace.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ITTeamWorkspace.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ITTeamWorkspace.wsp -allowgacdeployment -immediate -force

Echo Adding Solution JobRequisition.wsp

%STSADM% -o addsolution -filename %SLNDirectory%obRequisition.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name JobRequisition.wsp -allowgacdeployment -immediate -force

Echo Adding Solution KnowledgeBase.wsp

%STSADM% -o addsolution -filename %SLNDirectory%KnowledgeBase.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name KnowledgeBase.wsp -allowgacdeployment -immediate -force

Echo Adding Solution LendingLibrary.wsp

%STSADM% -o addsolution -filename %SLNDirectory%LendingLibrary.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name LendingLibrary.wsp -allowgacdeployment -immediate -force

Echo Adding Solution PhysicalAssetTracking.wsp

%STSADM% -o addsolution -filename %SLNDirectory%PhysicalAssetTracking.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name PhysicalAssetTracking.wsp -allowgacdeployment -immediate -force

Echo Adding Solution ProjectTrackingWorkspace.wsp

%STSADM% -o addsolution -filename %SLNDirectory%ProjectTrackingWorkspace.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name ProjectTrackingWorkspace.wsp -allowgacdeployment -immediate -force

Echo Adding Solution RoomEquipmentReservations.wsp

%STSADM% -o addsolution -filename %SLNDirectory%RoomEquipmentReservations.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name RoomEquipmentReservations.wsp -allowgacdeployment -immediate -force

Echo Adding Solution SalesLeadPipeline.wsp

%STSADM% -o addsolution -filename %SLNDirectory%SalesLeadPipeline.wsp

Echo Deploying Solution

%STSADM% -o deploysolution -name SalesLeadPipeline.wsp -allowgacdeployment -immediate -force

Friday, April 11, 2008

Workflows do not start on a document library with Custom List Form SharePoint control on edtiform.aspx

Interesting discovery

If you are using Custom List Form SharePoint control to edit/enter metadata for your document library, documents will not get automatically checked in upon document upload thus preventing workflows to start.

Here is the situation I had to deal with:

A document library is set to "Require documents to be checked out before they can be edited?" to "Yes". under normal circumstances, when you upload a document on the EditForm.aspx you would have  two buttons "Check in"(it would save the metadata associated with the document and check the document in) and "cancel" (which would discard all metadata changes, keep in mind that it does not discard the doc it's self) on top of the form as well as on the bottom.

if the library is set "Require documents to be checked out before they can be edited?" to No when the document is uploaded on the editform.aspx you would have  instead of "Check in" button a standard OK button.

If you are using a Custom List Form SharePoint control  on the EditForm.aspx, and "Require documents to be checked out before they can be edited?" is set to yes,  on top of the edit form you will see "OK" button and on the bottom "check in" button alongside with the standard "cancel". One would presume that clicking the "Check in" button would check in the document.

Unfortunately it does not happen, neither clicking the "OK" button checks the doc in, which results to workflows not starting, because the document does not automatically gets checked in.

I'm not sure if it's a BUG, if it is then for some reason I could not find any information of this.

Only setting this doc library not to require document check out fixes the problem. but quite often it's not a desired functionality.

Tuesday, April 1, 2008

"New" company or "New" employer!!!

Very interesting day... Something that I thought would be a company-wide meeting turned into a BIG announcement.... I guess, I work for EMC now :-)

Don't get me wrong... I was not looking for a new job, I've been very happy at Conchango. WE are being acquired by EMC!

Exiting times and new opportunities!!!!!!!

Technorati Tags: ,,