zenami
zenami

Reputation: 131

Unable to change type of document in alfresco share

I have two questions about two Custom Content Types I created called my:whitepaper and my:bc:

When I try to Change Type on a document and I select my:whitepaper custom type it works but not with my:bc.

enter image description here

The type of 'test.pdf' document is cm:content: enter image description here

Here's my :

custom-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>

    <!-- Registration of new models --> 
    <bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
                <value>alfresco/extension/customModel.xml</value>
            </list>
        </property>
        <property name="labels">
            <list>
                <value>alfresco/extension/custom-model-messages</value>
            </list>
        </property>
    </bean>

</beans>

custom-model-messages.properties:

type.my_whitepaper= piece Comptable
type.my_whitepaper.title= piece Comptable
type.my_whitepaper.property.my_product= Ecriture Comptable

type.my_bc=bc
type.my_bc.title=bc

customModel.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!-- Definition of new Model -->

<!-- The important part here is the name - Note: the use of the my: namespace 
    which is defined further on in the document -->
<model name="my:contentModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

    <!-- Optional meta-data about the model -->
    <description>Example Custom Model</description>
    <author>Alfresco Documentation Team</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 -->
    <!-- NOTE: The following namespace my.new.model should be changed to reflect 
        your own namespace -->
    <namespaces>
        <namespace uri="http://www.mycompany.com/model/content/1.0" prefix="my" />
    </namespaces>



    <types>
        <!-- Enterprise-wide generic document type -->
        <type name="my:doc">
            <title>MyCompany Generic Document</title>
            <parent>cm:content</parent>

        </type>


        <type name="my:marketingDoc">
            <title>MyCompany Marketing Document</title>
            <parent>my:doc</parent>
            <properties>
                <property name="my:product">
                    <title>écriture comptable</title>
                    <type>d:text</type>
                </property>
                <property name="cm:author">
                    <title>auteur</title>
                    <type>d:text</type>
                </property>
            </properties>
        </type>
        <type name="my:bc">
            <title>Bon de commande</title>
            <parent>my:marketingDoc</parent>

        </type>
        <type name="my:whitepaper">
            <title>une piece Comptable</title>
            <parent>my:marketingDoc</parent>
        </type>


    </types>
</model> 

share-config-custom.xml:

     <types>
         <type name="cm:content">
            <subtype name="smf:smartFolderTemplate" />
            <subtype name="my:whitepaper" />
            <subtype name="my:bc" />
         </type>

         <type name="cm:folder">
         </type>

         <type name="trx:transferTarget">
            <subtype name="trx:fileTransferTarget" />
         </type>

      </types>

   <!-- custom content comptable -->
   <config evaluator="model-type" condition="my:whitepaper">
        <forms>
            <form>
                <field-visibility>
                    <show id="cm:name" />
                    <show id="my:product" />
               <show id="cm:author" />
                    <show id="cm:title" force="true" />
                    <show id="cm:description" force="true" />
             <!--   <show id="my:relatedDocuments" />-->
                </field-visibility>
            </form>
        </forms>
    </config>


    <config evaluator="node-type" condition="my:whitepaper">
        <forms>
            <form>
                <field-visibility>
                    <show id="cm:name" />
                    <show id="my:product" />
               <show id="cm:author" />
                    <show id="cm:title" force="true" />
                    <show id="cm:description" force="true" />
          <!--     <show id="my:relatedDocuments" /> -->
                </field-visibility>
            </form>
        </forms>
    </config>

<!-- custom Bon commande -->

   <config evaluator="model-type" condition="my:bc">
      <forms>
         <form>
            <field-visibility>
               <show id="cm:name" />
               <show id="my:product" />
               <show id="cm:author" />
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
             <!--   <show id="my:relatedDocuments" />-->
            </field-visibility>
         </form>
      </forms>
   </config>


   <config evaluator="node-type" condition="my:bc">
      <forms>
         <form>
            <field-visibility>
               <show id="cm:name" />
               <show id="my:product" />
               <show id="cm:author" />
               <show id="cm:title" force="true" />
               <show id="cm:description" force="true" />
          <!--     <show id="my:relatedDocuments" /> -->
            </field-visibility>
         </form>
      </forms>
   </config>

Logs:

enter image description here

Upvotes: 0

Views: 743

Answers (1)

Jeff Potts
Jeff Potts

Reputation: 10538

I am unable to reproduce this problem in a project generated with SDK 3.0.1, taking all defaults (Repo 5.2.f/Share 5.2.e) with your content model and Share config. I can change cm:content objects to my:bc objects. When configuring rules I can select your custom types in the Specialize Type action, see screenshot, below:Specialize Type action allows your custom types.

So, either you have some other stuff added to your config that hasn't been included in the above snippets or you haven't deployed your customizations correctly.

You might want to bootstrap a new project and drop your files in as I have, then run it with the embedded Tomcat to make sure you can change types and configure rules successfully. Then you can compare what is in that project to what you have in your original project to see where you went wrong.

Upvotes: 2

Related Questions