Как стать автором
Обновить

Компания Docsvision временно не ведёт блог на Хабре

Сначала показывать

Применение ЭП в электронном документообороте: что уже можно, а что пока не определено законом?

Блог компании Docsvision ECM/СЭД *Исследования и прогнозы в IT *

Электронный документооборот становится не только выгодным, но и безопасным с точки зрения рисков судебных споров. Компании могут обмениваться электронными документами с контрагентами и даже сотрудниками. Что уже легально в части работы с электронной подписью (ЭП), а что пока не определено – рассказываем в этой статье.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.7K
Комментарии 9

Переезд хуже пожара, но не всегда. Опыт миграции портала технической поддержки с Zendesk

Блог компании Docsvision Service Desk *Управление продуктом *Processing *

Весной портал технической поддержки «ДоксВижн» экстренно переехал с Zendesk на платформу ITSM 365 — всего за 3 недели. Говорят, переезд хуже пожара. Однако весной полыхало у многих — многие ИТ-службы столкнулись с вызовом, когда требовалось быстро перевести привычные сервисы на новые платформы с сохранением бизнес-процессов и функций. В этой статье я хочу рассказать, как мы выбирали новый инструмент для реализации портала технической поддержки и быстро мигрировали.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 855
Комментарии 6

Бухгалтеры и юристы хранят документы по 50 лет – как будем организовывать для них хранение?

Блог компании Docsvision ECM/СЭД *Хранение данных *Бизнес-модели *

К нам часто обращаются специалисты из бухгалтерской или юридической службы за консультацией о том, как им уже избавиться от хранения всех документов на бумаге и вступить в мир без бумаги.

Рассказываем, какие технологии помогают решить такие задачи.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.5K
Комментарии 6

Повторное использование кода с помощью React-компонентов

Блог компании Docsvision Программирование *ReactJS *

Как часто рано или поздно при решении новой задачи приходит мысль: а нельзя ли для неё переиспользовать код из реализованной ранее аналогичной задачи? Думаю, что в такой момент нами движет что-то среднее между ленью и здравым смыслом. Ну не писать же всё с нуля? Далее появляется подлая мыслишка: а может, просто «скопипастить» и не заморачиваться?

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 1.5K
Комментарии 0

Кровь, пот и слезы: как я переделал навигацию на сайте документации и в чём профит переделки

Блог компании Docsvision Open source *Клиентская оптимизация *HTML *Подготовка технической документации *
Recovery mode

Привет! Меня зовут Владимир, но вы можете звать меня просто Иннокентий Алексеевич. Я люблю эксперименты. Сегодня я расскажу, как можно улучшить навигационное меню на сайте документации, сократить время сборки и размер сайта больше чем в два раза. В качестве примера возьму сайт документации, собранный при помощи Antora.


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


Antora — генератор статических HTML сайтов из исходных AsciiDoc файлов. Antora бесплатная и имеет открытый исходный код.


Магия

Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 1.6K
Комментарии 2

Напиши мне GraphQL сервер на C#

Блог компании Docsvision Разработка веб-сайтов *Программирование *.NET *C# *
Туториал

Как-то выдалась у меня пара выходных, и я набросал GraphQL сервер к нашей Docsvision платформе. Ниже расскажу, как все прошло.


Постер - по щучему велению

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 21K
Комментарии 12

Метапрограммирование в JavaScript

Блог компании Docsvision Разработка веб-сайтов *JavaScript *
Туториал
Метапрограммирование — вид программирования, связанный с созданием программ, которые порождают другие программы как результат своей работы, либо программ, которые меняют себя во время выполнения. (Википедия)

Говоря более простым языком, метапрограммированием в рамках JavaScript можно считать механизмы, позволяющие анализировать и менять программу в режиме реального времени в зависимости от каких-либо действий. И, скорее всего, вы так или иначе используете их при написании скриптов каждый день.

Всего голосов 41: ↑38 и ↓3 +35
Просмотры 21K
Комментарии 16

Как мы общаемся с React-компонентами при помощи декораторов в TypeScript

Блог компании Docsvision Разработка веб-сайтов *JavaScript *TypeScript *
При разработке приложений на React довольно неудобно создавать независимые друг от друга компоненты, т.к. стандартным способом для обмена данными между ними является "Lifting State Up". Этот подход постепенно загрязняет ненужными свойствами промежуточные компоненты, делая их неудобными для повторного использования.

image

Наиболее популярными средствами решения этой проблемы (и некоторых других) являются такие библиотеки как Redux и Mobx, позволяющие хранить данные в отдельном месте и передавать их компонентам напрямую. В этой статье я хочу продемонстрировать наш подход к решению данного вопроса.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 5.8K
Комментарии 3

Нативная инверсия зависимостей в TypeScript и React

Блог компании Docsvision Разработка веб-сайтов *JavaScript *TypeScript *

Когда я задумался о внедрении зависимостей в TypeScript, то первое, что мне посоветовали — inversify. Я посмотрел эту и другие библиотеки, реализующие паттерн Service Locator, и даже сделал свою собственную — typedin.


Но когда я работал над версией typedin 2.0, то в конце концов понял, что вообще никакой библиотеки не нужно. В TypeScript есть все необходимое.


Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 16K
Комментарии 32

Не вебпаком единым

Блог компании Docsvision Разработка веб-сайтов *JavaScript *HTML *

Представляем лог доклада с OrelJS о настройке удобной среды разработки с использованием SystemJS. У сборки на основе Webpack полно недостатков, в докладе представляется альтернативный подход на основе SytemJS и JSPM.


Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Просмотры 6.8K
Комментарии 22

Вжух и готово — генерируем документацию из TypeScript кода с Typedoc

Блог компании Docsvision Разработка веб-сайтов *JavaScript *Программирование *Node.JS *
Туториал

В этой статье я расскажу, как мы генерируем документацию из комментариев в коде TypeScript. В целом, все довольно просто, если требования простые. Впрочем, донастроить под себя тоже не очень трудно.


Что у нас получилось — можно посмотреть здесь.


Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 11K
Комментарии 10

Заменяй и властвуй — подход SOLID для разработки повторно используемых компонентов в вебе

Блог компании Docsvision Разработка веб-сайтов *JavaScript *HTML *ReactJS *

При разработке любого, даже простого веб-приложения возникает необходимость повторного использования кода. В разных местах сайта рано или поздно обнаруживаются схожие участки разметки и логики, которые совсем не хочется дублировать. Однако, в решении этой задачи очень легко наступить на грабли и сделать все очень плохо.


Эта статья во многом вдохновлена докладом Павла Силина на РИТ 2017, однако здесь много моего собственного опыта и размышлений. Примеры будут на React + TypeScript, однако подход не привязан к какой-либо технологии.


Читать дальше →
Всего голосов 19: ↑13 и ↓6 +7
Просмотры 17K
Комментарии 166

Как сервис push-уведомлений помог нам сделать более посещаемым портал техподдержки

Блог компании Docsvision Браузеры Тестирование веб-сервисов *
Всем привет. Инструмент push-уведомлений сегодня активно используется компаниями в разных целях — для рассылки новостей, оповещений о рекламных акциях и т.д. Мы решили использовать этот канал для коммуникации с пользователями нашего портала технической поддержки, с которыми мы общаемся в helpdesk системе. Сейчас я расскажу, как мы внедрили в тестовом режиме систему push-уведомлений для нашего портала ТП, и к чему в итоге это привело. Моя статья может быть полезна как техническим (сервисным) специалистам, так и руководителям.

Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 8.7K
Комментарии 10

Приложения в системе электронного документооборота. Часть 6: Представления

Блог компании Docsvision ECM/СЭД *
Продолжая серию статей про приложения СЭД, остановимся на таком объекте, как представления. Представления – это элемент системы, который позволяет просматривать списки документов и заданий, организованные определенным образом в контексте приложения. На мой взгляд, это наиболее специфичный объект, который возможно отличает систему электронного документооборота от других типов систем, давайте рассмотрим его подробнее.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 3.4K
Комментарии 0

Ужасный import кракен — как использовать ES6-модули и не сойти с ума

Блог компании Docsvision Разработка веб-сайтов *JavaScript *Программирование *ReactJS *

Глобальная область видимости (aka namespace в TypeScript) — уже давно не круто. Можно долго перечислять преимущества модулей (ES6 модулей, в частности), но лично для меня решающим стала возможность использовать SystemJS для динамической загрузки исходников и Rollup, для сборки бандла.


Однако, первое, с чем пришлось столкнуться при внедрении ES6-модулей- безумное количество import выражений, с безумным количеством точек внутри:


import { FieldGroup } from "../../../Common/Components/FieldGroup/FieldGroup";

Читать дальше →
Всего голосов 19: ↑17 и ↓2 +15
Просмотры 19K
Комментарии 108

«Сим-Сим, откройся!», или как открыть ссылку через RemoteApp

Блог компании Docsvision Децентрализованные сети *Системное администрирование *Серверное администрирование *
Все чаще и чаще мы стали выводить свои программы в облака. Хорошо это или плохо — рассуждать не станем, но вот о ситуации, когда необходимо состыковать локальные программы с облачными, мы сегодня с вами немного поговорим: в разрезе нашей СЭД Docsvision и установленного локально на пользовательский ПК любого почтового клиента. Представим себе задачу: открыть ссылку на «карточку» Docsvision, которая пришла по почте пользователю в почтовый клиент, установленный локально на его компьютере. Изучив вопрос, проанализировав опыт наших партнеров, мы нашли решение, которым и хотим с вами поделиться.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 6.5K
Комментарии 2

Декретный отпуск в IT, или как не потерять себя в профессии

Блог компании Docsvision
3 месяца назад я вышла из декретного отпуска и, вновь приступив к работе бизнес-аналитика, прочувствовала на себе одну прописную истину. Было бы легче возвращаться к работе, заранее продумав, как сохранить себя «в профессиональной форме» за время декрета. IT-сфера настолько изменчива, что порой не успеваешь за новыми методологиями и технологиями, даже постоянно находясь внутри процесса, а уж выпадение из него — как минимум, на год — и вовсе может сыграть злую шутку.

Не стоит думать, что вовлечение в процесс поможет быстро восстановиться. Никто вам не даст на это времени. Задачи повалятся снежным комом, их надо будет решать, совмещая работу с воспитанием ребенка (я это к тому, что вариант, «поработаю еще над этим дома» уже не сработает). Так что риски нужно оценивать и закладывать заранее.

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


Читать дальше →
Всего голосов 25: ↑21 и ↓4 +17
Просмотры 13K
Комментарии 0

Angular — настройка среды разработки и production сборки с AOT-компиляцией и tree-shaking (Gulp, Rollup, SystemJS)

Блог компании Docsvision Разработка веб-сайтов *JavaScript *Программирование *
Туториал

Одна из особенностей Angular, присущая и первой и новой версии — высокий порог вхождения. Новый Angular, помимо всего прочего, трудно даже запустить. А и запустив, легко получить 1-2 Мб скриптов и порядка нескольких сотен запросов при загрузке hello world страницы. Можно, конечно, использовать всякие стартеры, seed'ы или Angular CLI, но для использования в серъезном проекте нужно самому во всем разбираться.


В этой статье я постараюсь описать, как настроить удобную среду разработки с использованием SystemJS, и production сборку Angular приложения на основе Rollup, с выходом около 100кб скриптов и нескольких запросов при открытии страницы. Использовать будем TypeScript и SCSS.


Попробовать все в деле можно в моем angular-gulp-starter проекте.


Читать дальше →
Всего голосов 23: ↑20 и ↓3 +17
Просмотры 28K
Комментарии 32

Битва экстрасенсов в технической поддержке, или как помочь пользователю правильно проставить приоритет инцидента

Блог компании Docsvision Help Desk Software *ECM/СЭД *Service Desk *
Пользователь Василий обращается в техподдержку «Не выделяется номер при регистрации документа ошибка 1234, для исправления приходится перезапускать службу сервера приложений. Ошибка возникла 05.05 приблизительно в 15:10-15:50. Воздействие инцидента: Снижена эффективность работы пользователей».

А на самом деле Василий не сказал, что перезапуск службы сервера приложений приводит к ошибкам при обновлении пользовательских онлайн отчетов у всех работников компании. Другими словами, ни один пользователь не может посмотреть актуальные онлайн отчеты по существующим документам, что равносильно остановке документооборота в компании в принципе. Получается, Василий не дал необходимой информации для того, чтобы его обращению присвоили правильный приоритет – и это несмотря на то, что у него была такая возможность. И, если реальный приоритет ниже заявленного — это не так страшно, то в противоположном случае это может иметь опасные последствия. В связи с чем встает закономерной вопрос: как узнать, что хотел донести пользователь, но по какой-то причине застеснялся и в последний момент сообщил совсем другое?


Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 5.6K
Комментарии 19

Темная сторона TypeScript — @декораторы на примерах

Блог компании Docsvision Разработка веб-сайтов *JavaScript *Программирование *TypeScript *

Декораторы — это невероятно круто. Они позволяют описывать мета информацию прямо в объявлении класса, группируя все в одном месте и избегая дублирования. Ужасно удобно. Однажды попробовав, вы уже никогда не согласитесь писать по-старому.


Однако, несмотря на всю полезность, декораторы в TypeScript (заявлены также на стандарт) не так просты, как хотелось бы. Работа с ними требует навыков джедая, так как необходимо разбираться в объектной модели JavaScript (ну, вы поняли, о чем я), API несколько запутанный и, к тому же, еще не стабильный. В этой статье я немного расскажу об устройстве декораторов и покажу несколько конкретных приемов, как поставить эту темную силу на благо front-end разработки.


Помимо TypeScript, декораторы доступны в Babel. В этой статье рассматривается только реализация в TypeScript.


Читать дальше →
Всего голосов 60: ↑58 и ↓2 +56
Просмотры 55K
Комментарии 33