среда, 31 июля 2019 г.

Install App CSOM

Для автоматизации развертывания приложений в SharePoint, мы можем использовать Application Lifecycle Management (ALM) APIs

PnP Core предоставляет доступ к модели.
пример extension для ClientContext:

public static void AppInstall(this ClientContext clientContext, string appName)
{
var appManager = new AppManager(clientContext);
var availableApps = appManager.GetAvailable();
var app = apps.FirstOrDefault(a => a.Title == appName);
        if(app==null) return;
appManager.Install(app);
}

Так же можно использовать асинхронную установку

var installApp = await appManager.InstallAsync(app);

Отключить PowerApps и Flow

До сих пор, у заказчиков возникает вопрос, зачем на CommandBar'e для обычных пользователей доступны actions - PowerApps и Flow, если им просто необходимо работать с контентом?!



Для того, чтобы их отключить с помощью csom, мы можем изменить следующее свойства:

clientContext.Site.DisableAppViews = true;
clientContext.Site.DisableFlows = true;
clientContext.ExecuteQuery();

Вариант с помощью PowerShell
И так же, вариант PnP PowerShell