public static Dictionary <String, String> GetProvisioningTemplateParameters(String siteUrl, String folder, String fileName)
 {
     using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
     {
         ProvisioningTemplate template = GetProvisioningTemplate(context, siteUrl, folder, fileName);
         return(template.Parameters);
     }
 }
Exemple #2
0
        public static ClientContext GetAppOnlyTenantLevelClientContext()
        {
            Uri infrastructureSiteUri = new Uri(PnPPartnerPackSettings.InfrastructureSiteUrl);
            Uri tenantAdminUri        = new Uri(infrastructureSiteUri.Scheme + "://" +
                                                infrastructureSiteUri.Host.Replace(".sharepoint.com", "-admin.sharepoint.com"));

            return(PnPPartnerPackContextProvider.GetAppOnlyClientContext(tenantAdminUri.ToString()));
        }
Exemple #3
0
 public static Boolean IsPartnerPackOverridesEnabledOnSite(String siteUrl)
 {
     using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
     {
         String enabledString = context.Site.RootWeb.GetPropertyBagValueString(
             PnPPartnerPackConstants.PnPPartnerPackOverridesPropertyBag, "false");
         return(Boolean.Parse(enabledString));
     }
 }
Exemple #4
0
 public static void SetPropertyBagValueToInfrastructure(String propertyKey, String value)
 {
     using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(
                PnPPartnerPackSettings.InfrastructureSiteUrl))
     {
         var web = context.Web;
         web.SetPropertyBagValue(propertyKey, value);
     }
 }
Exemple #5
0
 public static void EnableResponsiveDesignOnSite(String siteUrl)
 {
     using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
     {
         ApplyProvisioningTemplateToSite(context,
                                         PnPPartnerPackSettings.InfrastructureSiteUrl,
                                         "Responsive",
                                         "SPO-Responsive.xml");
     }
 }
Exemple #6
0
        public static String GetPropertyBagValueFromInfrastructure(String propertyKey)
        {
            using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(
                       PnPPartnerPackSettings.InfrastructureSiteUrl))
            {
                var web    = context.Web;
                var result = web.GetPropertyBagValueString(propertyKey, null);

                return(result);
            }
        }
Exemple #7
0
        public static void EnablePartnerPackOnSite(String siteUrl)
        {
            using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
            {
                ApplyProvisioningTemplateToSite(context,
                                                PnPPartnerPackSettings.InfrastructureSiteUrl,
                                                "Overrides",
                                                "PnP-Partner-Pack-Overrides.xml");

                // Turn ON the customization flag
                context.Site.RootWeb.SetPropertyBagValue(
                    PnPPartnerPackConstants.PnPPartnerPackOverridesPropertyBag, "true");
            }
        }
Exemple #8
0
        public static void DisablePartnerPackOnSite(String siteUrl)
        {
            using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
            {
                // Remove the JavaScript injection overrides
                if (context.Site.ExistsJsLink(PnPPartnerPackConstants.PnPInjectedScriptName))
                {
                    context.Site.DeleteJsLink(PnPPartnerPackConstants.PnPInjectedScriptName);
                }

                // Turn OFF the customization flag
                context.Site.RootWeb.SetPropertyBagValue(
                    PnPPartnerPackConstants.PnPPartnerPackOverridesPropertyBag, "false");
            }
        }
Exemple #9
0
        public static SiteCollectionSettings GetSiteCollectionSettings(String siteCollectionUri)
        {
            SiteCollectionSettings result = new SiteCollectionSettings();

            using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteCollectionUri))
            {
                Web web = context.Web;
                context.Load(web, w => w.Title, w => w.Url);
                context.ExecuteQuery();

                result.Title = web.Title;
                result.Url   = web.Url;
                result.PnPPartnerPackEnabled = PnPPartnerPackUtilities.IsPartnerPackOverridesEnabledOnSite(siteCollectionUri);
            }

            return(result);
        }
Exemple #10
0
        public static void EnableResponsiveDesignOnSite(String siteUrl)
        {
            using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
            {
                Web  web  = context.Web;
                Site site = context.Site;

                if (web.IsSubSite())
                {
                    web.EnableResponsiveUI(PnPPartnerPackSettings.InfrastructureSiteUrl);
                }
                else
                {
                    site.EnableResponsiveUI(PnPPartnerPackSettings.InfrastructureSiteUrl);
                }
            }
        }
Exemple #11
0
        public static void EnablePartnerPackInfrastructureOnSite(String siteUrl)
        {
            siteUrl = PnPPartnerPackUtilities.GetSiteCollectionRootUrl(siteUrl);

            using (var context = PnPPartnerPackContextProvider.GetAppOnlyClientContext(siteUrl))
            {
                try
                {
                    // Try to reference the target library
                    List templatesLibrary = context.Web.Lists.GetByTitle(
                        PnPPartnerPackConstants.PnPProvisioningTemplates);
                    context.Load(templatesLibrary);
                    context.ExecuteQuery();
                }
                catch (ServerException)
                {
                    ApplyProvisioningTemplateToSite(context,
                                                    PnPPartnerPackSettings.InfrastructureSiteUrl,
                                                    "Infrastructure",
                                                    "PnP-Partner-Pack-Infrastructure-Templates.xml");
                }
            }
        }