Свои колонки в datagrid реестра Alvex
Добрый день!
У нас установлена alfresco-4.2.e, сверху на неё - расширение alvex community 2014.01.
Нами был определён свой аспект, содержащий необходимые нам метаданные, которые должны привязываться к контенту (набор наших свойств). Этот аспект можно применять для каждого элемента (строки) datagrid'а реестра alvex. Проблема заключается в следующем: мы хотим, чтобы в таблице datagrid реестра появились новые стоблцы с нашими атрибутами из кастомного аспекта. Кроме того, хотелось бы видеть эти новые столбцы при экспорте в excel. Возможно, кто-то уже сталкивался с подобной проблемой?
Вот наши конфиги:
1) Контекст модели tomcat/shared/classes/alfresco/extension/fileRegister-model-context.xml:
2) Модель с аспектами tomcat/shared/classes/alfresco/extension/fileRegister.xml:
3) Конфигурация share(показываем аспект и добавляем свои поля в datagrid) tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
....
Примечательно то, что если я распаковываю файлы из tomcat/webapps/share/WEB-INF/lib/alvex-documents-registers-ce-share-1.20.jar, правлю там конфиги share, потом снова запаковываю и перезапускаю alfresco, я могу скрывать некоторые колонки, но показать свои всё равно не получается. Хотелось бы найти "recommended way" для добавления столбцов в datagrid реестров alvex. В ходе работы пользовался мануалом http://www.ossportal.ru/technologies/alfresco/blogs/894#share
Заранее благодарен всем за ответы.
У нас установлена alfresco-4.2.e, сверху на неё - расширение alvex community 2014.01.
Нами был определён свой аспект, содержащий необходимые нам метаданные, которые должны привязываться к контенту (набор наших свойств). Этот аспект можно применять для каждого элемента (строки) datagrid'а реестра alvex. Проблема заключается в следующем: мы хотим, чтобы в таблице datagrid реестра появились новые стоблцы с нашими атрибутами из кастомного аспекта. Кроме того, хотелось бы видеть эти новые столбцы при экспорте в excel. Возможно, кто-то уже сталкивался с подобной проблемой?
Вот наши конфиги:
1) Контекст модели tomcat/shared/classes/alfresco/extension/fileRegister-model-context.xml:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="fileRegister.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/fileRegister.xml</value>
</list>
</property>
<property name="labels">
<list>
<value>alfresco/extension/fileRegister</value>
</list>
</property>
</bean>
</beans>
2) Модель с аспектами tomcat/shared/classes/alfresco/extension/fileRegister.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Definition of Knowledge Base Model -->
<model name="tgt:fileRegistry" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!-- Optional meta-data about the model -->
<description>TGT File Registry model</description>
<author>Stanislav </author>
<version>1.0</version>
<!-- Imports are required to allow references to definitions in other models -->
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
</imports>
<!-- Introduction of new namespaces defined by this model -->
<namespaces>
<namespace uri="http://www.alfresco.com/model/knowledgebase/1.0" prefix="tgt"/>
</namespaces>
<aspects>
<!-- Definition of new Content Aspect: Knowledge Base Document -->
<aspect name="tgt:fileRegistryClassifier">
<title>TGT file registry classifier</title>
<properties>
<property name="tgt:grandocNumber">
<type>d:text</type>
</property>
<property name="tgt:classCode">
<type>d:text</type>
</property>
<property name="tgt:location">
<type>d:text</type>
</property>
</properties>
</aspect>
</aspects>
</model>
3) Конфигурация share(показываем аспект и добавляем свои поля в datagrid) tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
....
<aspects>
<!-- Aspects that a user can see -->
<visible>
<aspect name="cm:generalclassifiable" />
<aspect name="cm:complianceable" />
<aspect name="cm:dublincore" />
<aspect name="cm:effectivity" />
<aspect name="cm:summarizable" />
<aspect name="cm:versionable" />
<aspect name="cm:templatable" />
<aspect name="cm:emailed" />
<aspect name="emailserver:aliasable" />
<aspect name="cm:taggable" />
<aspect name="app:inlineeditable" />
<aspect name="gd:googleEditable" />
<aspect name="cm:geographic" />
<aspect name="exif:exif" />
<aspect name="audio:audio" />
<aspect name="cm:indexControl" />
<aspect name="dp:restrictable" />
<aspect name="tgt:fileRegistryClassifier" />
</visible>
<!-- Aspects that a user can add. Same as "visible" if left empty -->
<addable>
</addable>
<!-- Aspects that a user can remove. Same as "visible" if left empty -->
<removeable>
</removeable>
</aspects>
......
<config evaluator="model-type" condition="alvexdt:sent">
<forms>
<form id="datagrid">
<field-visibility>
<show id="alvexdt:id" />
<show id="alvexdt:registerDate" />
<show id="alvexdt:correspondent" />
<show id="alvexdt:sentType"/>
<show id="alvexdt:assignee" />
<show id="alvexdt:status" />
<show id="alvexdt:dueDate" />
<show id="tgt:classCode" />
<show id="tgt:location" />
<show id="tgt:grandocNumber" />
</field-visibility>
</form>
<form>
<field-visibility>
<show id="alvexdt:id" />
<show id="alvexdt:registerDate" />
<show id="alvexdt:correspondent" />
<show id="alvexdt:relatedReceived" />
<show id="alvexdt:summary" />
<show id="alvexdt:addresser" />
<show id="alvexdt:signingDate" />
<show id="alvexdt:signatory"/>
<show id="alvexdt:contactName" />
<show id="alvexdt:deliveryType" />
<show id="alvexdt:sentType" />
<show id="alvexdt:files" />
</field-visibility>
<create-form template="/alvex-form.ftl" />
<appearance>
<set id="id" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="company" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="summary" appearance="" label="" />
<set id="execution" appearance="" label="" template="/org/alfresco/components/form/3-column-set.ftl"/>
<set id="files" appearance="" label=""/>
<set id="related" appearance="" label=""/>
<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="id" id="alvexdt:sentType">
<control template="/alvex-masterData-select.ftl"/>
</field>
<field set="company" id="alvexdt:correspondent">
<control template="/alvex-masterData-select.ftl"/>
</field>
<field set="company" id="alvexdt:contactName">
<control template="/alvex-masterData-select.ftl"/>
</field>
<field set="company" id="alvexdt:deliveryType">
<control template="/alvex-masterData-select.ftl"/>
</field>
<field set="summary" id="alvexdt:summary">
<control template="/alvex-mltext.ftl">
<control-param name="style">width: 98%</control-param>
</control>
</field>
<field set="execution" id="alvexdt:addresser">
<control template="/orgchart-picker.ftl" />
</field>
<field set="execution" id="alvexdt:signingDate"/>
<field set="execution" id="alvexdt:signatory">
<control template="/orgchart-picker.ftl" />
</field>
<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-param name="withoutRegistries">true</control-param>
</control>
</field>
<field set="related" id="alvexdt:relatedReceived"/>
</appearance>
</form>
</forms>
</config>
Примечательно то, что если я распаковываю файлы из tomcat/webapps/share/WEB-INF/lib/alvex-documents-registers-ce-share-1.20.jar, правлю там конфиги share, потом снова запаковываю и перезапускаю alfresco, я могу скрывать некоторые колонки, но показать свои всё равно не получается. Хотелось бы найти "recommended way" для добавления столбцов в datagrid реестров alvex. В ходе работы пользовался мануалом http://www.ossportal.ru/technologies/alfresco/blogs/894#share
Заранее благодарен всем за ответы.
Комментарии
06/08/2014 - 14:49
Вы можете попробовать открыть нужный реестр через репозиторий ( в верхнем меню у админа), выбрать "Управление правилами" и создать правило, которое при создании нового документа в реестре будет добавлять ему ваш аспект. Но:
1. так надо проделать с каждым реестром заново
2. я не уверена, что это будет работать, никогда не проверяла.
07/08/2014 - 05:52
И подскажите, пожалуйста, по поводу экспеорта в excel? Там колонки сами появятся, если их прописать в конфиге в секции "datagrid".
08/08/2014 - 08:29