SharePoint ClientSide Extensions

16 12 2008

I had a bright idea for a fairly simple SharePoint feature a few months ago when one of my students showed me the extensive work they had done using JavaScript via the Content Editor Web Part.

My idea was to allow for a simple way to "get JavaScript frameworks on the page".  This would allow non-technical users to simply copy and paste various little JavaScript widgits from around the web and place them on their SharePoint page.

I began working on the feature slowly, mostly during commercial breaks and other short bursts of free time. I finished the simple idea rather quickly - but then I let the scope creep monster attack.  I kept adding more and more features UNTIL…

Recently when other blogger’s implemented very similar ideas. Most notably:

So I decided to stop making small tweaks and additions and get this code out into the wild, it obviously has a need.

With that said, I’d like to introduce you to the

SharePoint ClientSide Extensions

SharePoint ClientSide Extensions is a simple SP solution. Once you add the solution, a site feature is provisioned which, when activated, gives you this screen in the Look and Feel column of the site administrator:

settings

You can add any of the above JavaScript libraries to your site, and then, via JavaScript in a Content Editor Web Part, access them.  This gives users instant access to the various widgits and UI components that these libraries provide.

For times sake I haven’t whipped up an example of how you might use this, but I will post that soon. Until then feel free to grab the WSP and play around with it.

I also want to point out that Jan and Gunnar have done a great job and I wanted to acknowledge their work.





Silk Icons - Contrib

6 10 2008

 

Many great open source projects have corresponding “contrib” projects where people contribute additional functionality, plugins, addons, etc.

For example, I like to use nAnt for my build scripts. I often import additional tasks from the nAnt Contrib project such as their svn and sql tags.  Microsoft’s Enterprise Library also has a great contrib project which adds additional support for MySql, SqLite and Post#.

One library I find myself using most often is a library of free icons by Mark James called Silk.  The set includes 1,000 16×16 icons.  I’m sure you’ve seen them in the wild before.

Mark has an additional, matching icon set of flags from nations around the world.

Even though Mark has provided well over 1,000 icons, I still find myself needing additional icons from time to time.  Mind you, I am not a designer, so many of my attempts to create matching icons end up with me yelling at Photoshop.  That’s when I had a thought: the world needs a Silk Contrib!

A little goggling revealed that I’m not the only one who thinks so.  DamienG has “contributed” an additional 460+ icons to the set. While I don’t have the same artistic abilities as Damien, I have out some decent icons:

  • Certificate: certificate
  • Add Certificate: certificate_add
  • Traffic Light: traffic_light

I figure that everyone must have two or three “silk” icons that they have had to create for some project.  If this is you, then CONTRIB!  Post them up on the web and leave a comment here to we can start pooling these icons together.  Hopefully we can double the size of this icon set collectively.  If you are in need of a particular icon (IE - I could use a hard hat icon.) leave a comment as well - perhaps some designers out there would be willing to help.





FireFox, meet MSDN

11 06 2008

I find myself using FireFox all the time.  I never thought I’d leave IE, but since I develop web applications almost all day long, FireFox’s extensions are invaluable to me.

IE does have a few extensions, but they come nowhere close to FireBug

Anyway’s, since I’m in FireFox, doing web development, I would like to look up web development documentation right in FireFox.

This led me to create my first browser extension - the MSDN Search plugin for FireFox! 

msdnFirefox

It works exactly how you’d think it would.  It is almost always faster than opening up the .Net or WSS SDK documentation as well.  Please give it a try and let me know what you think.

To use it simply extract msdn.zip and place the two files in your searchplugins folder, usually located at: C:\Program Files\Mozilla Firefox\searchplugins

Once you restart FireFox, MSDN should be available from your search box. 

For those of you who don’t find yourself using the search box that often, here are a few tips to get you up to speed:

  • Ctrl + E selects the search box
  • Ctrl +Up or Ctrl + Down cycles through all your installed search engines
  • Alt + Enter will open up the search results within a new tab

Leave feedback in the comments!

Download MSDN.zip





Giving Back

19 02 2008

This year one of my new years resolutions was to give something back to the development community.  I plan on releasing more code samples and open sourcing any useful utilities that I write.  I also plan to try to contribute to some of the great open source libraries out there that I find myself using everyday.

Well an opportunity quickly arose the first week of the year when I found a small bug in the Quartz.net code base. 

For those of you who have not taken a look at Quartz.net - I highly recommend you do so!  Marko Lahma has done a great job of porting this Java scheduling engine.  It’s highly flexible and reliable, and even though the “1.0″ release hasn’t come out yet, it really is production quality.TortoiseSVN's righ click context menu

I’m actually quite surprised that this functionality isn’t baked-in to the framework.  It seems to be highly necessary for a large number of applications.  So necessary in fact that SQL Server has a scheduler built into it, as does SharePoint and Windows too!  I’d like to see a standard implementation of this functionality - just like we have a standard implementation of workflow.

Anyway’s, once I found the bug I fixed it locally and used TortoiseSVN’s “Create patch”  command to generate a patch.  I attached that patch to a bug report I filed on the Quartz.net website on January 7th.  Marko applied the patch to the trunk by day’s end.  It was quite a simple process.

Then on January 20th Quartz.net 0.9.1 was released.  In the release notes there was mention that BUG # 84 - my bug - had been fixed. 

That did it!  I’ve officially contributed code to an open source project, it was accepted and released and is out there to download.  Once you get involved in an open source project you really understand the amazing fortune we have to have access to such great software!

I recommend everyone commit something - even something small.  This must be the feeling Earl has when he crosses something off his list