現在、屋外での作業を開始しています。しかし、タイプとアスペクトとは何かについては明確ではありません。例を挙げて詳しく教えてください。
2 に答える
作成時の各ノードには特定のタイプがあり、「ドキュメント」や「フォルダー」などのタイプは 1 つだけです。一方、1 つのノードは、「タグ付け可能」や「バージョン管理可能」など、多くの側面を持つことができます。
ノードのノード タイプは時間の経過とともに変化する可能性がありますが、1 つのノードには 1 つのタイプしかなく、アスペクトはプロパティの添付ファイルのようなものであり、作成時または実行時に追加できます。
アスペクトは多くのタイプのノードにも追加できるため、多くのタイプに存在する特別なプロパティをモデルに持たせたい場合は、アスペクトを作成するのが最善の方法です。次に、コードを維持するには、アスペクトを維持するだけです。
もちろん、Alfresco で独自のタイプとアスペクトを作成できます。つまり、コンテンツ モデルのカスタマイズです。
カスタム コンテンツ モデルの例を次に示します。
i:status はカスタム アスペクトです。
<?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:amount」、「mytype:date」などのプロパティと一緒に保存するオブジェクトの形式です。そのため、alfresco の各ドキュメントは特定のタイプ (「ユーザー」タイプ、「フォルダー」タイプ、デフォルト モデルの「コンテンツ」タイプ) です。
そして側面 - これは、プロパティの追加セットとして最もよく説明されているものです。
したがって、「請求書」というタイプがあるかもしれません。金額、期日、受取人などのプロパティがあります。
ただし、ベンダー名やベンダーのアカウント番号などの追加データを含む、「ベンダー」という側面を持つこともできます。
そのため、請求書に側面を追加することができます - ベンダー名などの追加のプロパティを請求書に追加します。しかし、このアスペクトを屋外の「フォルダ」またはスペースに追加することもできます。たとえば、ベンダー、契約、またはその他のドキュメント用のスペースを作成できます。これらのタイプのそれぞれにアスペクト「ベンダー」を追加できます。 "。