Consulting
Creative
Code
Content
Collaboration
Community
Capable

Daniel | zevenseas | SharePoint Blog

   

The zevenseas Site Staple Feature Builder

May 8, 2008 - 12:25, by Daniel McPherson

I recently completed the development of a feature which is attached to site definitions via a site staple. The feature is a building block, designed to be used by other solution developers when building their own custom site definitions. Rather than continually modifying the staple in my feature (requiring my solution to be rebuilt and redeployed) I wrote a quick little tool that allows them to generate their own staple. With just a little more work I made it generic enough for anyone, and today dropped it onto Codeplex. Hope it helps.

Download the Site Staple Feature Builder


Installation
This is just a single command-line executable, so download it from here and then get started.

Usage
Base Site Staple Feature Generator
-------------------------------
Usage: zsStapleGenerator <StapleTitle> <SiteDefinitions> <FeatureGuid> <Scope> <FeatureFolder>


<StapleTitle>         Name you would like to give the new StapleFeature
<SiteDefinitions>  List of the SiteDefinition to be stapled (';' or ',' delimited)
<FeatureGuid>      The Guid of the Feature that is to be stapled
<Scope>                Either 'WebApplication' or 'Farm'
<FeatureFolder>   The New folder where you would like to create the feature.

Notes
This is obviously just producing the feature, you would next need to wrap it up into an installable solution file. I stopped here as there are many ways to do this.
After you have created the new feature you can obviously tweak it to your hearts content, the beauty is that all that typing is avoided.

0 Comments


New Build: Tagged Links - Social Bookmarking for SharePoint

May 4, 2008 - 05:43, by Daniel McPherson

Just wanted to let you know that I dropped a new build of the Tagged Links solution today:

image

Download Tagged Links

I did a walk-through here: Tagged Links Walk-through

It introduces the following fixes:

  1. Site Members can now submit links (so you don’t have to be an administrator anymore)
  2. If you type a tag in the "Fill-in Choice" that already exists in the list, the tag is now checked
  3. You can turn off the “Fill-in Choice” option, and then you can't add any more tags
  4. The views now show  “No items to display” when there are no items to display
  5. Updated the feature icon (a new list graphic is on the way)
  6. Fixed the issue with feature deactivation and then later activation
  7. Fixed some general text issues, making it easier to read, added a description and fixing spelling errors
  8. Fixed a bug with the “Global Tags” site settings link, it is now visible at the site collection only
  9. Performed code analysis to pick out some best practice improvements

Getting close now, looking to have it complete by mid-May, as always, would like to get your feedback, email me at: daniel@zevenseas.com and you can always try it out here:

Site: Tagged Links
Username: Coral\DemoUser
Password: DemoUser

1 Comments


The IgnoreIfAlreadyExists File Element Attribute

April 26, 2008 - 04:30, by Daniel McPherson

This attribute doesn't quite work the way I expected it to, or the way I have seen it described in other places on the web. (The documentation is not as clear as it should be. I really wish it did work the way described in Chris's great post!)

From the official documentation (http://msdn2.microsoft.com/en-us/library/ms459213.aspx) we find that it is designed to:

IgnoreIfAlreadyExists

Optional Boolean. TRUE to provision the view even if the file already exists at the specified URL; otherwise, FALSE.

To fully understand how this attribute worked I set up the following test:

  1. Created a Feature (ReplaceTest1) which simply provisioned a file (test.aspx) into a team sites /_catalogs/masterpage folder. The file simply contained "11111111".
  2. I then tested this and confirmed that it worked correctly, I saw "11111111" when accessing the page.
  3. I then created another feature (ReplaceTest2) based on ReplaceTest1, except with:
    1. A new FeatureID
    2. I added the IgnoreIfAlreadyExists parameter, and set it to TRUE
    3. Modified the test.aspx file to contain "22222222" instead.
  4. I then activated this feature, and in doing so found that it didn't actually replace the existing test.aspx file. In the browser I still saw "11111111". I didn't expect this.
  5. I then decided to change ReplaceTest2 so that IgnoreIfAlreadyExists was equal to FALSE
  6. I then repeated the tests and found that this time, when activating ReplaceTest2, I received an error telling me that the file already existed. I did expect this.

So, in summary, it appears this attribute actually does exactly what it says (even if it really could have said it clearer), it ignores the provisioning of the file if a file with the same name already exists. At this point I have to wonder just how useful such an attribute really is!

Anyway, I'm going to return to investigating the easiest way to replace an existing file via a feature, but if anyone out there has had a different experience then I would love to hear about it.

3 Comments


Content from Point2Share

April 20, 2008 - 07:15, by Daniel McPherson

I have had a couple of people ping me about content that was available on my old Point2Share site (especially the upgrade stuff) and I'm pleased to say that I have finally got around to going through the old blog and pulling out content that remains useful today.

Too much has changed now for me to just bring that server back online (not to mention maintenance effort) so I'm just going to republish them here, apologies for the duplication, you just never know when someone is going to find it useful via Google!

1 Comments


Tagged Links Walk-through

April 13, 2008 - 23:09, by Daniel McPherson

Last week we released "Tagged Links", a solution that brings Social Bookmarking to SharePoint (WSS/MOSS). Today I would like to take you on a walk-through of how it works and the capabilities it provides.

Download Tagged Links

First Things First

What is the one thing you should know about the "Tagged Links" solution?

Well, that it has everything the "Links List" has, but a lot more! Take a look through the walk-through below, email me at daniel@zevenseas.com for more information, or try it yourself:

Site: Tagged Links
Username: Coral\DemoUser
Password: DemoUser

The Tagged Links List

image

As you can see a "Tagged Links" list looks like any other SharePoint List, the only exception is the text appearing just above the view.

To create a browser button for quickly adding links to this list, right-click the below link, select 'Add to Favorites...' and select the 'Links' folder in your favorites:
Add link to MyDemoSite - Tagged Links

This will appear above all "Tagged Links" lists and provides you with a way to add a shortcut to your browser that quickly adds useful websites you find to the list.

This is how it works:

1) Right click on the "Add link to Tagged Links - Tagged Links" link, and select "Add to Favorites"

You may be prompted with the following:

image

If so, select "Yes" because the "Tagged Links" list is a trusted source.

2) When prompted by your browser, place the shortcut in the "Links" folder:

image

3) After clicking "Add", notice that a new button has been placed on the "Links" toolbar in your browser (if that has been turned on):

image

4) Finally, lets see what this shortcut can do for us. Browse to a page, for example my blog http://community.zevenseas.com/blogs/daniel, then, lets pretend (yes I know it is difficult) that you wanted to add my site into your tagged links list. With a standard links list you would have to copy the URL, browse to your links list, create a new item, paste in the URL and then enter a title. With a "Tagged Links" browser shortcut we do that for you!

Click on the "Add link to MyDemoSite - Tagged Links"

image

Notice that the URL and Title fields are already completed for you and that you are taken directly to the "New Item" form from the web site you were viewing when you clicked the button. All you need to do now, is tag it.

Tagging with Tagged Links

While you can tag information in SharePoint with "Choice" or "Lookup" fields, it's not quite as easy as we wanted it to be, so we have introduced a new "Tags" field. Behind the scenes it is a standard "Choice" field with a "Fillin" option, however, unlike the standard Choice field with the Fill-in enabled, when you enter a new fill-in value, it's automatically added to the list of choices in the field itself. This means that next time you save a link, that tag is already available and just a checkbox tick away.

Lets see it in action.

In this example lets say we wanted to tag my blog with our company name "zevenseas". Unfortunately this value has not yet been added to the Choice list. In a standard links list this would mean going into list settings, modifying the "Tags" field, adding the choice and then refreshing my page. With "Tagged Links" we just type it in, along with any other Tags separated by a "," or a ";".

image

Now watch what happens when I save the item, and then go back in to edit it:

image

Notice that those new tags are now Choices defined in the choice list, just to confirm lets take a look:

image

So that is a real time saver, and it means that your Tags can be kept more consistent.

Global Tags

Keeping tags as consistent as possible across your "Tagged Links" lists is going to make the information you store there easier to find. To help you do this we have introduced the concept of "Global Tags". These are a set of tags that you define at the Site Collection level, and are then available to any "Tagged Links" list, in any site, within the Site Collection.

To define these Global Tags open site settings and then click on "Global Tags" under the galleries heading:

image

This will take you to the following list, where you define Tags by simply entering them in:

image

When defined these are available via your "Tagged Links" list toward the bottom of the form:

image

Viewing your Tagged Links

Of course all this information is useless if there is not an easy way to find what you are looking for. So in addition to standard SharePoint views, we have included two specialised views, the Tag Cloud and the Tag List. These are shown below, and provide a simple way to one-click filter the information you are seeing.

image

image

This concludes the tour, I hope it has been informative, any questions please mail me at daniel@zevenseas.com and if you would like to have a play around yourself, then feel free to log on here:

Site: Tagged Links
Username: Coral\DemoUser
Password: DemoUser

Download Tagged Links

0 Comments


Introducing the "Tagged Links" Solution (beta) Social Bookmarking for SharePoint

April 10, 2008 - 06:08, by Daniel McPherson

Download Tagged Links

NEW: Tagged Links Walk-through

Inspired by the many great social bookmarking services available today, I've been working to bring their important features to SharePoint (MOSS and WSS). The results is a solution we are making available today in Beta called "Tagged Links", which really does what it says, its an enhanced links list focused around tagging, organising and sharing your favourite links.

The key features that have been added to the standard links list include the following:

Integration with the browser so that creating a new link is just a button press away. It automatically fills in the URL and Title for you.

image

Simple tagging. Tagging a link is just the click of a checkbox, while adding new tags is as simple as filling in a text box. The best bit is that new tags are added to the list for selection next time.

image

Built in Tag Cloud and Tag List views.

image

image 

Ability to define "Global Tags" which are consistent and available throughout the entire site collection.

image

So download it and have fun. Please remember that this is Beta, so expect the odd bug or two, and don't use in production for live data, there may not be an upgrade path to the final version. If you do find anything, please let us know, also keen for your feedback, so if you have any comments, please email me directly at daniel@zevenseas.com. I will follow this post up with a detailed walk-through shortly, but the install zip includes an installation readme.

Download Tagged Links

1 Comments


Want to blog about SharePoint using SharePoint?

March 19, 2008 - 05:05, by Daniel McPherson

To celebrate the release of the Community Kit for SharePoint: Enhanced Blog Edition 2.0 (CKS:EBE) zevenseas, in partnership with PixelMill, would like to offer the first 20 people to email us at openzeas@zevenseas.com a free, hosted blog, powered by the CKS:EBE.

The CKS:EBE brings the most critical features required to run a successful internet facing blog, including:

  • Modular Theme Framework ("MTF") that allows for the development of rich themes
  • Support for Akismet comment spam detection
  • Multiple categories/tags can be mapped to each blog entry/post
  • Friendly URL ("FURL") for the blog's posts
  • Friendly URL for the blog's RSS feed (and support for FeedBurner)
  • And more....

This offer came together at the recent SharePoint conference, and was the result of a discussion about the CKS kit and what it means to community building. At zevenseas we have been lucky enough to work with a number of customers on ways to engage with the people who care most about their products and services. We’ve used the CKS to build out a platform that enables them to do this effectively, on SharePoint, with blogging at its core. We hope this offer is the beginning of another small community.

PixelMill, our SharePoint Designer Partners, have worked with us on these projects and wanted to be able to demonstrate just how attractive these blogs can be. To do that they have offered, for free, a selection of their premium design themes built for CKS:EBE. These are just the first of a number of new themes they will be offering to help your blog stand out, so be sure to take a look at their gallery.

Of course, none of this would be possible without the team who put the toolkit together. A big thanks to the CKS Team below, we’re really excited about its future:

Vince Rothwell (MTF)
Nadeem Mitha (Linkbacks)
Ari Bakker (Themes)
Heather Waterman (Themes)
Yvonne Harryman (QA)
Matthew McDermott (Documentation/QA)
Shane Perran (Themes)
Gaetan Bouveret (QA)
Keith Bunge (Various)
Steven Van de Craen (Captcha)
Brent Bolleman (EBE-PM)
Lawrence Liu (CKS-PM)

0 Comments


Working with web.config changes, thanks Mark

March 16, 2008 - 08:56, by Daniel McPherson

Mark Wagner has pulled together web wide resources, and added his own insights, to a thoroughly well written piece on best practices when making changes to the web.config file. I placed a bookmark on it earlier in the week after hitting an issue where changes in some code I was reviewing did not seem to be propagated across all servers in a farm, a quick read of his post helped me identify exactly why.

SharePoint 2007 (WSS and MOSS) allows you to easily and safely add and remove modifications to the web.config file. This post briefly covers what the SPWebConfigModification class can do for you, and how to best to use it.

Thanks Mark:

How To: Modify the web.config file in SharePoint using SPWebConfigModification

0 Comments


Adding Search to the CKS:Enhanced Blog Edition (CKS:EBE)

March 14, 2008 - 09:39, by Daniel McPherson

One of the first questions I've been receiving from customers who are looking to deploy the CKS:EBE is "Where is the search box?". While there are a number of solutions to this problem, I thought it might be useful to share the approach, source and solution that I have taken.

Announcing the zevenseas CKS:EBE Search Feature.

Download

The Solution

The approach I decided to take was to create a feature composed of two core components:

  1. A new page, configured to include the core search web parts
  2. A new, more flexible search box (zsSearchBox), which can be used from any theme masterpage

Screenshots (click to enlarge)

image

image 

image

image 

Installation

  1. Download the solutions package here.
  2. Unzip the package onto a SharePoint front end server
  3. Either run the "Install.bat" file from the command-line (installs to all Web Applications) or for more control, manually install the .wsp solution files.

This will install two solutions:

a) zevenseas Community Solutions Library
This installs the files needed to access the evolving zevenseas Community Solutions library. Its a library that will grow over time to include a number of solutions for SharePoint. The first of these is the more flexible search box.

b) zevenseas CKS:EBE Search
This is the feature which, when installed, can be activated on any CKS:EBE site, to add the search functionality.

Once these solutions have been installed, you will need to add the new zsSearchBox to your theme masterpage.

Adding the zsSearchBox to your theme.master page

1) Open your theme.master page using SharePoint Designer

2) Add the following line to the registrations at the very top of the page:

<%@ Register TagPrefix="zs" Namespace="zevenseas.Community.Web.UI.WebControls" Assembly="zevenseas.Community.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=613a6064cdb9c7d1" %>

3) Find the location in the source where you would like to insert the search box and then place the following:

<zs:zsSearchBox SearchResultPageURL="/search.aspx" searchboxwidth="140" ShowAdvancedSearchLink="false" runat="server" />

The zsSearchBox

The zsSearchBox currently supports a number of parameters, for example:

SearchBoxWidth Integer in pixels.
Sets the width of the search box.
Default = 420
ShowAdvancedSearchLink true/false
Determines whether a link to "Advanced Search" is dipslayed.
Default = true
AdvancedSearchPageURL String relative URL
The URL of the Advanced Search page.
Default = "/SearchCenter/Pages/advanced.aspx"
SearchResultPageURL String relative URL
The URL of the Blog search page
Default = "/search.aspx"

Look forward to your feedback, hope you find it useful.

3 Comments


Automated CKS Theme Feature Builder for the CKS: Enhanced Blog Edition

March 10, 2008 - 12:29, by Daniel McPherson

Before I begin to describe this "Quick and Dirty" little tool I've put together, I just wanted to send a big congratulations to the entire CKS:EBE team on their 2.0 release. They have put together a fantastic solution, one that, in my opinion, adds essential extensions to the basic SharePoint Blog platform.

Download

The Solution

Over the last couple of months I have been lucky enough to work closely with Heather Waterman from PixelMill on the development of custom themes for the CKS:EBE. The development of these themes often takes place in SharePoint Designer, and when completed they are provided as a set of files in a folder structure. This is fine for a small number of blogs, where the files can be easily added via a drag and drop operation in SharePoint Designer, but for deploying to lots of blogs, this is just not feasible.

What you need to do is turn this folder structure into a SharePoint Feature. You could of course do this manually, but with potentially hundreds of files needing to be added to an ElementManifest you would only attempt this if you enjoyed typing lessons in high school and had 100% accuracy.

Screenshots

image

Transforms this:

image

To this:

image

More importantly, after installing the new feature, add the new theme to your CKS:EBE blog is as easy as clicking: Activate.

image

And then selecting your theme:

image

Installation

This is just a single, command-line executable, so download it from here and then get started.

Usage

CKS:EBE Theme Feature Generator
-------------------------------
Usage:
zsThemeFeatureGenerator <ThemeName> <NewFeatureFolder> <CurrentThemeFolder>

<ThemeName> Name you would like to give the new Theme
<NewFeatureFolder> New folder where you would like to create the feature.
<CurrentThemeFolder> Name of the folder where the current SPD created theme is located.

The existing SharePoint Designer theme should have the following folder structure:
\Theme
\Theme\Images

Notes

This is obviously just producing the feature, you would next need to wrap it up into an installable solution file. I stopped here as there are many ways to do this. My current favourite is the SmartTemplates tool, but after seeing it at the conference, I'm going to check out STSDEV.

After you have created the new feature you can obviously tweak it to your hearts content, the beauty is that all that typing is avoided.

1 Comments


 Next >>