Tuesday, November 24, 2009

Jonathan's IT Blog: SharePoint Walktrough - Displaying List Items with their attachments Part 1/2

Great tutorial about displaying lists CrossDomain/Different Web apps in MOSS 2007 (in my case):

Jonathan's IT Blog: SharePoint Walktrough - Displaying List Items with their attachments Part 1/2

Friday, November 20, 2009

Customizing MySite -- not for the faint of heart

I'm not going to get too in-depth here because, to be honest, there are some decent guides out there already (or at least one).  My problem was finding them, rummaging through all the BS only to find that the solution won't fit my scenario.  My scenario is/was enterprise based so I needed to have the ability to deploy to a farm.  Some other caveats of my situation:

  1. *Should* be supported.
  2. Already has a feature and stapler feature from a previous developer.(these are needed to hook into the MySite creation process).  Source code no where to be found.
  3. Custom webparts, custom master page, and custom CSS need to be deployed alongside.  Custom images and some compiled Silverlight also need to be deployed. I'm banking on fact that the .XAP file can just be copied over via the feature.  This is still waiting to be tested.
Now for the good part.  First your going to want to start with this blog post by Steve Peschka:
http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx



This outlines the procedure to do the customizations.  Its fairly complicated and being a reasonably smart person myself... I got lost along the way and was not able to complete it in one sitting.  This of course frustrates me, being the prideful person I am :)

So today I came across a Visual Studio solution to help accomplish this: http://www.codeplex.com/CKS/Release/ProjectReleases.aspx?ReleaseId=2824

The links from Steve's blog didn't seem to be working, so I was lucky to come across that link through another blog.  Thats a VS2005 solution but it converts nicely if you use 2008.  All in all, that is a great place to get started, and will help you visualize what Steve is talking about on his blog (and of course, because he made the project on Codeplex too).  If will also save you some time too, if you have deadlines and don't want to decipher everything from the ground up.

Thursday, November 05, 2009

Warning: The selected master page has no approved version. This site may appear to be broken to users without the view versions right in the Master Page Gallery.

This is a simple fix for a strange problem that I didn't expect.  I was going to apply a new masterpage to a site and some subsites when this lovely red message came up:

Warning: The selected master page has no approved version. This site may appear to be broken to users without the view versions right in the Master Page Gallery.

As that was something that I didn't want to risk I ended up deleting and readding the page to the masterpage gallery.  I also found these directions if you're looking for a fool proof method:


Click Site Actions –> Site Settings –> Modify All Site Settings
Click Master pages and page layouts
Click the down arrow next to your .master file
If Check In is an option, click Check In
Click OK
Click the down arrow next to your .master file again
Click Publish a Major Version
Click OK
Click the Down arrow next to your .master file
Click Approve/reject
Click the Radial Button next to Approved.
Click OK.


Check your page out again.
If that did not work, click the down arrow next to your .master file for the fourth time.
Click Manage Permissions
Make sure that Portal Members have Read rights.
If they do not, Click New –> Add Users


Type Portal Members in the Users Section
Click OK
Click Read in the Give Permission Section.
Click OK.

This should address both permission issues and approved version issues.

http://thenewpaperclip.com/2007/02/10/create-a-master-page-in-microsoft-office-sharepoint-designer-2007/

Wednesday, November 04, 2009

Workflow failing on start(retrying) - Sharepoint Custom Workflow Error

I had created a workflow for a client that just sends an email when an item is added to a Custom List. Depending on a field that was added, it would send to a different user.  Simple enough!  Started up Sharepoint Designer and created said workflow.  Added an item to the list and BAM:  "Workflow failing on start(retrying)". After recreating it several times and changing Token Strings within the XML, the problem still remained. So...

After battling with this issue for the past few days I finally found a solution.  First I went into my Sharepoint logs at: c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\LOGS\ . I ran a dos command  
"type [LogPath/MostRecentLogFileName] | findstr /i /r workflow >> c:\moss_errors.txt"

What this does is output any line in the error log which contains the string "workflow".  This lead me straight to the culprit: "Engine RunWorkflo
w: System.Security.SecurityException: Request failed. at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed) [...]"

So on an so forth...  Did a quick google search for that error and stumbled across a lovely post in this thread: http://social.msdn.microsoft.com/forums/en-US/sharepointworkflow/thread/20fd2a72-13e5-4310-a06b-3ded6e7d370e/?prof=required that stated that their Nintex Workflow 2007 program stopped behaving correctly after installing Citrix XenApp.  It did something to their "shared.dll" that allowed it to be uneditable... or so they thought.

On a whim, I decided to google "Citrix XenApp Web Interface for Microsoft Sharepoint" and I found this thread: http://connect.nintex.com/forums/thread/423.aspx which gave me the direct solution on how to fix things

Unfortunately it has recently come to our attention that the file shared.dll is being deployed erroneously to the following location:
C:\Inetpub\wwwroot\wss\VirtualDirectories\\bin


The work around is very simple, just delete the dll from this location and your workflows will function as intended. 


Perfect!  and there you have it.  Just drill down to said directly -- port was the domain name on my server, and move that file to a backup location or recycle bin and then try your workflow out. I recreated mine just to be sure.  Likely it should work if the error was due to the Citrix App.  Also make sure to make this change on all domains and servers if youre in a farm.