The CodePlex Corner: SUSHI

The CodePlex Corner: SUSHI

The link to the project is https://sushi.codeplex.com/

The project that this edition of the CodePlex Corner is going to look at has been part of the SharePoint community for quite a while. It goes by the name of Sushi (which stands for SharePoint Utility with a Smart, Helpful Interface) and was originally intended to be an administrative Swiss army knife for those that look after infrastructure. Sushi has been created by Joseph Fluckiger, a senior software architect at ThermoFisher, with additional SharePoint 2010 contributions being made by SharePoint MVP Ryan Hayes.

Sushi is a Windows form application that needs to be run from one of the SharePoint servers in order to work. It is available for SharePoint 2007 and 2010. There is no SharePoint 2013 version currently available. When you download and run Sushi from CodePlex, it does not install any DLLS, web parts or anything that can be considered invasive. However it does search for the appropriate hive folder for your version of SharePoint. It’s for this reason that Sushi cannot currently be run from a desktop client.

It has been built as a server client application for the following reasons: –

  1. Richer client interface, which is deemed easier to use than web parts
  2. The security reports feature (that reports on specific user rights) within Sushi does not hide anything from the person generating the report. This is something that you might not want all users to have access to
  3. It was felt that more functionality was available by creating the tool as a windows form application rather than via web parts and layouts pages

Historically, Sushi popped up on the SharePoint stage back in the SharePoint 2007 era with a number of handy utilities and functions that stsadm just couldn’t provide. The introduction of PowerShell support from SharePoint 2010 onwards has lessened the usefulness of Sushi slightly but it hasn’t eliminated it entirely. It is still a valuable tool for active SharePoint 2007 deployments and a handy addition for SP2010 administrators who have limited PowerShell knowledge. Sushi has enough literature of its own to guide a user through what it does but for the sake of convenience its current features are document below. The following table provides a snapshot view of what Sushi provides: –

Category

Actions & Notes

Administration

  • User Security Reports: View all sites / lists a user can access
  • Profile Images Import: Upload profile images and apply them to User Profiles
  • Site Backup: Backup a site
  • Site Restore: Restore a site
  • Email Test: Send a test email to make sure that outbound email is correctly set-up

List / Library Management

  • Copy View: Copy view from one list to another
  • Metadata: Get detailed information about metadata in a list. Move metadata from one column to another for all items in a list
  • Bulk List Creation: Create a large number of lists based on a template
  • Bulk Site Columns: Create site columns
  • Import Documents: Upload file structures from a file share or source folder into a SharePoint document library
  • Delete Old Documents: Copy documents older than a specified date into an archive folder and then delete from SharePoint

Site Management

  • Bulk Site Creation: Bulk-create sites based on a site template
  • Bulk Apply Themes: Apply a theme to many sites at once

 

This is a screenshot of the Sushi interface once it has been downloaded and started. The options detailed in the table above are present on the left hand side of the application with the main window available for interacting with each feature.


Something that needs to be reconciled is how old Sushi is and the fact that there are now other facilities available that may compete with it. With the stsadm utility is a deprecated utility and that many SharePoint technical staff are becoming fluent in PowerShell it would be prudent to review each of the features that Sushi offers against modern day alternatives. The table below is provided for illustration and to help users decide which features may be of use to them.

Action

Notes

Alternatives

User Security Reports

This feature allows the administrator to display which sites and lists/libraries a user has access to within a site collection. It also allows an administrator to view which AD groups an account is part of.

SP Admin toolkit and PowerShell scripts are free utilities but these are not as easy to use.

 

SPFarmReport, is a CodePlex alternative that allows you to generate holistic reports for all uses

Profile Images Import

A very useful feature that is limited by the need for an image name to match an account name. Some characters are also hardcoded.

PowerShell can be used for SharePoint 2010 deployments that have image present in AD and kb2394320 installed. Script and instructions detailed here.

 

PowerShell can also be used to upload the images to a SharePoint 2010 library and alter the –PictureUrl parameter. Script and instructions detailed here.

Site Backup

The Sushi back-up facility is a wrapper for stsadm functionality. Its time r functionality plugs into the Windows Task Scheduler

PowerShell commands for back-up / restore and export / import for SharePoint 2010 deployments. These provide more functionality.

 

Very good utility for SharePoint 2007 deployments still

Site Restore

The Sushi restore facility is a wrapper for stsadm functionality. Its time r functionality plugs into the Windows Task Scheduler

PowerShell commands for back-up / restore and export / import for SharePoint 2010 deployments are best suited for these tasks.

 

Very good utility for SharePoint 2007 deployments still

Email Test

Very useful utility for both SharePoint 2010 and 2007. It still requires the SMTP settings to be configured but removes the need to create an alert manually. This feature is also useful for SharePoint migrations into 2007 / 2010

Matthew Yarlett has discovered and documented a mock SMTP solution in CodePlex .

 

The link to the smtp4dev facility is https://smtp4dev.codeplex.com/

Copy View

Incredibly useful feature and no other facility exists that allows easy replication of views from one list to another.

 

This only works within a single site level.

Nothing else exists that can do this for either SharePoint 2007 or SharePoint 2010

Metadata

This facility allows provides bulk and easy editing for metadata within a list / library. A tutorial for this has been written here.

Very useful for both SharePoint 2007 and 2010. Sushi provides more flexibility than the datasheet view and removes the need to filter and interact with data

Bulk List Creation

Quick and easy facility for bulk list creation. Limited to single site level

PowerShell is an alternative but the complexity of the sort of scripts needed for this needs some familiarity with PowerShell

Bulk Site Columns

Quick and easy facility for the creation of site columns in bulk.

PowerShell is an alternative but the complexity of the sort of scripts needed for this needs some familiarity with PowerShell

Import Documents

With this feature, Sushi allows you to import a directory tree into SharePoint. It’ll remove illegal characters for you too.

 

This usability of this feature is determined by how you approach metadata. If you use the term store or columns instead of folders, than this may not be as useful

  1. Metalogix Content Matrix is an commercial alternative
  2. DocAve File System Migrator is a commercial alternative
  3. Vyapin Document Import Kit is a commercial alternative
  4. SharePoint 2010 Bulk Uploader is a CodePlex alternative

Delete Old Documents

Another potentially useful, Sushi allows you to archive files from a SharePoint library onto the desktop / servers. It is an on demand facility that does not provide the ability to schedule when archiving is done.

This can be achieved with PowerShell as documented here.

 

OOB functionality that can do this is Information Rights Policy.

Bulk Site Creation

Useful site that creates sub-sites swiftly. It accepts copy / paste parameters from the clip board that you may have prepared with an Excel spread sheet

PowerShell will also allow you to achieve this but it would be tricky

Bulk Apply Themes

This allows you to apply sites to a site and its subsites.

PowerShell will also allow you to achieve this but it would be tricky

 

Link to SharePointReviews.com product review

Currently there is no product review for Sushi on SharePointReviews.com

“End User – Developer” scale

Sushi sits comfortably on the administration spoke of the End User à Developer scale. It has some tools that could be useful to power users but the need to run this from any of the SharePoint servers means is a potential security risk. Therefore, those that will be using Sushi are more than likely going to be experienced, technical staff.

Potential pitfalls / problems

The following points are ones that should be taken into account whilst using the application:

  1. The utility has to be run from a SharePoint server and has no client version
  2. The profile images import hardcodes a backslash character before the username and does not allow you to specify mappable attributes. The image name must match a profile name
  3. The import document function has hardcoded file types that it blocks rather than relying on those specified in the S
  4. The back-up / restore stsadm commands are still subject to stsadm size limitations

Tutorial

A Sushi tutorial is being written and will be linked from this article shortly. This tutorial only covers the features of Sushi that cannot easily be recreated. These are: –

  1. Security Reports
  2. Email Test
  3. Copy View
  4. Meta Data
  5. Delete Old Documents

Conclusion and relevant links

Sushi, despite being one of the elder statesmen of the CodePlex SharePoint project community, is still worth a place in an administrator’s arsenal. The niche that it occupies has shrunk a little, mostly due to the addition of PowerShell support to SharePoint but the attention and care that was originally put into the application has made it very resilient to the aging process. Whilst a few features such as the back-up / restore tools are somewhat redundant almost everything else is still useful. In the long run however, unless the tool is upgraded for the SharePoint 2013 / Office 365 era its scope of usefulness will eventually diminish.

The links below are my reference list: –

  1. Sushi Project Site on CodePlex
  2. Joseph Fluckinger Blog
  3. Ryan Hayes Blog
  4. Patric Luka’s Metadata tutorial for metadata
  5. Matthew Yarlett’s smtp4dev TechNet article
  6. Roger Cormier’s Bulk Download Script
Advertisements

Removing old workflow instances with Powershell

As most of you will know, there are two basic types of workflow in SharePoint. Some workflows are authored in SharePoint Designer whilst others are created within Visual Studio. This article is aimed at those who author workflows in SPD.

Each time a new workflow is published within SPD, a new instance is added. What this means is that each time a workflow is published, it overwrites a previous version. If an administrator were to check the active workflows, they’d see a history that looks like this

I don’t believe that there is any performance overhead for having these historical workflows listed but wouldn’t it be nice to have a way to remove these. This article is going to show you how.

  1. Download this PowerShell Script from the TechNet Gallery. Download it somewhere that is easy to find, such as C:/Scripts
  2. Right Click on the script and select Open
  3. Look for the following variables and change them as requird
    1. $web: Include the URL of your Site
    2. $listToCancel: Use the display name of the list / library that has the workflow versions you want to delete
    3. $wfToKeep: Use the name of the Workflow to be pruned
  4. Save and close the script
  5. Right click and select Run with PowerShell. Click Yes to the script. You’ll see this as the script has been downloaded from TechNet rather than written locally

  1. Once the script has run, return to your workflow history page. You should see only one version of the workflow as below

Caveats

Please be mindful of any workflow instances that may still be in operation. The script won’t be too choosy in what it removes.

Credits

Thanks to Matthew Yarlett for looking over this script for me.

Tutorial: Using the SharePoint List Field Manager

After I’d written the tutorial for the Seadragon Web part, I hit upon the idea of making short introductory guides an additional part of the CodePlex Corner Series. In the course of my playing around with the goodies on offer, I’m typically taking notes for my own records. It’s not really a huge leap to tidy them up and make them available for publication.

I don’t really have a specific format in mind but I’d like to try and make these tutorials as inclusive as possible, especially as some of the projects might not have terribly detailed literature with them. Any part that’s not relevant for more experience readers can always be skipped.

With that in mind, let’s get you started with the SharePoint List Field Manager. This is an easy tool to use, so the tutorial will be brief. We will cover web part installation, then activation and will look at some best practice ideas around it.

Installing the SharePoint List Field Manager

  1. Create a folder on your root drive called Web Parts. This should be something like C:\Web Parts
  2. Download the ListFieldManager.wsp file into this folder
  3. Open the SharePoint 2010 Management Shell. Typically this is Start à All Programs à Microsoft SharePoint 2010 Products à SharePoint 2010 Management Shell. Run this as the administrator
  4. Use the following PowerShell Command to install the wsp file. Add-SPSolution “C:\Web Parts\ListFieldManager.wsp”. Please note that the double quotation marks are needed for the file path. Otherwise, you may generate the positional parameter error message below.
  5. As PowerShell will helpfully tell you the solution is deployed but not installed. Installing the solution is what will make it available for use.
  6. Use this PowerShell command, making sure to change the http://YourApp URL to your own Web Application. This should install with no issues
  7. Once this command has completed the List Field Web Part will be available for use

     

Activating & using the SharePoint List Field Manager

The List Field Manager is a site collection feature and should be activated as such. It activates with no problems. This will be the same for both SharePoint 2007 & SharePoint 2010. The end product is a web part that you deploy and use to configure your lists: –

  1. Navigate to Site Actions à Site Settings à Site Collection Features and activate the web part. It is listed under SharePoint List Field Manger.
  2. Now that the web part is available it will be in the Web Part Gallery. It will appear under the SharePoint Management category
  3. Once the web part has been added to a web part zone you can feed it the URL of the site where you want to manage the lists. Please be aware that you cannot access lists in other sites if you are using the SharePoint 2010 SandBox deployment. Either way click on Display Lists
  4. The web part reloads with a List drop down, which is populated with all available lists for the site that was selected. Select a list and then click on Display Fields
  5. This will reload the web part again with a second drop down list from which you can select the field that you want to modify. Make the appropriate choice and then click Display Field Settings
  6. The web part reloads again with all available options for that field. The end configuration will look like this

Best Practice / Suggestions

These are some ideas and thoughts that struck me as I was using the SharePoint List Field Manager as things that I’d do when introducing the web part into any of my deployments. My current suggestions are: –

  1. Customising a View field to act as an List Admin Page

Best Practice #1: Setting up a List Admin Page

A useful trick I’ve found is to place the List View Manager within a page that’s associated with its usage. This simply consists clearing out the contents of a View Page and adding the web part in its place.

  1. Within your list or library enter the List Settings and scroll down to the Views Section
  2. Click on Create view. This loads a new page where you select the view format
  3. Click on Standard View
  4. This loads a new page where the view is configured. Forget about configuring anything here; just call the view something like List Field Admin Page. This can also be set up as a personal view. Click Ok. This loads a new page with the standard view
  5. On this page, get into the page editing mode via Site Actions à Edit Page
  6. Edit the web part from this view and set the hidden field under the Layout options
  7. Add the List Field Manager and move this to the top of the page
  8. You will now have an administration view with the List Field Manager present for future configuration

The CodePlex Corner: SharePoint List Field Manager

The link to the Project is https://listfieldmanager.codeplex.com/

This edition of the CodePlex Corner turns its attention to a product called the SharePoint List Field Manager. At the time of its launch, it was created as a value-add product for CorasWorks customers and has been developed by their VP of Technology, Adam Macaulay. In May 2010 the company decided to release the product into the SharePoint community via CodePlex. The List Field Manager currently comes in three flavours: –

  1. SharePoint 2007
  2. SharePoint 2010
  3. SharePoint 2010 Sandbox

The List Field Manager does one thing but it does it very well. It allows you to set the Boolean properties on any column within a SharePoint list or library. In plain English, it partially addresses one of the perceived gaps of SharePoint. That’s the lack of granular permissions insofar as column/view level security is concerned. Once this product is installed and activated it allows you to configure, on a field by field basis, the following settings: –

  1. Hidden: This sets whether a field can be displayed in the list
  2. Read Only: This controls whether a field can be modified by the users
  3. Show in Display Form: This controls if a field is displayed in the DisplayForm.aspx
  4. Show in Edit Form: This controls whether a field is displayed in the EditForm.aspx
  5. Show in New Form: This controls whether a field is displayed in the NewForm.aspx
  6. Show in List Settings: This controls whether a field can be modified via List Settings
  7. Show in Views: This controls if a field is visible within List Views
  8. Allow Deletion: This controls whether a field can be deleted or not
  9. Show in Version History: This controls whether a field is displayed within an items Version History

These properties can also be accessed and changed in PowerShell and the SharePoint Manager, as seen here. Their only configurable options (in true Boolean style) are True or False. The List Field Manager simply provides a more accessible interface for accessing them.


More information on the Field Properties is available on MSDN on this link.

Let’s think about some of those options for a moment and the power that they provide. What other major SharePoint technology gives us the alternative to work with columns in such a way? InfoPath forms. Whilst the List Field Manager isn’t (and was never intended as) as a substitution for InfoPath, it does provide a great “no cost” alternative. This means that you can use things like calculated columns for various effects (such as calendar colour coding) and hide them from various .aspx forms and views. This allows either the Foundation or Standard versions of SharePoint to be extended and manipulated in simple but powerful ways.

Post installation the List Field Manager is available in the Web Part Gallery and allows you to select any list from a provided URL once it’s been activated. You can then select the field and set as appropriate. Compare some of the options below to the earlier screenshot from SharePoint Manager and you’ll see the same properties.

I was also curious as to whether this worked with the forms generated with External Content Types. So I set up the AdventureWorks Community samples, built an external content type and an external list from the customers table. All the typical CRUD operations were defined with the end form looked like this.

With a few grammatical tweaks to the labels this would make a workable list but that Demographics field really doesn’t serve any purpose being surfaced within SharePoint. The List Field Manager picked it up just fine but wasn’t able to tap into any of the properties that we can manipulate with SharePoint Lists.

Link to SharePointReviews.com product review

The link to the SharePointReviews Product category is to be located under Content Management à Lists and Libraries on the following URL: http://www.sharepointreviews.com/sharepoint-lists/1988-sharepoint-list-field-manager

“End User – Developer” scale

Working on the basis that an Administrator will have installed this web part in the appropriate fashion; the List Field Manager is fairly straightforward to use. I can see this product presenting an acceptable alternative to InfoPath form development. On that basis, I’m rating this product at Power User level. Administrators & developers shouldn’t have that many problems with the List Field Manager in return for the functionality it provides them.

Potential pitfalls / problems

I’ve only been able to test this version against SharePoint 2010 so I can’t comment conclusively on any problems that the 2007 edition might encounter. The only potential problems that I could see for this are: –

  1. Limitations of Sandbox Deployment: Sandbox 2010 Deployment doesn’t allow cross site list management (this is referenced in the CodePlex documentation however)
  2. Settings not added to Site Settings: As this is a web part, not a link in the site settings, an administrator might potentially forget where this web part has been deployed. In a potential workaround, you could possibly set up a dummy view page called Admin, delete the list view and add this web part to it
  3. Hidden vs. Read Only Fields: The differences between the Hidden & Ready Only properties are confusing. Read-Only won’t surface a column but then lock it for editing, it removes it from the form.
  4. Internal Content Types Only: Doesn’t work on external content types

Conclude and add any relevant links

In closing out the article, I think this is a great tool. It provides an awful lot of utility and is something that can conceivably be farmed out to well-trained or experienced users which removes a small dependence on IT or the SharePoint professionals.

The links below are my reference list: –

  1. CodePlex List field Manager
  2. Corasworks Community: List Field Manager
  3. Field Properties
  4. SharePoint Reviews: SharePoint List Field Manager
  5. AdventueWorks Community Database

Tutorial: Adding a Deep Zoom Image to a SharePoint 2010 Site

In my previous blog entry (part of the CodePlex Corner Series) I mentioned that I’d write a tutorial on how to add a Deep Zoom Image to a SharePoint site with the Seadragon Viewer web part. These are the notes I’d taken when I was playing around it. I’ve tided them up and they will guide you through the process of web part installation, image creation and how to bring these together.

Applies to

  • SharePoint 2010 (All Editions)

Scenario

You’ve got a large image that you want to distribute to some colleagues. But the image size makes it unwieldy to distribute via email. Instead, you’d like to provide an online capability where your users can interact with the image without losing image integrity. An example of Deep Zoom technology in use can be seen on the SharePoint 2013 architecture diagrams. This solution has a few components, namely: –

  • Seadragon Ajax Viewer Web Part (hosted on CodePlex)
  • Deep Zoom Image Composer
  • A large resolution image

Downloading and installing the web part

First we’ll begin by downloading and installing the web part. We won’t worry too much about configuring it at the moment; all we’re concerned with is getting it onto your servers. These steps should be done from one of your WFE Servers: –

  1. Navigate to the Downloads page of the CodePlex project. The SeaDragonViewer.wsp is the recommended download at the top of this page
  2. Create a folder on your C drive called C:\Web Parts and download the WSP file to this directory
  3. Open the SharePoint 2010 Management Shell via Start à All Programs à Microsoft SharePoint 2010 Products à SharePoint 2010 Management Shell. Right-click on this and select the Run as Administrator
  4. Once this has loaded. Run these PowerShell Commands. The first command installs the solution; the second command deploys it and makes it available for selection within your SharePoint installation.
    1. Add-SPSolution “C:\Web Parts\SeaDragonViewer.wsp”
    2. Install-SPSolution –Identity SeaDragonViewer.wsp –WebApplication http://YourSite –GACDeployment

Please note that the http://YourSite should be replaced with the URL of your own SharePoint Web Application. Once these steps have been completed, you’ll have the web part ready and installed for use but no image to plug into it. To prepare these, it’s necessary to step back from SharePoint for a moment and to use another Microsoft Tool; the Deep Zoom Composer

Creating DeepZoom Images for use within SharePoint

In this next set of steps we are going to obtain a high resolution image and use a special image utility to prepare this for use within SharePoint. We will then manually tweak the output of the tool to make sure that it’s compatible with the web part that you downloaded and installed earlier.

  1. On your desktop, create a folder called “Sea Dragon Images”
  2. Next, in your browser of choice navigate to morguefile.com. This is a free photo archive that you can use images fairly freely from.
  3. In the search box, type in London and hit enter
  4. Pick an image on the search results page and click on it. You’ll get a properties box that describes the attributes of the file you’ve chosen
  5. Click on the Download button on this attributes page.
  6. This will prompt you to open the file, save it or to cancel the download. Click on “Save” and save it to the Sea Dragon Images folder that you made earlier

At this point, you should now have a folder with one high resolution image contained with it. To make use of this image we are going to install a piece of kit called the Deep Zoom Composer. This is a facility that takes high resolution images and then transforms them into the appropriate format.

  1. Download the DeepZoom Composer from http://www.microsoft.com/en-us/download/details.aspx?id=24819
  2. The download process is quick and painless. Double click the exe and start the installation process. Accept the terms and conditions and follow the wizard through to completion
  3. Launch the Deep Zoom Composer from the start menu. Start à All Programs à Microsoft Expression à Deep Zoom Composer. You’ll be greeted with this screen
  4. Click on New Project
  5. In the New Project Dialog Box that pops up, name the project “London” and save it to the Sea Dragon Images directory that you created earlier and click OK
  6. With these settings in place, the dialog box will disappear and you’ll see a blank canvas. This has also created a London directory within the Sea Dragon Images directory that you will be investigating later
  7. Back on the canvas, look at the top right of the Zoom Composer and you’ll see an “Add Image” button
  8. Click on this and then navigate to the image that you downloaded earlier. Select it and press Ok. You’ll then see the image selected at the centre of the canvas and on the right hand side of the screen under a thumbnail strip
  9. On the toolbar at the top of the page, click Compose
  10. This will take you to the second stage of the composition process. You will see a blank canvas again but this have the London image from the previous step loaded in the thumbnail strip at the bottom of the screen
  11. Drag the London image from the thumbnail to the canvas. It is beneficial here to use the “Fit to Scree” command to make this easier. Do this via
    1. Edit à Fit to Screen
    2. Keyboard Shortcut: Ctrl + O
  12. Once this is done, you should have a screen that looks similar to the below
  13. Click on the Export Tab
  14. This will take you to a new export page where the various export settings can be inspected. On the export settings on the right hand side of the screen select Seadragon Ajax from the Output type options.
  15. Give your export a name and select the export location. By default this will be a folder called “Export Data” within the project directory that was created when the project was initialised
  16. Click Export once you are happy with the settings. You’ll see these options at the end of export process
  17. Click “Preview in Browser” to see how this will look in your SharePoint site
  18. Once you’ve done inspecting your work in the browser, click on the View Image Folder. You’ll see something similar to the image below. The file path will be …/Exported Data/London/GeneratedImages

Let’s inspect these files before moving on. Some changes will be needed to them shortly but it always helps to know what these are before altering them

File / Directory Name

Notes

Dzc_output_files

Directory containing the zoom images

Dzc_output.xml

XML file that dictates the zoom template size and format

Scene.xml

XML file containing the instructions and calculations for the images

SparseImageSceneGraph.xml

XML file that stipulates the zoom ratio, image path and background colours

 

The two items that we want to pay attention to here are the dzc_output_files directory and the dzc_output.xml. These are the files that the Seadragon Viewer web part needs to talk to. These next steps will show you how to combine your image output and the web part.

  1. In the Generated Images directory generated by the Deep Zoom Composer rename the dzc_output_files directory and the dzc_output.xml to London.
  2. Once these files have been renamed upload the entire directory and the xml files to a SharePoint document library. Right click the London.XML file and copy the shortcut
  3. Back in your SharePoint environment, navigate to the root site of the web application that the web part was installed to
  4. Access the Site Collection Features via Site Actions à Settings. This will load a new screen
  5. On this new screen, look for the Site Collection Administration heading and click on the Site Collection Features under it. This will also load a new page
  6. On this page, search for the SeaDragonViewer Feature1 and activate it. This adds the web part to the web part gallery for all sites within this site collection
  7. Now that the part is available, navigate to the page or site where the Seadragon viewer is to be added. When selecting the web part it will be grouped under the Innovation category
  8. Once the web part has been added, enter the configuration options (Edit Page à Edit Web Part) and look for the miscellaneous section. This will have three configuration options: –
    1. XMLPath: This is where the URL for the renamed XML file needs to be placed
    2. WPWidth: Setting for the Web Part Width
    3. WPHeight: Setting for the Web Part Height
  9. Paste the link of the XML file that you copied earlier into the XML Path field and press Apply / OK
  10. You will now have a web part with a high resolution image that you can zoom into and pan around without any loss of quality

That’s

The CodePlex Corner: Seadragon Viewer Web Part

The link to the Project is https://spseadragon.codeplex.com/

The CodePlex project that I want to look at for this column is something that was originally created by Microsoft Live Labs. It goes by the name of Seadragon and is a facility that allows a user to perform a “Deep Zoom” on an image. Don’t worry if that is an unfamiliar term, we’ll explore the concept shortly. Whilst Seadragon was initially a Silverlight project, a separate work stream produced a web based version known as Seadragon Ajax. Ultimately the team disbanded and the project fell into abandon. This year a SharePoint Seadragon Viewer web part emerged, which has been developed by Nikolas Charlebois-Laprade.

A short explanation of Deep Zooming is that it is a technology designed to allow efficient viewing and transmission of images. It consequently works very well with high resolution images. This is achieved this by breaking up an image into several smaller pieces. Essentially a pyramid of smaller and lower resolution images is created from the original item. The starting image is lowest in the pyramid. When zooming in for sections, you’ll be zooming into one of the tiles from these tile sets, moving between sets as required.

Believe it or not, it’s something that you’ve probably seen before. If you’re not convinced, take a look at the architecture design pages for SharePoint 2013. See that zooming ability? That’s what the Seadragon Viewer does. It makes large and typically unwieldy images much easier to interact with.

When we look at how this works within SharePoint, making the web part work can be broken down into two specific areas: –

  1. Pre-SharePoint work section: the creation of images and their properties with the Deep Zoom Composer
  2. SharePoint Configuration: The installation of the web part and how to use Deep Zoom images with the web part

It’s outside the scope of this review article to explain all of this in great detail but I am writing a tutorial on this, which I’ll post shortly.

Link to SharePointReviews.com product review

There are currently no product reviews on SharePoint Reviews for Seadragon Ajax. I may add one eventually but as this is only a basic web part and not a fully-fledged solution I think it would be unfair to add one so soon. I’d file this under Content Management à Content Organisation

“End User – Developer” scale

On first glance this is just a standard web part deployment and installation. There is however, a fair amount of work to be done to prepare images for Deep Zooming. For that reason, I’m rating this squarely between the administrator / developer spokes.

Potential pitfalls / problems

This is a web part that makes you work a little to get the most out of it. As Seadragon and Deep Zooming were never developed with SharePoint in mind, getting the two married together can be an awkward process. I can see two potential pitfalls: –

  1. Learning to use the Deep Zoom Image Composer
  2. Setting up the XML and file structure within a Document Library

Using the Deep Zoom Composer

: This was originally created as part of the Microsoft Expression Suite but was offered for free rather than being part of the (at the time) paid offering. Installing it is straight forward enough and exporting the image is a three step process. You’ll just have to remember to output the files as Seadragon Ajax.

Linking it all to the web part

: The web part works by communicating with the XML file that is output from the Deep Zoom Viewer. This will involve renaming the output XML file and the image directory so that they have the same name. Not a technically challenging step but an easy one to overlook.

This is a project that I liked reviewing and it’s one that I’ll definitely get some use out of in various SharePoint projects. Seadragon is a technology that, when bolted in SharePoint is surprisingly industry agnostic. It’ll have a use anywhere that a high resolution image can serve a purpose. Being able to surface this within SharePoint sites seamlessly

The links below are my reference list: –

  1. CodePlex Seadragon Viewer Web Part
  2. Nik’s Blog Entry on the SeaDragon WebPart
  3. Expression Gallery SeaDragon Ajax
  4. SharePoint 2013 Architecture diagrams
  5. Deep Zoom Silverlight Developer Info
  6. MSDN Blog: Deep Zoom Primer (Jamie Rodriquez)
  7. Download link to the Deep Zoom Composer

SharePoint 2007: Title, Description & Properties page inaccessible even with full permissions

A recent job change has taken me back to playing with SharePoint 2007. Whilst it took some getting used too, I’ve quickly gotten back into the swing of things. Until something peculiar happened.

Even with full permissions I wasn’t able to access the Title, Description, and Properties page. I had full site collection rights and everything looked like it was in place. I was stumped.

I tried direct linking it via its layouts page (_layouts/prjsetng.aspx) and it worked. The page let me straight in.

After a little poking about, it seems that a previous SharePoint CU applied to the farm had the side effect of disabling access to this page via the Admin GUI in Site Settings. I’ve yet to ascertain which one it was but I’ll be sure to post an update if I find out which one it was.

So, lesson for today. Even if SharePoint says NO, try direct linking via the _layouts page if you think you should have access to something. It may just work.