Gandjustas' blog

Фильтр по тегу: typescript


Загрузка скриптов в SharePoint

В прошедшем недавно семинаре про клиентской разработке в SharePoint (записи – по ссылке) я показывал как сделать клиентский скрипт, который выполняет некоторый код после окончания загрузки страницы в SharePoint.

Эта, казалось бы, простая задача далеко не тривиально реализуется в SharePoint.

Причины

    1. SharePoint формирует интерфейс динамически. Многие блоки добавляются на страницу по событию body.onload. Это событие возникает позже, чем DOMContentLoaded. Именно это событие перехватывает jQuery.ready. Поэтому использование jQuery часто не приводит к хорошему результату. Подробнее об использовании jQuery в SharePoint.
    2. Minimal Download Strategy (MDS), появившийся в SharePoint 2013, загружает страницу один раз, потом обновляет блоки страницы, поэтому нужно выполнять дополнительные действия, чтобы скрипт выполнился после загрузки страницы под MDS.
    3. Механизм загрузки скриптов, о котором я писал ранее, требует чтобы скрипт самостоятельно оповещал об окончании выполнения.

Для скриптов в виртуальной файловой системе SharePoint

Чаще всего скрипты SharePoint деплоятся как файлы в виртуальной файловой системе. Это прекрасно работает как в on premises, так и в online.

Для размещения скриптов на странице используется контрол ScriptLink, в таком виде:

<SharePoint:ScriptLink Name="autofill.js" runat="server" OnDemand="true" LoadAfterUI="true" Localizable="false" />

или с помощью CustomAction ScriptLink в элементе решения

<CustomAction Location="ScriptLink" ScriptSrc="~site/Extension...
читать дальше...
добавлено: 26 июл 16 просмотры: 1051, комментарии: 0



7 способов улучшить поля в формах SharePoint 2013

Кастомизация форм – очень больная тема в SharePoint. InfoPath фактически умер, новые способы кастомизации появятся не раньше следующего релиза (назначенного на конец 2015 года), а для использования SPServices нужен jQuery старой версии, что само по себе несет проблемы, так еще и требует знания отображаемых имен полей, что делает решение ненадежным. Подробнее в моем курсе по клиентской разработке SharePoint.

Создавая TypeScript-определения для клиентской библиотеки SharePoint  сделал несколько примеров полей. Недавно я провел большой рефакторинг и выделил кастомные поля в отдельные, повторно используемые функции.

Все функции содержатся в файле typescripttemplaes.ts. Тем, кто не пользуется TypeScript (зря!), можно скачать .js файл в том же каталоге.

Как пользоваться typescripttemplates:

  1. Скачать файл и добавить .js в проект
  2. Сделать свой файл скрипта для полей, такого вида:
    module _ {
        function init() {
            CSR.override()
                .lookupAddNew("Master", "Add New Master item", true)
                .register();        
        }
    
        SP.SOD.executeOrDelayUntilScriptLoaded(init, "typescripttemplates.ts");
    
        SP.SOD.executeOrDelayUntilScriptLoaded(function () {
            RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~site/YOUR_SCRIPT_PATH.js"), init);
        }, "sp.js");
    } 
  3. Вписать адрес скрипта в ReplaceUrlTokens и вызовы функций между .override() и .register()
  4. В атрибут JSLink поля\формы\типа контента вписать стро...
читать дальше...
добавлено: 13 июл 16 просмотры: 887, комментарии: 0



SharePoint TypeScript теперь на github

SharePoint TypeScript - проект для описания типов TypeScript клиентской библиотеки SharePoint. Это не только JavaScript Object Model, но описания типов для Client-Side Rendering (CSR) - движка для рендеринга форм и представлений, а так всевозможных клиентских компонент.

Последние два года проект sptypescript развивался очень вяло. Я уделял ему мало времени, больше занимался бизнесом. Но на прошлой неделе мы с коллегами провели тренинг по разработке форм в SharePoint и нашли много точек роста.

Переезд на github

Проект раньше хостился на codeplex, который, к сожалению, растерял все сообщество. Даже Microsoft перевел свои разработки на github. Сообщество разработчиков на github гораздо больше. Поэтому проект переехал по адресу https://github.com/gandjustas/sptypescript

typescripttemplates.ts

Изначально это была библиотека, которая облегчает создания шаблонов для CSR. Со временем туда добавились готовые шаблоны полей, например filtered lookup, который позволяет фильтровать элементы в списке выбора lookup-поля. Библиотека обросла полезной функциональностью, которая может быть полезна при разработке собственных шаблонов.

Библиотека доступна в nuget:

PM> Install-Package typescripttemplates

Она автоматически поставит определения типов SharePoint.

Вы также можете добавить в проект определения типов отдельно, если не собираетесь кастомизировать формы и представления:

PM> Install-Package sharepoint.TypeScript.DefinitelyTyped

Поддержка современных...

читать дальше...
добавлено: 22 май 16 просмотры: 949, комментарии: 0



SharePoint TypeScript теперь на github

SharePoint TypeScript - проект для описания типов TypeScript клиентской библиотеки SharePoint. Это не только JavaScript Object Model, но описания типов для Client-Side Rendering (CSR) - движка для рендеринга форм и представлений, а так всевозможных клиентских компонент.

Последние два года проект sptypescript развивался очень вяло. Я уделял ему мало времени, больше занимался бизнесом. Но на прошлой неделе мы с коллегами провели тренинг по разработке форм в SharePoint и нашли много точек роста.

Переезд на github

Проект раньше хостился на codeplex, который, к сожалению, растерял все сообщество. Даже Microsoft перевел свои разработки на github. Сообщество разработчиков на github гораздо больше. Поэтому проект переехал по адресу https://github.com/gandjustas/sptypescript

typescripttemplates.ts

Изначально это была библиотека, которая облегчает создания шаблонов для CSR. Со временем туда добавились готовые шаблоны полей, например filtered lookup, который позволяет фильтровать элементы в списке выбора lookup-поля. Библиотека обросла полезной функциональностью, которая может быть полезна при разработке собственных шаблонов.

Библиотека доступна в nuget:

PM> Install-Package typescripttemplates

Она автоматически поставит определения типов SharePoint.

Вы также можете добавить в проект определения типов отдельно, если не собираетесь кастомизировать формы и представления:

PM> Install-Package sharepoint.TypeScript.DefinitelyTyped

Поддержка современных...

читать дальше...
добавлено: 14 окт 15 просмотры: 898, комментарии: 0



7 способов улучшить поля в формах SharePoint 2013

Кастомизация форм – очень больная тема в SharePoint. InfoPath фактически умер, новые способы кастомизации появятся не раньше следующего релиза (назначенного на конец 2015 года), а для использования SPServices нужен jQuery старой версии, что само по себе несет проблемы, так еще и требует знания отображаемых имен полей, что делает решение ненадежным. Подробнее в моем курсе по клиентской разработке SharePoint.

Создавая TypeScript-определения для клиентской библиотеки SharePoint  сделал несколько примеров полей. Недавно я провел большой рефакторинг и выделил кастомные поля в отдельные, повторно используемые функции.

Все функции содержатся в файле typescripttemplaes.ts. Тем, кто не пользуется TypeScript (зря!), можно скачать .js файл в том же каталоге.

Как пользоваться typescripttemplates:

  1. Скачать файл и добавить .js в проект
  2. Сделать свой файл скрипта для полей, такого вида:
    module _ {
        function init() {
            CSR.override()
                .lookupAddNew("Master", "Add New Master item", true)
                .register();        
        }
    
        SP.SOD.executeOrDelayUntilScriptLoaded(init, "typescripttemplates.ts");
    
        SP.SOD.executeOrDelayUntilScriptLoaded(function () {
            RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~site/YOUR_SCRIPT_PATH.js"), init);
        }, "sp.js");
    } 
  3. Вписать адрес скрипта в ReplaceUrlTokens и вызовы функций между .override() и .register()
  4. В атрибут JSLink поля\формы\типа контента вписать стро...
читать дальше...
добавлено: 21 сен 15 просмотры: 2055, комментарии: 4



Тренинг по созданию форм SharePoint

Неделю назад вышел SharePoint 2016 Preview. По сравнению с SharePoint 2013 немного изменился интерфейс и добавились опции для гибридного развертывания. Год назад Microsoft анонсировал появление новых возможностей по созданию форм, но недавно отказался от этих планов и оставил InfoPath. Поэтому только программисты будут создавать сложные формы в SharePoint, как минимум ближайшие 3-5 лет.

Создание форм в SharePoint занимает много времени. Мне известны случаи, когда на одну форму в SharePoint потратили 180 человеко-часов. InfoPath не помогает, нет руководств, примеров и документации, которые могли бы упростить процесс.

Мы с коллегами выработали подходы, которые помогают создавать сложные формы SharePoint менее чем день. Предлагаем вам посетить тренинг, где вы научитесь создавать формы за считанные дни.

Посетив тренинг вы:

  1. Узнаете как работает Client Side Rendering (CSR) для форм
  2. Научитесь заменять стандартные элементы управления на формах
  3. Научитесь управлять поведением формы - скрывать и отображать поля, подставлять значения, настраивать валидацию
  4. Узнаете как создавать формы списков с помощью AngularJS
  5. Научитесь использовать современные средства веб-разработки, такие как typescript, gulp, yeoman, для создания форм
  6. Научитесь разворачивать формы в составе пакетов решений (WSP)
  7. Узнаете как создавать master-detail формы
  8. Узнаете как глубоко кастомизировать CSR

Все знания и навыки применимы как для облачных, так и наземных версий SharePoint.

Тренинг пройдет с 28 по 30 сен...

читать дальше...
добавлено: 10 сен 15 просмотры: 938, комментарии: 0



Встреча SharePoint User Group 16 апреля 2015 года

16 апреля 2015 года состоится очередная встреча SharePoint User Group (SPUG) в Microsoft Technology Center на Белорусской.

В этот раз в программе три доклада:

Доклад "Dynamics CRM 2015: решения бизнеса" ?

Докладчик – Андрей Сартаков, эксперт по разработке и внедрению Microsoft Dynamics CRM.

В докладе будут рассмотрены:

  • Формирование интереса и квалификация в возможную сделку
  • Выбор продуктов, выбор типа враиморасчетов (предоплата, рассрочка, кредит)
  • Утверждение кредитных условий или рассрочки (роли доступа)
  • Формирование договора и графика платежей.
  • Контроль за успешным выполнением условий договора (поступление платежей вовремя)
  • Формирование отчетности по результатам (воронка продаж)?

Доклад знакомит с:

  • асинхронные бизнес-процессы на сущности (дизайнер процессов)
  • Бизнес-логика форм (ветвление действий и обязательности на форме в момент заполнения данных)
  • Вычисляемые поля и поля-свертки
  • Плагины на сущности??

 

Разработка Client Side Applications для Sharepoint 2013 с помощью AngularJs и Typescript

Докладчик - Журкин Борис, ведущий разработчик SharePoint.

Аннтоация доклада:

JSOM покрывает большинство сценариев разработки в SharePoint и позволяет создавать решения вообще без серверного кода. Но программирование на чистом Javascript после 200 -300 строк кода превращается ад. Решить эту проблему помогут TypeScript и AngularJs. В своем докладе я подробно расскажу об этом подходе к разработке клиентских приложений для SharePoint на JavaScript, и поделюсь своим опытом и...

читать дальше...
добавлено: 07 апр 15 просмотры: 708, комментарии: 0



Семинар “Создание решений SharePoint на JavaScript и TypeScript”

Microsoft постоянно развивает средства клиентской разработки в SharePoint. В предыдущей версии появилась объектная клиентская объектная модель, в текущей версии интерфейс пользователя создан с помощью JavaScript. Но многие разработчики SharePoint не используют эти возможности, создавая интерфейс "по-старинке", теряя возможность быстрой разработки, создавая некачественные решения и блокируя возможность развертывания решений в облаке.

Причины этому две - недостаток документации и использования языка JavaScript. Не секрет, что JavaScript недолюбливают многие программисты C# за динамическую типизацию и неочевидные особенности языка.

Я и сам раньше плохо относился к JavaScript и предпочитал создавать решения в серверном коде. Но недавно Microsoft выпустил типизированную версию языка JavaScript - TypeScript, который дает все преимущества компилируемого языка, сохраняя высокую скорость создания решений для SharePoint.

Теперь большую часть решений для SharePoint я создаю с использованием языка TypeScript. Для облегчения этого процесса были созданы определения типов для наиболее часто используемых клиентских библиотек SharePoint.

Я решил поделиться с вами накопленным опытом разработки с использованием TypeScript и JavaScript для SharePoint.

17 июля 2014 года пройдет семинар, посетив который вы научитесь:

  • Создавать и разворачивать приложения с клиентскими скриптами.
  • Применять популярные клиентские библиотеки jQuery и AngularJS в решениях для SharePoint.
  • Использовать клиентскую объе...
читать дальше...
добавлено: 13 июл 14 просмотры: 1273, комментарии: 0



Автокомплит в SharePoint 2013: пошаговое руководство

Данный функционал был найден Антоном Вишняковым и описан в посте в его блоге. Большая часть контента данного поста взята из его блога с его разрешения.

Вы уже видели новый элемент управления для выбора людей в SharePoint 2013? Этот элемент управления был сильно улучшен по сравнению с предыдущей версией SharePoint. Теперь этот элемент можно использовать в клиентском коде и спокойно внедрять на своих страницах. Кроме того появился отличный функционал автозаполнения.

070713_0434_LeveragingS1[1]

Замечательная новость: вы можете использовать функционал автозаполнения с любым текстовым полем. Эту функцию реализует контрол  SPClientAutoFill. Он находится в файле autofill.js в _layouts/15. Давайте посмотрим как сделать решение с его помощью.

Шаг первый: разметка и стили

Для того чтобы использовать SPClientAutoFill вам потребуется следующая разметка:

<div style='position: relative;'>
    <input type='text' id='autofillElement' />
    <div class='sp-peoplepicker-autoFillContainer' 
            id='autofillContainer' />
</div>

Обязательно position:relative для внешнего элемента, иначе будут проблемы с позиционированием подсказок.

Второй шаг: подключение библиотеки

По-умолчанию autofill.js не зарегистрирован как Script On Demand. Зарегистрировать скрипт можно тремя способами:

  • Вызовом функции SP.SOD.registerSod в JavaScript
  • Серверным контролом <SharePoint:ScriptLink /> на странице
  • В свойстве JSLink

Внимание. Не рекомендуется добавление непосредственно тега scr...

читать дальше...
добавлено: 01 янв 14 просмотры: 1336, комментарии: 0



SPTypeScript Release 1.3

TypeScript неумолимо приближается к релизу, недавно вышла версия 0.9.5.

Вместе с этим мы продолжаем развивать наши определения типов JavaScript Object Model в SharePoint, чтобы вам было комфортно писать клиентский код для решений и приложений SharePoint.

На сайте проекта http://sptypescript.codeplex.com/ опубликован новый релиз, в который вошли:

  • Определения для Chrome Control для apps.
  • Определения для SPClientPeoplePicker для создания кастомных форм с контролом выбора людей.
  • Полные определения типов для пространств имен SP.Publishing и SP.DocumentManagement из файлов sp.publishing.js и sp.documentManagement.js соответственно. Они вам очень пригодятся для ECM\WCM сценариев.
  • Reputation object model – для социальных приложений.
  • Множество примеров и мелкие улучшения существующих определений.

Ссылка на релиз - http://sptypescript.codeplex.com/releases/view/115896

Также последнюю версию определений можно получить с помощью NuGet -http://www.nuget.org/packages/sharepoint.TypeScript.DefinitelyTyped/

Как использовать TypeScript для приложений SharePoint

Для начала установите последнюю версию TypeScript (0.9.5).

Создаете новый App для SharePoint в VisualStudio 2013

image

Теперь самое неприятное – надо поправить .csproj файл, чтобы включить компиляцию TypeScript. Для этого надо:

  • В контекстном меню проекта нажать Unload Project
  • На выгруженном проекте нажать Edit
  • В самом конце, перед закрывающим тегом Project надо добавить одну строчку:

    <Import Project="$(MSBuildExtensionsPath...

читать дальше...
добавлено: 14 дек 13 просмотры: 936, комментарии: 0