Вопрос

Прямо сейчас начинается работать с Alfresco. Но я не ясно, что такое тип и какой аспект? Пожалуйста, дайте подробно на примере.

Это было полезно?

Решение

Каждый узел для создания имеет данный тип, а только один тип, как «документ» или «папка». С другой стороны, один узел может иметь много аспектов, таких как «Taggable» или / и «версии».

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

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

Конечно, вы можете создавать свои собственные типы и аспекты в Alfresco, что настроить модель содержимого.

Вот пример пользовательской модели контента:

I: Статус - это пользовательский аспект.

<?xml version="1.0" encoding="UTF-8"?>
    <model xmlns="http://www.alfresco.org/model/dictionary/1.0" name="i:multimediaModel">
      <description>Multimedia Model</description>
      <author>Pedro Costa</author>
      <version>1.0</version>
      <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"/>
      </imports>
      <namespaces>
         <namespace uri="pt.i.model" prefix="i"/>
      </namespaces>
      <constraints>
      <constraint name="i:status_constraint" type="LIST">
       <parameter name="allowedValues">
        <list>
         <value>Draft</value>
         <value>Pending</value>
         <value>Current</value>
         <value>Archived</value>
        </list>
       </parameter>       
      </constraint>
      </constraints>
      <types>  
     <type name="i:multimedia">
      <title>Multimedia Metadata Model</title>
      <parent>cm:content</parent>
      <archive>true</archive>
      <properties>          
              <property name="i:insertDate">
                  <title>Multimedia insert date</title>
                     <description>
                     Multimedia insert date can be diferent of the 
                     insert date in alfresco, this apllies to multimedia 
                     created before database migration to alfresco
                     </description>
                     <type>d:datetime</type>
                     <mandatory>false</mandatory>
                 </property>
                 <property name="i:multimediaFormat">
        <title>Multimedia Format</title>
              <description>Multimedia Format, file type</description>
              <type>d:text</type>
              <mandatory>false</mandatory>
             </property>
             <property name="i:contentLength">
              <title>Content Length</title>
              <description>The file size in bytes</description>
              <type>d:long</type>
              <mandatory>false</mandatory>
             </property> 
             <property name="i:copyright">
              <title>Copyright</title>
              <description>Copyright</description>
              <type>d:text</type>
              <mandatory>false</mandatory>
             </property>
      </properties>
      <mandatory-aspects>
        <aspect>cm:taggable</aspect>
        <aspect>cm:auditable</aspect>
        <aspect>i:status</aspect>    
      </mandatory-aspects>
     </type>    
       </types>   
       <aspects>
      <aspect name="i:status">
       <title>Multimedia Status</title>
        <properties>
         <property name="i:status">
          <title>Status</title>
          <type>d:text</type>
          <default>Draft</default>
          <constraints>
           <constraint ref="i:status_constraint" />
          </constraints>     
         </property>    
        </properties>   
      </aspect>
       </aspects>   
    </model>

Другие советы

Я постараюсь создать более короткий ответ, хотя длинный тоже полезен.

Как вы знаете, модель определяет «типы» данных, которые вы храните в репозитории. Итак, тип - это форма объекта, которую вы будете хранить - вместе с его свойствами, как имя, название, описание в модели по умолчанию или «MyType: сумма», «MyType: Date» или аналогичны на пользовательских моделях. Таким образом, каждый документ в Alfresco имеет определенный тип («пользовательский» тип, тип «папка», тип «контента» для модели по умолчанию).

И аспект - это что-то лучшее описано как дополнительный набор свойств.

Итак, у вас может быть тип: «Счет-фактура». Он имеет свойства, такие как сумма, срок и получатель.

Но вы также можете иметь аспект, «поставщик» - с дополнительными данными, таких как имя поставщика и номер счета поставщика.

Итак, вы можете добавить аспекты к вашим счетам - добавлять дополнительные свойства, такие как имя поставщика к счетам. Но вы также можете добавить этот аспект на «папку» или пространство в Alfresco - например, вы можете иметь место для поставщика, или договор или какой-то другой документ - и каждому из этих типов вы можете добавить аспект «поставщик» ".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top