Hi, i've createad this model:
<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.alfresco.org/model/dictionary/1.0" name="dmemo">
<author>Administrator</author>
<imports>
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
</imports>
<namespaces>
<namespace uri="http://www.mycom.it/model/demo/1.0" prefix="dm"/>
</namespaces>
<data-types/>
<constraints/>
<types>
<type name="dm:demoTemplate">
<title>Demo Template</title>
<parent>cm:content</parent>
<properties>
<property name="dmlaceholder1">
<title>Placeholder 1</title>
<type>d:text</type>
<mandatory>false</mandatory>
<index enabled="true">
<tokenised>TRUE</tokenised>
<facetable>false</facetable>
</index>
</property>
</properties>
<associations/>
<overrides/>
<mandatory-aspects/>
</type>
</types>
<aspects/>
</model>
with the Model Manager of Alfresco 5.2.f.
I must implement a behaviour on update properties of demoTemplate.
In my init method i have:
QName MODEL_TEMPLATE_QNAME = QName.createQName("http//www.mycom.it/model/demo/1.0", "demoTemplate");
public void init() {
this.onUpdateProperties = new JavaBehaviour(this, "onUpdateProperties", NotificationFrequency.TRANSACTION_COMMIT);
this.policyComponent.bindClassBehaviour(NodeServicePolicies.OnUpdatePropertiesPolicy.QNAME, MODEL_TEMPLATE_QNAME, this.onUpdateProperties);
}
when i add my amp to alfresco.war and restart the server, there is the error:
Caused by: java.lang.IllegalArgumentException: Class {http//www.mycom.it/model/demo/1.0}demoTemplate has not been defined in the data dictionary
how can i resolve this issue? i've read some post about this but i cant resolve. I have another question, there is a more "dynamic" way to do this without add the model.xml to my amp?
Thanks
Have you activated the model? Can you create instances of dm:demoTemplate when your behavior is not deployed?
Instead of using the model manager, if you add the model to your repo AMP and wire it in through Spring, does the problem go away?
Yes, i have activate the model and can create instances. I have also add the model in AMP, I did not have to?
If you defined the model in the UI you do not have to also define it in an AMP. You should use one or the other. If it is in your AMP but you already activated it in the UI, that could cause a problem.
Try removing it from the AMP, re-deploying your AMP, then restarting the server. If it still has a problem, reply here with your full stack trace.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.