SharePoint 2013 Ribbon API. Версии 14.3 и 15.4

Очередной релиз QASPRibbon для работы с SharePoint Ribbon. Обновление касается как 14 версии для SharePoint 2010, так и 15 для SharePoint 2013.

Также впервые стала доступна урезанная версия для управления лентой в sandbox-решениях, позволяющая использовать QASPRibbon API в решениях для SharePoint Online.

Что нового

В версиях 14.3 и 15.3 изменился порядок формирования контролов и при переходе со старых версий API, придется переписать код (несущественно).

Новый элемент - секция

Для SharePoint Ribbon этот элемент не новый, в предыдущих версия QASPRibbon его поддержка не была реализована. Контролы помещались непосредственно в группу, а при формировании XML-определения для всех контролов в группе создавалась одна единственная секция.

Было примерно так:

  1. RibbonGroup group = new RibbonGroup("RibbonGroupId", "Ribbon Title")
  2. {
  3.     Alignment = RibbonGroupAlignment.Top,
  4.     Template = RibbonGroupTemplate.ThreeRows,
  5.     DisplayMode = RibbonDisplayMode.Image16AndCaption,
  6.     Controls = new RibbonControl[] {
  7.         //TODO: Define controls
  8.     }
  9. };

Теперь группа должна содержать коллекцию секций, а уже секции - контролы. Начиная с версии 14.3 и 15.3 код выше придется переписать:

  1. RibbonGroup group = new RibbonGroup("RibbonGroupId", "Ribbon Title")
  2. {
  3.     Sections = new RibbonSection[]
  4.     {
  5.         new RibbonSection("SectionId")
  6.         {
  7.             Alignment = RibbonSectionAlignment.Top,
  8.             Type = RibbonSectionType.ThreeRows,
  9.             DisplayMode = RibbonDisplayMode.Image16AndCaption,
  10.             Controls = new RibbonControl[] {
  11.                 //TODO: Define buttons
  12.             }
  13.         }
  14.     }
  15. };

Использование секций при построении кастомных вкладок рибона позволяет делать следующее:

  • Использовать разную разметку элементов в пределах одной группы;
  • Использовать разделитель между элементами группы.

SharePoint Online (Sandbox)

К двум имеющимся версиям Ribbon API (для 2010 и 2013 SharePoint) я добавил еще одну - урезанную для использования её в sandbox-решениях. Ничто теперь не мешает использовать Ribbon API при создании решений для Office 365 (SharePoint Online).

Использования Ribbon API в решениях для SharePoint Online довольно сильно ограничено. Дело в том, что для регистрации контролов на ленте необходимо "добраться" до контрола SPRibbon, что невозможно сделать в sandbox-решениях. Поэтому использовать QASPRibbon можно только в ресиверах фич для модификации существующих элементов управления (удаление/замена вкладки, группы контролов и контрола).

Ссылки

QASPRibbon API для SharePoint Online
QASPRibbon API 15.4 для SharePoint 2013
QASPRibbon API 14.3 для SharePoint 2010

Теги

Поделиться

Виталий Жуков

Виталий Жуков

Техлид, Архитектор, Разработчик, Microsoft MVP. Более 20 лет опыта в области системной интеграции и разработки программного обеспечения. Специализируюсь на проектировании и внедрении масштабируемых высокопроизводительных программных решений в различных отраслях.