2014-08-13

Кеширование в Битриксе своих ключей в result_modifier.php и доступ к ним из component_epilog.php

Часто на проектах встречаю выключенный кеш в Битриксе. В основном, отключение производится программистом из-за непонимания правил работы кеша и нежелания разобраться.
Рассмотрим возможность добавления своих ключей в кеш стандартного компонента (в "result_modifier.php") и получение доступа к этим данным из "component_epilog.php".

2014-08-07

Разные кеши на одной странице в Битриксе

Бывают случаи, когда необходимо выводить разные данные в кешируемом компоненте на одной странице для разных пользователей. На самом деле, имею ввиду не пользователей разных групп, а просто тех, что совершили разные действия на сайте.
Отключение кеша Битрикса - в крайнем случае, надо учиться с ним правильно работать.
Также замечу, что решение подходит для тех случаев, когда функционала component_epilog.php недостаточно и добавлять параметры к адресу страницы тоже не вариант. Еще в решении этой задачи может помочь использование разных компонентов, которые выводить по условию на странице.
Рассмотрим еще одно интересное решение этой задачи. Выбор того или иного подхода нужно делать по ситуации, выбирая наиболее оптимальный в каждом конкретном случае.

2014-06-03

Распознавание и синтез речи в браузере

Современные браузеры обретают все больше каналов взаимодействия с человеком. Вкратце, рассмотрим возможность общения - распознавания и синтеза речи на примере Google Chrome. К сожалению, другие браузеры в этом вопросе пока отстают.

2014-05-15

Оптимизация чтения ресурсов MODX Revolution

Однажды передо мной встала задача по аудиту и оптимизации сайта с большим количеством страниц на MODX Revolution. Сайт периодически "падал" и анализ запросов с помощью тайминга MODX показал очень плохие результаты - в момент генерации кеша сайт выполнял порядка 900-1000 запросов к базе данных. При этом, при созданном кеше, на каждой странице продолжало выполняться порядка 100 запросов из-за использования в некоторых местах некешируемых вызовов сниппетов и чанков.

2014-02-06

Программирование в бизнес-процессах в DocsVision

Бизнес-процессы - последовательность действий направленных на достижение некоторой заданной цели. Внешне представляются в виде блок-схем.
Рассмотрим возможности программирования в бизнес-процессах в DocsVision.
Задача примерно следующая:
1) Мониторинг новых и измененных документов в состоянии "Опубликовано".
2) Выгрузка найденных документов в текстовые файлы на диск.
Суть, кратко: найти карточки по фильтру и затем что-то с ними сделать.

2014-02-05

Расширения DocsVision и объектная модель

В DocsVision есть возможность написаний расширений навигатора и серверных расширений.
Также можно написать свое независимое приложение, которое будет подключаться к базе DocsVision и работать с объектами.
Плюс мы еще можем создавать веб-скрипты ASPX (веб-версию). Они будут доступны по адресу http://DVSERVER/DocsVision/MyScript.aspx.
Аналогично пишутся скрипты в бизнес-процессах, если возможностей шлюзов (DVGate) недостаточно. Планирую рассказать поподробней про бизнес-процессы в одной из следующих статей.
Еще к возможностям расширениям я бы отнес поддержку собственных элементов управления для разметок. Эта возможность изучена мной поверхностно. Может, будет такая задача и тогда напишу в блог подробности.
Вкратце рассмотрим подробнее перечисленные выше возможности.

2014-02-04

Трансформации в DocsVision

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

2014-02-03

Атрибутивный поиск в DocsVision

Для поиска карточек в DocsVision в основном используется атрибутивный поиск.
Поисковые запросы можно создавать в конструкторе и сохранять, чтобы потом привязывать к виртуальным папкам, либо использовать в скриптах для получения списка карточек.
Конструктор поисковых запросов присутствует в Navigator и DVExplorer.
Создание запроса в конструкторе хоть и долгое и нужно пройти кучу окон, но все же более наглядное, чем разработка в коде.

2014-02-02

Работа со справочниками в DocsVision

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

2014-02-01

Объектная модель и сервисы DocsVision

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

2014-01-31

Работа с элементами управления в разметках карточек DocsVision

DocsVision

В последнее время много приходится работать с системой документооборота DocsVision. Она написана на C# и позволяет разрабатывать решения на C# и VB.NET.
В основном, решения задач приходится искать в документации, в декомпилированных кодах сборок и что-то есть на форумах. По ходу реализации проекта приходилось решать много разных задач. Решил выложить кое-какие наработки, с чем приходилось разбираться. Авось, потом еще опять сгодятся.
Работа велась с версиями DocsVision 5.0-5.2, весь код был испытан под них. Возможно, в дальнейшем обновимся еще и, надеюсь, совместимость не сломается и не придется переписывать какие-то коды.

2014-01-04

Организация медиа-архива (видео)

Задача-минимум следующая:
  1. Создать раскадровку для всех видео из указанной папки.
  2. В браузере вывести ссылки на видео и соответствующие раскадровки под ними.
Задача-максимум на будущее:
  1. Многофункциональная галерея для всех видов медиа (видео, аудио, изображения).
Начнем с простого.
Для работы с видео будем использовать мощную библиотеку libav.
Далее буду приводить выдержки из скриптов с описаниями.