Trentacular SharePoint 2007 Features consists of various solutions I think you may find useful. I am starting this project off with an ASP.Net 3.5 Upgrade feature that sure beats the socks off of any others I have seen published to date.
smartexecjobdefs stsadm command
An stsadm command that kicks of one-time scheduled jobs and monitors for their completion before returning control
smartsolutionupgrade stsadm command
An stsadm command that performs Solution upgrades in a smart
stsadm -o smartsolutionupgrade [ -filename
<Solution filename> ] [ -filenamelist
<Path to text file containing each of the solution filenames on separate lines> ]
- Accepts as input either a single Solution filename or a filename of a text file containing a list of Solutions to be upgraded
- Extracts and parses the Solution manifest file from each existing Solution to be upgraded in order to determine the Features that will be affected by the upgrade
- Inventories the deployment states of the existing Solutions
- Inventories the activation states of the affected Features at all scopes within the SharePoint Farm
- Deactivates all affected Features
- Retracts each of the existing Solutions and deletes them from the Solution store
- Adds the updated Solution to the Solution store
- Deploys each of the upgraded Solutions according to their previous deployment state
- Activates all affected Features according to their previous activation state
for additional discussion on this command.
Enhanced List View Web Part Feature (Beta)
The intention of this Web Part is to be a better substitute for the out of the box List View Web Part that is capable of toggling views in place (without leaving the web part page) and displaying lists located in different sites of the same farm. This has proved
to be a very difficult undertaking, and I would love for any assistance or ideas with how to go about accomplishing this.
Here is where I've currently landed in the Web Part's development:
- I am accessing the SPLimitedWebPartManager at the selected view's url to load the SharePoint List View Web Part that was provisioned for the view when created
- I then use reflection to invoke the private RenderView method of the Web Part
Yes, this sounds extremely hacky, and it is. Using the avaliable SharePoint ListView control didn't play nice with many custom views (especially when the list used managed content types). I've also tried the SPView.RenderAsHtml method, but this also
presented problems. Another possible option would be to use the ListViewByQuery WebControl, but this would require an intense amount of code to duplicate the sorting and filtering that is available through the ListView control. So if you think this Web Part
would be useful and would like to contribute to furthering it along, please get in touch.
ASP.Net 3.5 Upgrade Feature
Adds ASP.Net 3.5 entries to the web.config. This feature works for both WSS and MOSS and also supports clean deactivation. For the web configuration modification savvy folks ... deactivation is performed by iterating through the SPWebConfigModification collection
and removing modifications by owner instead of recreating the modifications. All modifications are done through a utility class called
which can be taken advantage of alone if you are writing your own modifications.
Central Administration Extensions Feature
Deploys custom actions and pages to the Central Administration site. Currently it contains just a single custom action and page for managing Farm properties. This has proved useful for us as a means to centralize configuration that is applicable across our
entire SharePoint Farm. If you are a seasoned ASP.Net developer, you may also find the included
Delegate Data Source
useful. It essentially exposes the 4 main data source methods (select, insert, update, and delete) as events that can be handled directly in your code behind.
Site Settings Custom Actions Feature
Adds custom actions to the the site settings page. Currently this feature adds just a single custom action and page for exposing and managing Web (Site) properties with the same UI as the Farm Properties editor.