سؤال

بدأت الآن في العمل مع Alfresco. لكنني لست واضحًا بشأن ما هو النوع وما هو الجانب؟ يرجى إعطاء بالتفصيل مع المثال.

هل كانت مفيدة؟

المحلول

كل عقدة على الإنشاء لها نوع معين ، ونوع واحد فقط ، مثل "المستند" أو "المجلد". من ناحية أخرى ، يمكن أن تحتوي عقدة واحدة على العديد من الجوانب ، مثل "Taggable" او و "الإصدار".

يمكن أن يتغير نوع العقدة للعقدة بمرور الوقت ، ولكن لا يوجد سوى نوع واحد لعقدة واحدة ، فإن الجوانب تشبه مرفقات الخصائص ، يمكنك إضافتها على الإنشاء أو في وقت التشغيل.

يمكن أيضًا إضافة الجوانب إلى العديد من أنواع العقد ، لذلك إذا كنت تريد نموذجك الخاص بخاصية خاصة سيكون موجودًا في العديد من الأنواع ، فإن أفضل طريقة هي إنشاء جانب. ثم للحفاظ على الكود الخاص بك ، عليك فقط الحفاظ على الجانب.

بالطبع يمكنك إنشاء الأنواع والجوانب الخاصة بك في الهواء الطلق ، وهذا هو تخصيص نموذج المحتوى.

فيما يلي مثال على نموذج المحتوى المخصص:

أنا: الحالة جانب مخصص.

<?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 هو من نوع معين (نوع "مستخدم" ، ونوع "مجلد" ، ونوع "محتوى" للنموذج الافتراضي).

والجانب - من الأفضل وصفه على أنه مجموعة إضافية من الخصائص.

لذلك ، قد يكون لديك نوع: "فاتورة". لديها خصائص مثل المبلغ وتاريخ الاستحقاق والدفاع.

ولكن يمكنك أيضًا الحصول على جانب "البائع" - مع بيانات إضافية ، مثل اسم البائع ورقم حساب البائع.

لذلك ، يمكنك إضافة جوانب إلى فواتيرك - إضافة خصائص إضافية مثل اسم البائع إلى الفواتير. ولكن يمكنك أيضًا إضافة هذا الجانب إلى "مجلد" أو مساحة في الهواء الطلق - على سبيل المثال ، يمكنك الحصول على مساحة لبائع أو عقد أو بعض المستندات الأخرى - وكل من هذه الأنواع يمكنك إضافة الجانب "بائع" ".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top