internal static List <SPFeatureDefinition> GetAllConfigurationPackages(SPContext context) { List <SPFeatureDefinition> featureDefinitions = new List <SPFeatureDefinition>(); List <SPFeatureDefinition> allFeatures = new List <SPFeatureDefinition>(); if (SPFarm.Local.BuildVersion > new Version("14.0.0.0")) { //Load handler for sandbox solutions try { ConfigurationPackageHandler handler = GetConfigurationPackageHandlerForSandbox(); allFeatures = handler.GetConfigurationPackages(context); } catch { } } SPFeatureDefinitionCollection farmFeatures = SPFarm.Local.FeatureDefinitions; foreach (SPFeatureDefinition farmFeature in farmFeatures) { allFeatures.Add(farmFeature); } foreach (SPFeatureDefinition feature in allFeatures) { if (feature.Properties["SPSIN_ConfigPackage_Title"] != null && !string.IsNullOrEmpty(feature.Properties["SPSIN_ConfigPackage_Title"].Value)) { featureDefinitions.Add(feature); } } return(featureDefinitions); }
public static void DeactivateFeatureInWeb(string strSiteUrl, string strFeatureTitle) { using (SPSite site = new SPSite(strSiteUrl)) { System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(1033); SPFeatureDefinitionCollection featureDefinitionColl = SPFarm.Local.FeatureDefinitions; SPWebCollection webColl = site.AllWebs; foreach (SPFeatureDefinition featureDefinition in featureDefinitionColl) { if (featureDefinition.GetTitle(cultureInfo) == strFeatureTitle) { Guid guidFeatureDefinitionID = featureDefinition.Id; foreach (SPWeb web in webColl) { if (featureDefinition.Scope == SPFeatureScope.Web) { SPFeatureCollection featureColl = web.Features; featureColl.Remove(guidFeatureDefinitionID, true); } web.Dispose(); } } } } }
public SPFeatureDefinitionCollectionInstance(ObjectInstance prototype, SPFeatureDefinitionCollection featureDefinitionCollection) : this(prototype) { if (featureDefinitionCollection == null) { throw new ArgumentNullException("featureDefinitionCollection"); } m_featureDefinitionCollection = featureDefinitionCollection; }
/// <summary>forcefully removes a feature definition from the farm feature definition collection</summary> /// <param name="id">Feature Definition ID</param> public static void UninstallFeatureDefinition(Guid id, int compatibilityLevel, Forcibility forcibility) { bool force = (forcibility == Forcibility.Forcible ? true : false); SPFeatureDefinitionCollection featuredefs = SPFarm.Local.FeatureDefinitions; #if (SP2013) { featuredefs.Remove(id, compatibilityLevel, force); } #else { featuredefs.Remove(id, force); } #endif }
/// <summary> /// Maps a list of SPFeatureDefinitions To FeatureDefinitions /// </summary> /// <param name="definitions">list of SPFeatureDefinitions</param> /// <returns>list of FeatureDefinitions</returns> public static List <IFeatureDefinition> GetFeatureDefinition(SPFeatureDefinitionCollection definitions) { if (definitions == null) { throw new ArgumentNullException("Parameter definitions must not be null!"); } var fDefs = new List <IFeatureDefinition>(); foreach (SPFeatureDefinition spfd in definitions) { var fd = GetFeatureDefinition(spfd); fDefs.Add(fd); } return(fDefs); }
private Guid GetFeatureID() { System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(1033); SPFeatureDefinitionCollection featureDefinitions = SPFarm.Local.FeatureDefinitions; foreach (SPFeatureDefinition featureDefinition in featureDefinitions) { if (featureDefinition.GetTitle(cultureInfo).ToLower() == FeatureTitle.ToLower()) { if (featureDefinition.Scope == GetTargetScope()) { return(featureDefinition.Id); } } } return(Guid.Empty); }
public FeatureCollectionDefinitionNode(object spParent, SPFeatureDefinitionCollection featureDefinitions) { this.Text = SPMLocalization.GetString("FeaturesDefinitions_Text"); this.ToolTipText = SPMLocalization.GetString("FeaturesDefinitions_ToolTip"); this.Name = "FeaturesDefinitions"; this.Tag = featureDefinitions; this.SPParent = spParent; this.FeatureDefinitions = featureDefinitions; int index = Program.Window.Explorer.AddImage(this.ImageUrl()); this.ImageIndex = index; this.SelectedImageIndex = index; string path = SPMPaths.ImageDirectory; InstalledIndex = Program.Window.Explorer.AddImage(path + "ewr217s.gif"); UnInstalledIndex = Program.Window.Explorer.AddImage(path + "ewr238m.gif"); this.Nodes.Add("Dummy"); }
private XmlNode GetFarmFeatureDefinitionsNode(SPFeatureDefinitionCollection farmFeatureDefinitions, XmlNode farmFeatureDefinitionsNode) { XmlNode countAttribute = FarmXml.CreateAttribute("Count"); countAttribute.Value = farmFeatureDefinitions.Count.ToString(); farmFeatureDefinitionsNode.Attributes.SetNamedItem(countAttribute); foreach (SPFeatureDefinition featureDefinition in farmFeatureDefinitions) { XmlNode featureDefinitionNode = FarmXml.CreateElement("FeatureDefinition"); List <AttributeValuePair> featureDefAttributes = SPAttributes.GetSPFeatureDefinitionAttributes(featureDefinition); foreach (AttributeValuePair featureDefAttribute in featureDefAttributes) { featureDefinitionNode.Attributes.SetNamedItem(GetXmlAttribute(featureDefAttribute)); } farmFeatureDefinitionsNode.AppendChild(featureDefinitionNode); } return(farmFeatureDefinitionsNode); }
/// <summary>Adds feature definitions to the custom Feature class</summary> /// <param name="spFeatureDefinitions"></param> public void AddFeatures(SPFeatureDefinitionCollection spFeatureDefinitions) { this._spfeatureDefinitions = spFeatureDefinitions; foreach (SPFeatureDefinition spfeatureDef in spFeatureDefinitions) { Feature feature = new Feature(spfeatureDef.Id); try { feature.Scope = spfeatureDef.Scope; feature.Name = spfeatureDef.GetTitle(System.Threading.Thread.CurrentThread.CurrentCulture); } catch (Exception exc) { feature.AppendExceptionMsg(exc); } this._features.Add(feature); } }
/// <summary>Adds feature definitions to the custom Feature class</summary> /// <param name="spFeatureDefinitions"></param> public void AddFeatures(SPFeatureDefinitionCollection spFeatureDefinitions) { this._spfeatureDefinitions = spFeatureDefinitions; foreach (SPFeatureDefinition spfeatureDef in spFeatureDefinitions) { Feature feature = new Feature(spfeatureDef.Id); try { feature.Scope = spfeatureDef.Scope; feature.Name = spfeatureDef.GetTitle(System.Threading.Thread.CurrentThread.CurrentCulture); } catch (Exception exc) { feature.AppendExceptionMsg(exc); } this._features.Add(feature); } }
public FeatureCollectionDefinitionNode(object spParent, SPFeatureDefinitionCollection featureDefinitions) { this.Text = SPMLocalization.GetString("FeaturesDefinitions_Text"); this.ToolTipText = SPMLocalization.GetString("FeaturesDefinitions_ToolTip"); this.Name = "FeaturesDefinitions"; this.Tag = featureDefinitions; this.SPParent = spParent; this.FeatureDefinitions = featureDefinitions; int index = Program.Window.Explorer.AddImage(this.ImageUrl()); this.ImageIndex = index; this.SelectedImageIndex = index; string path = SPMPaths.ImageDirectory; InstalledIndex = Program.Window.Explorer.AddImage(path + "ewr217s.gif"); UnInstalledIndex = Program.Window.Explorer.AddImage(path + "ewr238m.gif"); this.Nodes.Add("Dummy"); }
/// <summary>forcefully removes a feature definition from the farm feature definition collection</summary> /// <param name="id">Feature Definition ID</param> public static void ForceUninstallFeatureDefinition(Guid id, int compatibilityLevel) { SPFeatureDefinitionCollection featuredefs = SPFarm.Local.FeatureDefinitions; #if (SP2013) { featuredefs.Remove(id, compatibilityLevel, true); } #elif (SP2010) { featuredefs.Remove(id, true); } #elif (SP2007) { featuredefs.Remove(id, true); } #else { throw new Exception("Unspecified SharePoint Version"); } #endif }
public static void ActivateFeatureInFarm(string strFeatureTitle) { SPFarm farm = SPFarm.Local; SPWebService webService = farm.Services.GetValue <SPWebService>(""); System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(1033); SPFeatureDefinitionCollection featureDefinitionColl = SPFarm.Local.FeatureDefinitions; foreach (SPFeatureDefinition featureDefinition in featureDefinitionColl) { if (featureDefinition.GetTitle(cultureInfo) == strFeatureTitle) { Guid guidFeatureDefinitionID = featureDefinition.Id; if (featureDefinition.Scope == SPFeatureScope.Farm) { SPFeatureCollection featureColl = webService.Features; featureColl.Add(guidFeatureDefinitionID, true); } } } }
internal static List <PackageRepository> LoadPackageRepositories(SPWeb web) { SPSite site = web.Site; List <PackageRepository> stores = new List <PackageRepository>(); SPFeatureDefinitionCollection features = SPFarm.Local.FeatureDefinitions; foreach (SPFeatureDefinition definition in features) { if (definition != null && definition.Properties["SPSIN_SINStoreRepository_Assembly"] != null && definition.Properties["SPSIN_SINStoreRepository_Class"] != null ) { bool isActive = false; switch (definition.Scope) { case SPFeatureScope.Farm: if (SPWebService.ContentService.Features[definition.Id] != null) { isActive = true; } break; case SPFeatureScope.Site: if (site.Features[definition.Id] != null) { isActive = true; } break; case SPFeatureScope.Web: if (web.Features[definition.Id] != null) { isActive = true; } break; case SPFeatureScope.WebApplication: if (site.WebApplication.Features[definition.Id] != null) { isActive = true; } break; default: break; } if (isActive) { try { string receiverAssembly = definition.Properties["SPSIN_SINStoreRepository_Assembly"].Value; string receiverClass = definition.Properties["SPSIN_SINStoreRepository_Class"].Value; Assembly assembly = Assembly.Load(receiverAssembly); PackageRepository repositoryItem = (PackageRepository)assembly.CreateInstance(receiverClass); stores.Add(repositoryItem); } catch { // Cannot load store assembly } } } } return(stores); }