Project DescriptionFind faulty FeatureDefinitions and cleanly uninstall them.
Find Feature remainders in Sites, SiteCollections, WebApps and in the Farm, from e.g. forcefully uninstalled Features from farm without deactivating them before, causing errors.
Also, de-/activate Features Farm wide.
PreconditionsYou need to be farm administrator and run the tool on a SharePoint Instance.
You need to be SiteCollection Administrator in all SiteCollections, where you want to de-/activate features. You need to be SiteCollection Admin in All SiteCollections.
If you use the "find" functionality, it will parse through the whole farm, so you need to be SiteCollection Administrator in all SiteCollections.
ScreenshotsFeature View - remove Features
Feature Definition View - activate or uninstall Features
The Problem, that triggered development of this tool:After doing Solution Package based deployment for a while, I found out, that 'stsadm -o upgradesolution' is not supported, when features are added / removed. (see article about this
http://sharepointtipoftheday.blogspot.com/2009/06/solution-feature-upgrading-and.html)
Also, I had some cases, where Features had forcefully been uninstalled from a farm without deactivating them first in all Sites / SiteCollections / WebApps or in the Farm.
All this has caused errors and left overs in the Farm, e.g. it was not possible to open the WorkFlow Overview page in several SiteCollections, because it was complaining about missing Features. Also, when doing exports, you might run in the error: FatalError: Failed to compare two elements in the array.
Roots of the Feature Admin ToolI found the Faulty Feature Tool from "Steven Van de Craen", at
http://www.moss2007.be/blogs/vandest/archive/2008/04/28/stsadm-o-export-fatalerror-failed-to-compare-two-elements-in-the-array.aspxwhich solved some of my problems. It was very basic and I needed it for a lot more.
'Features' of the Feature Admin Tool
- List Features and Feature Definitions
- Search for Faulty Features in the Farm
- Uninstall cleanly Feature Definitions, even if faulty
- can also simply activate or deactivate features in the whole farm, in only a Web Application, only within a SiteCollection or in a Site (SPWeb)
- Web Apps are parsed automatically, after selecting one, all Site Collections in the Web App are shown, within the Sites all Webs are provided automatically, after you select the parent.
- logging information is shown, what was added or removed
- Features and Feature Definitions are sorted (first after Scope and then) after Name
Most useful are two buttons:
Find Faulty Feature in FarmWith this one click, you can check, if there are any errors in any Feature Collections (Farm, WebApplication, Site or Web) in your farm. If this runs through the farm and tells you "No errors found", all your farm's feature collections are clean. (If it finds a faulty feature of scope Web or Site, you can browse in the left window to it and see the errors in the Register of the Site and Web Features (yellow).
Once, it finds a faulty feature, you can let it be deactivated in / removed from the whole farm.
UninstallFunctionality regarding Feature Definitions. Feature definitions can also cause errors in a farm.
Before you Uninstall feature definitions, you are asked, if you want to first deactivate the feature everywhere in the farm. If the Feature Definition is corrupt, and not even the Feature scope can be retrieved, logic was added that checks all FeatureCollections in the farm for this Feature, before it gets uninstalled.