I live by a mantra of "No Assembly required" when it comes to managing my own SharePoint site. I don't want to have to bug my hoster, and go through the "customization" and "development" supportability battle and I know the ease of upgrade for a no assembly required web part or gadget.
This Band "No Assembly Required" has the right idea:
Essentially what I mean is client side or remote execution that then simply renders everything I need with no DLL, and even no features to deploy. No Server Code.
Webpart = Widget = Gadget = Portlet
Web Part—A Web Part is the reusable widget that the user can drop on to the surface of a Web page, customize it, and define communication with [other webparts or external sources.] (Summarized from
Code Mag ASP.NET Explore Web Parts from our own Sahil Malik 12/2006)
If you've been watching my page layout you'd see I've been going a bit overboard on little widgets and web parts from various places.
The thing you need to understand is everything you see on my blog from facebook badge, to youtube videos, twitter feeds, recent posts, search results, amazon widgets, and google ads... all simply sitting in content editor web parts.
Looking for client side web parts?? -- Yeah what you see in almost all free widgets on the internet are simple DHTML/Javascript and HTML that's rendered client side.
One of my new favorite places to look for webparts/widgets is
Widget Box. They have litterally thousands of widgets that can easily be added to your SharePoint site in a simple content editor web part. Any heavy lifting is actually done on their side or on the client, and you have essentially nearly a footprint server impact, while keeping a zero admin. You can deploy these various very cool widgets as webparts on your site. Here's an example of one I just made on widget box where I added my RSS feed and adjusted a few fields... No Coding.
It spit out this when I click "Get widget" and choose javascript (Not Flash Default) I get this:
When I throw this in a content editor web part it looks like this (You should give the web part a title or in "Appearance "set the "Chrome Type" to None):
You Can Get this widget with my mug
or without
You can easily change colors to fit your theme and width and have it on your site within seconds (definitely less than a minute).
While you're at widgetbox you should search for SharePoint, you can see that SharePoint Buzz and SharePoint Mag have each gotten some buzz from here, and Mike Gannotti has even added his RSS...
The reason you should be excited about these concepts... imagine pushing your developers to think like this. If your developers can produce web parts that require no assembly your upgrade will be TONS simpler, your management will be zero admin for these types, and it either displays or it doesn't. It's all about the javascript include which can be managed elsewhere. It's a slick concept, but it may take additional web infrastructure or a separate web app. I do see a bunch of .NET people who may really be into this. They can manage all their fancy gadget design on their .NET systems and SharePoint is the UI... Now that's what it's best at anyway. The load is the client and the remote server doing the execution. Even building your own internal widgetbox concept for hosting various reusable content is a brilliant idea giving your developers a box to do fancy things in without the reliability risk. Just a consideration the next time you decide to do some serious work which is a simple display in a web part.
Of course there are plenty of reasons to build features and solutions, but I really want to make you think about a zero footprint plus assembliless development scenario for your super scale hosted environments. Since this is an infrastructure/architectural consideration it's definitely something to think about to think... OUTSIDE THE BOX!
I love social networking, through twitter I came across this post thanks to a blog tweet from @zevenseas. Awesome resource that will help your developers not only think more about assebliless coding practices, but actually interacting with the
SharePoint API with Javascript.
Check out these posts: