[Résolu]Propriétés d'espace et des documents
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-22-2009 04:52 AM
je veux créer un modele d'espace auqu'elle j'attribue des propriétés, et je veux que tout les documents qu'on ajoute à cette espace aient les mêmes propriétés ainsi que les valeurs.
je peux utiliser l'action qui change le type d'un document, mais le problème et comment hériter les mêmes valeurs de propriétés que l'espace?
est ce quelqu'un a une idée?
merci
- Labels:
-
Archive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-22-2009 07:33 AM
La première idée qui me vient à l'esprit serait de créer une règle de contenu qui exécuterait un script à l'entrée d'un document dans l'espace. Ce script changerait le type des documents et copierait les métadonnées du dossier vers le document.
Si cela n'est pas possible directement depuis un JavaScript (j'avoue ne pas trop savoir comment changer le type ni si c'est possible), tu peux aussi appeler une action Java depuis la règle.
Enfin si tu as beaucoup de dossier de ce type sur lesquels placer cette règle et que cela peut être long à faire, tu peux créer un modèle d'espace avec cette règle. Ainsi tous les dossiers créés à partir du modèle auront cette règle.
Christophe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-24-2009 03:07 PM
mais j'ai besoin de connaitre la méthode qui attribue une valeur à une propriété personnalisé ?
est elle la methode suivante:
NodeService.addproperty(nodeRef, qname du property, (serializable) "chaine_de_caractere" );
svp est ce quelqu'un peut me donner un exemple ?
merci
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 04:04 AM
package org.alfresco.sample;import java.util.List;import java.io.Serializable;import java.util.Map;import org.alfresco.model.*;import org.alfresco.repo.action.ParameterDefinitionImpl;import org.alfresco.repo.action.executer.ActionExecuterAbstractBase;import org.alfresco.service.cmr.action.Action;import org.alfresco.service.cmr.action.ParameterDefinition;import org.alfresco.service.cmr.dictionary.DataTypeDefinition;import org.alfresco.service.cmr.repository.NodeRef;import org.alfresco.service.cmr.repository.NodeService;import org.alfresco.service.namespace.QName;import org.alfresco.web.bean.repository.Node;public class SpaceOffreActionExecuter extends ActionExecuterAbstractBase{ private NodeService nodeService; /** The name of the action */ public static final String NAME = "spaceoffre-action"; @Override protected void executeImpl(Action action, NodeRef actionedUponNodeRef) { if (this.nodeService.exists(actionedUponNodeRef) == false) { System.out.println("————erreur node ————————"); } else { this.nodeService.setProperty(actionedUponNodeRef, SpaceOffreModel.PROP_CLIENT, (Serializable)"actionclient"); this.nodeService.setProperty(actionedUponNodeRef, SpaceOffreModel.PROP_BAILLEUR, (Serializable)"rrr"); } } } public NodeService getNodeService() { return nodeService; } public void setNodeService(NodeService nodeService) { this.nodeService = nodeService; } }
quand je lance l'action depuis le client web j'obtiens l'erreur suivante :
Veuillez corriger les erreurs ci-dessous puis cliquez sur Terminer.
* Impossible d'exécuter les Actions à cause de l'erreur : null
et voila la trace de l'erreur :!
08:19:52,218 User:admin ERROR [ui.common.Utils] Impossible d'excuter les Actions cause de l'erreur : nulljava.lang.NullPointerException at org.alfresco.sample.SpaceOffreActionExecuter.executeImpl(SpaceOffreActionExecuter.java:82) at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:127) at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:592) at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:529) at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServiceImpl.java:391) at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServiceImpl.java:379) at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServiceImpl.java:600) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:40) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:275) at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy22.executeAction(Unknown Source) at org.alfresco.web.bean.actions.RunActionWizard.finishImpl(RunActionWizard.java:101) at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:121) at org.alfresco.web.bean.dialog.BaseDialogBean$1.execute(BaseDialogBean.java:118) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:320) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:227) at org.alfresco.web.bean.dialog.BaseDialogBean.finish(BaseDialogBean.java:127) at org.alfresco.web.bean.wizard.WizardManager.finish(WizardManager.java:580) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61) at javax.faces.component.UICommand.broadcast(UICommand.java:109) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171) at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
est ce que quelqu'un à une idée concernant cette erreur et comment la corriger ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 05:44 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 05:46 AM
En fait l'erreur réside à la ligne 82 de cette classe, mais si je copie-colle votre code dans un éditeur de texte, cela s'arrete a la ligne 60 et quelques …
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 05:58 AM
C'est peut-être un problème d'injection du nodeService dans la déclaration de ton action. Poste également le fichier XML qui décrit ton action.at org.alfresco.sample.SpaceOffreActionExecuter.executeImpl(SpaceOffreActionExecuter.java:82)
Christophe
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 06:10 AM
mais cette ligne correspond au test de l'existence du noeud :
if (nodeService.exists(actionedUponNodeRef) == false)
voici le fichier context de l'action :
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'> <beans> <!– Logger Action Bean –> <bean id="spaceoffre-action" class="org.alfresco.sample.SpaceOffreActionExecuter" parent="action-executer"/> <!– Load the Logger Action Messages –> <bean id="spaceoffre-action-messages" class="org.alfresco.i18n.ResourceBundleBootstrapComponent"> <property name="resourceBundles"> <list> <value>org.alfresco.sample.spaceoffre-action-messages</value> </list> </property> </bean> </beans>
le fichier modele oû sont défini les QName
package org.alfresco.sample;import org.alfresco.service.namespace.QName; public interface SpaceOffreModel { static final String SPOFFRE_MODEL_URI = "package.model"; static final String SPOFFRE_MODEL_PREFIX = "erm"; static final QName TYPE_SPOFFRE = QName.createQName(SPOFFRE_MODEL_URI, "package"); static final QName PROP_DESEIGN = QName.createQName(SPOFFRE_MODEL_URI, "Design"); static final QName PROP_NOFFRE = QName.createQName(SPOFFRE_MODEL_URI, "NumOffre"); static final QName PROP_OBJET = QName.createQName(SPOFFRE_MODEL_URI, "Objet"); static final QName PROP_CLIENT = QName.createQName(SPOFFRE_MODEL_URI, "Client"); static final QName PROP_MODEOFFRE = QName.createQName(SPOFFRE_MODEL_URI, "ModeOffre"); static final QName PROP_PAYS = QName.createQName(SPOFFRE_MODEL_URI, "Pays"); static final QName PROP_MISSION = QName.createQName(SPOFFRE_MODEL_URI, "Mission"); static final QName PROP_SERVICE = QName.createQName(SPOFFRE_MODEL_URI, "Service"); static final QName PROP_SITUATION = QName.createQName(SPOFFRE_MODEL_URI, "Situation"); static final QName PROP_RO = QName.createQName(SPOFFRE_MODEL_URI, "RO"); static final QName PROP_PARTENAIRE = QName.createQName(SPOFFRE_MODEL_URI, "Partenaire"); static final QName PROP_BAILLEUR = QName.createQName(SPOFFRE_MODEL_URI, "Bailleur"); static final QName PROP_ETAT = QName.createQName(SPOFFRE_MODEL_URI, "Etat"); static final QName PROP_DATEENVOI = QName.createQName(SPOFFRE_MODEL_URI, "DateEnvoi"); static final QName PROP_QUALITE = QName.createQName(SPOFFRE_MODEL_URI, "Qualite"); static final QName PROP_CODESOC = QName.createQName(SPOFFRE_MODEL_URI, "CodeSociete");}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 06:17 AM
C'est peut-être un problème d'injection du nodeService dans la déclaration de ton action. Poste également le fichier XML qui décrit ton action.
Christophe
bingo !
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-26-2009 06:20 AM
<bean id="spaceoffre-action" class="org.alfresco.sample.SpaceOffreActionExecuter" parent="action-executer"> <property name="nodeService"> <ref bean="nodeService"/> </property> </bean>
Le fait de rajouter les lignes property, permet d'injecter le nodeService dans ton action (attention à bien déclarer tes getter/setter pour les différents services).Christophe