Делаем WebTutor более дружественным для разработчиков
WebTutor - открытая платформа для автоматизации HR-процессов.
Открытость платформы означает:
- Код бизнес-логики системы открыт
- Можно создавать свой собственный код
- Можно заменять/дополнять/расширять бизнес-логику системы
В WebTutor можно создавать свои инструменты автоматизации HR-процессов, оставаясь в рамках «коробочного» продукта и не теряя возможности обновлять версии и получать техническую поддержку вендора.
В системе можно дорабатывать и разрабатывать "с нуля":
- Шаблоны (интерфейсы) HR-портала
- Библиотеки скриптов
- Настройки маршрутов согласований (Workflows)
- Автоматизированные процессы
- Аналитические отчёты
- ...
Чтобы эти доработки были возможны, в платформу встроены инструменты разработки. С их помощью разработчики могут создавать новые объекты и интегрировать их в существующие процессы.
Но, до последнего времени, эти инструменты были не особенно удобны разработчикам по двум основным причинам:
- интерфейс - создавать объекты (шаблоны, процедуры, ...) и их код нужно было в приложении WebTutor Administrator. А это возможно, не самое удобное приложение для разработчиков
- язык разработки - создавать инструменты автоматизации нужно было на уникальной для WebTutor версии серверного JavaScript-подобного языка. Несмотря на документацию и многочисленные примеры кода, для программистов, только начинающих работать с WebTutor изучение нового языка и методологии разработки могло вызывать сложности
Проблемы требовали решения и мы сделали 2 важных изменения, о которых сейчас расскажем:
- Мы интегрировали WebTutor с удобной, современной и бесплатной средой разработки (IDE) Visual Studio Code (VSCode) от компании Microsoft
- Мы поддержали возможность вести разработку в WebTutor на языке C# (в дополнение к традиционному Server-Side JS)
Интеграция с VSCode
Теперь любой разработчик на платформе WebTutor устанавливает себе бесплатную IDE VSCode и добавляет в нее официальное расширение (плагин) для работы с WebTutor. Такая возможность появилась в релизе 1 квартала 2020 года. Сейчас этот плагин доступен для скачивания на портале для клиентов Websoft, но в ближайшее время он появится в официальном реестре Visual Studio Code Marketplace.
После этого всю разработку программного кода WebTutor можно вести непосредственно из IDE. Поддерживается 2 режима работы (определяются настройками WebTutor) - режим полного доступа и проектный режим.
В режиме полного доступа, разработчику доступны для редактирования все объекты кода системы. Этот режим будет удобен в случае если разработчик работает один или команда маленькая (2-3 человека максимум).
Работаем с процедурой (агентом) на Server-Side JS в интерфейсе VSCode
В проектном режиме в интерфейсе администратора WebTutor создаются приложения (проекты). Разработчикам предоставляются права на эти проекты. В таком случае, разработчик в VSCode видит только свои проекты и программный код этих проектов. Такой режим подойдет для работы больших команд разработчиков.
Использование VSCode позволяет автоматически интегрировать WebTutor с репозиториями кода в Git, управлять версиями кода и быстро создавать пакеты (дистрибутивы). Таким образом, разработчики, настраивающие автоматизированные процессы в своем экземпляре WebTutor могут простым образом собрать пакет доработок и перенести его в другой (рабочий) экземпляр.
Разработка на C#
В релизах WebTutor, начиная с 2019 года, реализована поддержка кросс-платформенной технологии .Net Core, что позволило обеспечить полноценную работу системы на любых современных ОС, как семейства Windows так и Linux.
Поддержка этой технологии, также позволила расширить перечень инструментов разработки в WebTutor. Теперь, разрабатывать код в системе можно как на традиционной Server-Side Java Script, так и на языке C# (начиная с версии 1 квартала 2020 года).
Запускаем Hello World на C# в WebTutor
Использование этого языка разработки существенно упрощает задачу привлечения разработчиков для настроек и доработок WebTutor. Разработчикам не придется изучать уникальную версию серверного JS системы. C#, безусловно, более популярен, лучше документирован и имеет продвинутые инструменты отладки.
Планы развития
То, что уже сделано лишь первый шаг, для того, чтобы сделать платформу WebTutor более удобной и интересной для разработчиков. До конца 2020 мы планируем полностью переработать бизнес-логику системы (упростить и расширить ее), описать и документировать все библиотеки и методы.
К любой функции системы можно будет получить доступ через REST API, код на Server-Side JS, а также код на C#.
Мы завершаем разработку нового редактора интерфейсов (большая часть функционала войдет в релиз 2 квартала 2020 года) с помощью которого появится возможность без навыков программирования произвольным образом конструировать дизайн HR-портала и мобильного приложения WebTutor, используя элементы бизнес-логики и библиотеки, разработанные с помощью новых инструментов разработки.
Мы планируем расширять и улучшать документацию для разработчиков. Уже сейчас мы открыли доступ к базе знаний по разработке на платформе WebTutor (http://dev.webtutor.ru/) все желающим, а не только тем, кто имеет доступ на портал для клиентов.
Любой разработчик может воспользоваться демо-версией WebTutor и начать собственную разработку с помощью новых инструментов прямо сейчас.