Релиз Alvex 2014.04 Community
30 апреля 2014 года вышла новая версия Alvex 2014.04 Community.
Что нового в Alvex 2014.04 для пользователей?
Теперь можно выбирать, какие поля карточки документа вы хотите видеть в таблице (реестре), а какие - только на странице документа. Каждый пользователь может настроить внешний вид таблицы под свои пожелания на странице реестра.
Добавлены 2 новых типа реестров: реестр приказов и реестр служебных записок. В некоторые старые реестры добавлены новые поля, например, ссылки на другие документы.
Некоторые возможности реестров теперь доступны для обычных списков данных Alfresco: экспорт в XLSX, поиск, комментирование элемента списка.
Что нового в Alvex 2014.04 для разработчиков?
В Alvex 2014.04 заменён стандартный Alfresco datagrid (таблица, используемая в реестрах, списке задач и на других страницах) на улучшенную имплементацию. Старая таблица вызывала много проблем и накладывала различные ограничения. Новая таблица со стороны пользователя выглядит так же, как и старая, но теперь ее можно настраивать. Например, теперь можно создавать свои обработчики ячеек в зависимости от типа хранимых данных.
Это подразумевает то, что теперь вы можете настраивать контролы для ячеек таблицы. Мы уже используем эту возможность для обработки полей с ассоциациями с документами реестров. Нажатие на ячейку таблицы открывает страницу "View Metadata" ("Карточка документа"), а не стандартную "Document Details", как это было раньше.
Как выглядит подключение своих обработчиков к ячейкам таблицы?
<form id="datagrid"> <field-visibility> <show id="alvexdt:id" /> <show id="alvexdt:relatedDocuments" /> </field-visibility> <appearance> <field id="alvexdt:relatedDocuments"> <control template="Alvex.DatagridRecordRenderer"/> </field> </appearance> </form>
Разработчики обещали описать, что еще нового появилось в улучшенной таблице, и как с этим работать, в блоге в ближайшее время.
Еще одно обновление для разработчиков: расширение функционала менеджера прав на файлы в рамках бизнес-процессов (Alvex Permission Manager). Для чего же нужна эта часть Alvex?
Менеджер прав выдает пользователям доступ к файлами в репозитории Alfresco, если он им нужен в рамках бизнес-процесса. Например, если инициатор бизнес-процесса загрузил файл в область "Мои файлы" и прикрепил его к задаче. Исполнитель задачи должен иметь возможность получить доступ к файлу. Менеджер прав решает эту проблему, выдавая пользователю права на чтение файла.
Но иногда нужно дать пользователю еще и возможность обновить файл. Для этого в Alvex 2014.04 сделана возможность настройки менеджера прав. Теперь вы можете настроить нужные права на файл на уровне типа бизнес-процесса. Подробнее о том, как работать с этим функционалом, можно узнать в руководстве администратора Alvex.
Полный список изменений в версии 2014.04 можно посмотреть в примечаниях к выпуску.
В руководстве пользователя Alvex можно найти скриншоты и информацию об использовании последних возможностей системы.
Комментарии
07/05/2014 - 14:58
12/05/2014 - 09:48
12/05/2014 - 10:20
По кнопке "Настроить страницу" открывается окно выбора свойств, которые будут видны пользователю в таблице.
Стандартный набор свойств также, как и раньше, задается в конфиге Share. Каждый пользователь для себя может выбрать, что, например, он не хочет видеть в таблице дату регистрации документа, но хочет видеть имя исполнителя.
Если я говорю не о том, уточните, пожалуйста, что Вы имели в виду.
12/05/2014 - 11:26
12/05/2014 - 11:34
Делал все согласно вашего руководства о создании своего типа реестра.
12/05/2014 - 14:05
Можете выложить сюда ту часть XML с моделью, в которой описаны эти свойства?
И если открыть средства разработчика в браузере до загрузки страницы, в ней появляются какие-нибудт ошибки при загрузке реестра или при нажатии на кнопку настройки?
12/05/2014 - 15:22
При данной конфигурации в настройке страницы я вижу в стобцах только это:
- номер;
- дата регистрации;
- reqCounterType;
- locateCounter;
- clientInitial1;
- clientTel1;
- clientTel2;
- clientTel3;
- clientAddr;
- clientComment.
Остальное не вижу. Хотя до обновления все было видно.
Модель:
<?xml version="1.0" encoding="UTF-8"?>
<model
name="mydocs:documents_model"
xmlns="http://www.alfresco.org/model/dictionary/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 modelSchema.xsd">
<imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
<import uri="http://www.alfresco.org/model/datalist/1.0" prefix="dl"/>
<import uri="http://alvexcore.com/prefix/alvexdt" prefix="alvexdt"/>
</imports>
<namespaces>
<namespace uri="http://mycompany.org/prefix/mydocs" prefix="mydocs"/>
</namespaces>
<constraints>
<constraint name="mydocs:reqCounterType" type="LIST">
<parameter name="allowedValues">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
<value>other</value>
<value>unknown</value>
</list>
</parameter>
</constraint>
<constraint name="mydocs:reqLocateCount" type="LIST">
<parameter name="allowedValues">
<list>
<value>indoor</value>
<value>outdoor</value>
<value>unknown</value>
</list>
</parameter>
</constraint>
<constraint name="mydocs:reqStatus" type="LIST">
<parameter name="allowedValues">
<list>
<value>passedVerification</value>
<value>failedVerification</value>
<value>notProcessed</value>
<value>denialOfService</value>
</list>
</parameter>
</constraint>
</constraints>
<types>
<type name="mydocs:document_request_vum">
<title>Заявка на ПБС</title>
<parent>alvexdt:object</parent>
<associations>
<association name="mydocs:contractManager">
<title>Contract Manager</title>
<source>
<mandatory>false</mandatory>
<many>true</many>
</source>
<target>
<class>cm:person</class>
</target>
</association>
</associations>
<mandatory-aspects>
<aspect>alvexdt:identified</aspect>
<aspect>mydocs:clientInfo</aspect>
<aspect>mydocs:execRequest</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="mydocs:clientInfo">
<properties>
<property name="mydocs:clientInitial">
<type>d:text</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="mydocs:clientTel1">
<type>d:text</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="mydocs:clientTel2">
<type>d:text</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="mydocs:clientTel3">
<type>d:text</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="mydocs:clientAddr">
<type>d:text</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="mydocs:clientComment">
<type>d:mltext</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
</properties>
</aspect>
<aspect name="mydocs:execRequest">
<properties>
<property name="mydocs:counterType">
<type>d:text</type>
<default>unknown</default>
<constraints>
<constraint ref="mydocs:reqCounterType" />
</constraints>
</property>
<property name="mydocs:locateCounter">
<type>d:text</type>
<default>unknown</default>
<constraints>
<constraint ref="mydocs:reqLocateCount" />
</constraints>
</property>
<property name="mydocs:status">
<type>d:text</type>
<default>notProcessed</default>
<constraints>
<constraint ref="mydocs:reqStatus" />
</constraints>
</property>
<property name="mydocs:specialistLastname">
<type>d:text</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>both</tokenised>
</index>
</property>
<property name="mydocs:dateStart">
<type>d:date</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>false</tokenised>
</index>
</property>
<property name="mydocs:dateComplete">
<type>d:date</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>false</tokenised>
</index>
</property>
<property name="mydocs:dateGarant">
<type>d:date</type>
<index enabled="true">
<atomic>true</atomic>
<stored>true</stored>
<tokenised>false</tokenised>
</index>
</property>
</properties>
</aspect>
</aspects>
</model>
---
Конфиг:
<alfresco-config>
<config evaluator="model-type" condition="mydocs:document_request_vum">
<forms>
<form id="datagrid">
<field-visibility>
<show id="alvexdt:id" />
<show id="mydocs:clientInitial" />
<show id="mydocs:clientTel1" />
<show id="mydocs:clientAddr" />
<show id="mydocs:counterType" />
<show id="mydocs:status" />
<show id="mydocs:specialistLastname" />
<show id="mydocs:dateStart" />
<show id="mydocs:dateComplete" />
<show id="mydocs:dateGarant" />
<show id="alvexdt:files" />
</field-visibility>
</form>
<form>
<field-visibility>
<show id="alvexdt:id" />
<show id="alvexdt:registerDate" />
<show id="mydocs:clientInitial" />
<show id="mydocs:clientAddr" />
<show id="mydocs:clientTel1" />
<show id="mydocs:clientTel2" />
<show id="mydocs:clientTel3" />
<show id="mydocs:counterType" />
<show id="mydocs:locateCounter" />
<show id="mydocs:clientComment" />
</field-visibility>
<create-form template="/alvex-form.ftl" />
<appearance>
<set id="id" appearance="" label="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<set id="consumer" appearance="" label="" template="/alvex-2-column-set-wide-right.ftl"/>
<set id="consumer_tel" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="counter" appearance="" label="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<set id="comment" appearance="" label="" />
<set id="files" appearance="" label=""/>
<set id="related" appearance="" label="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field set="id" id="alvexdt:id">
<control template="/alvex-auto-numberer.ftl"/>
</field>
<field set="id" id="alvexdt:registerDate">
<control template="/alvex-autodate.ftl"/>
</field>
<field set="consumer" id="mydocs:clientInitial">
<control template="/org/alfresco/components/form/controls/textfield.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
<field set="consumer" id="mydocs:clientAddr">
<control template="/org/alfresco/components/form/controls/textfield.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
<field set="consumer_tel" id="mydocs:clientTel1" />
<field set="consumer_tel" id="mydocs:clientTel2" />
<field set="consumer_tel" id="mydocs:clientTel3" />
<field set="counter" id="mydocs:counterType" />
<field set="counter" id="mydocs:locateCounter" />
<field set="comment" id="mydocs:clientComment">
<control template="/alvex-mltext.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="node-type" condition="mydocs:document_request_vum">
<forms>
<form>
<field-visibility>
<show id="alvexdt:id" />
<show id="alvexdt:registerDate" />
<show id="mydocs:clientInitial" />
<show id="mydocs:clientAddr" />
<show id="mydocs:clientTel1" />
<show id="mydocs:clientTel2" />
<show id="mydocs:clientTel3" />
<show id="mydocs:clientComment" />
<show id="mydocs:counterType" />
<show id="mydocs:locateCounter" />
<show id="mydocs:status" />
<show id="mydocs:specialistLastname" />
<show id="mydocs:dateStart" />
<show id="mydocs:dateComplete" />
<show id="mydocs:dateGarant" />
<show id="alvexdt:location" />
<show id="alvexdt:files" />
</field-visibility>
<view-form template="/alvex-form.ftl" />
<edit-form template="/alvex-form.ftl" />
<appearance>
<set id="id" appearance="" label="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<set id="consumer" appearance="" label="" template="/alvex-2-column-set-wide-right.ftl"/>
<set id="consumer_tel" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="comment" appearance="" label="" />
<set id="counter" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="result" appearance="" label="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<set id="date" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="files" appearance="" label=""/>
<set id="related" appearance="" label="" template="/org/alfresco/components/form/2-column-set.ftl"/>
<field set="id" id="alvexdt:id">
<control template="/alvex-auto-numberer.ftl"/>
</field>
<field set="id" id="alvexdt:registerDate"/>
<field set="consumer" id="mydocs:clientInitial">
<control template="/org/alfresco/components/form/controls/textfield.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
<field set="consumer" id="mydocs:clientAddr">
<control template="/org/alfresco/components/form/controls/textfield.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
<field set="consumer_tel" id="mydocs:clientTel1" />
<field set="consumer_tel" id="mydocs:clientTel2" />
<field set="consumer_tel" id="mydocs:clientTel3" />
<field set="comment" id="mydocs:clientComment">
<control template="/alvex-mltext.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
<field set="counter" id="mydocs:counterType" />
<field set="counter" id="mydocs:locateCounter" />
<field set="counter" id="mydocs:status" />
<field set="result" id="mydocs:specialistLastname" />
<field set="date" id="mydocs:dateStart" />
<field set="date" id="mydocs:dateComplete" />
<field set="date" id="mydocs:dateGarant" />
<field set="files" id="alvexdt:files">
<control template="/alvex-uploader.ftl">
<control-param name="uploadDirectory">uploads</control-param>
<control-param name="createUploadDirectory">true</control-param>
<control-param name="viewType">mini</control-param>
</control>
</field>
<field set="related" id="alvexdt:relatedDocuments"/>
<field set="related" id="alvexdt:location">
<control>
<control-param name="style">width: 98%</control-param>
</control>
</field>
</appearance>
</form>
</forms>
</config>
</alfresco-config>
22/05/2014 - 15:46
Спасибо!
13/05/2014 - 10:44
14/05/2014 - 13:17
20/05/2014 - 10:01
20/05/2014 - 10:04
И дата регистрации постоянно меняется на текущую дату... =)