Розробка і адміністрування sharepoint питання-відповідь

1. Як у будь-існуючий список додати (зареєструвати) форму без SharePoint Designer і створення фичи в Visual Studio. Похідна завдання: в декількох списках використовувати одну форму, яка фізично знаходиться в одному місці.

а) Беремо готову форму (наприклад, ApplicationPage2.aspx) і необхідні бібліотеки для неї
б) Зберігаємо форму серед рішень SharePoint, наприклад в якійсь вже нами написаної фиче: TEMPLATE \ FEATURES \ blog_Feature1 \ ListDefinition1
в) додаємо в GAC бібліотеку
г) відкриваємо БД з контентом, робимо запит

SELECT * FROM [dbo]. [AllDocs] where DirName like '% Lists / [назва з URL]%'

д) Копіюємо рядок з LeafName рівній DispForm.aspx

е) Міняємо поля ID (випадково інше), LeafName (в нашому випадки ApplicationPage2.aspx), SetupPath (FEATURES \ blog_Feature1 \ ListDefinition1 \ ApplicationPage2.aspx) на нам відповідні

ж) В таблицю AllDocs додаємо відредаговані значення

2. Виконати код з привілеями адміністратора.

SPSecurity .RunWithElevatedPrivileges (delegate ()

9. Дізнатися шлях до папки, де встановлений SharePoint

SPUtility.GetGenericSetupPath (string .Empty)


10. Як встановити залежність активації рішення (або фичи) від іншого рішення (фичи).

Необхідно в відповідному маніфесті вказати ці залежності в такий спосіб


11. Як отримати інформацію про користувачів з контролера домену (AD)

У проект необхідно додати збірку System.DirectoryServices.AccountManagement

PrincipalContext ctx = new PrincipalContext (ContextType .Domain); // Якщо користувач або група знаходяться в домені

// PrincipalContext ctx = new PrincipalContext (ContextType.Machine); // Якщо користувач або група знаходяться на локальній машині

GroupPrincipal group = GroupPrincipal .FindByIdentity (ctx, "Користувачі"); // Знаходимо необхідну групу

UserPrincipal user = UserPrincipal .FindByIdentity (ctx, "motorin_vv"); // Знаходимо необхідну групу