As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
Repository repository = (Repository)this.factory.getBean("JCR.Repository"); Session session = null; try { session = repository.login(new SimpleCredentials("admin","admin".toCharArray())); Node root = session.getRootNode(); Node companyHome = root.getNode(path); // Changement de status du document en "For Approval" companyHome.setProperty("lpr:DocumentStatus", "For Approval"); companyHome.save(); // Ici code manquant de déplacement vers le dossier ..Review … // Affichage des propriétés du document pour Debug uniquement PropertyIterator iterator = companyHome.getProperties(); while(iterator.hasNext()) { Property prop = iterator.nextProperty(); if (!prop.getDefinition().isMultiple()) { String property = prop.getName(); System.out.println("JCR - property : " + property); if (!property.equals("cm:content")) { System.out.println("JCR - Property - " + property + " = " + prop.getString()); } if (property.equals("lpr:DocumentStatus")) { System.out.println("JCR - Status: " + property + " = " + prop.getString()); } } } } finally { session.save(); session.logout(); }
Bonjour,Pourquoi utilise-tu l'API JCR pour accéder au repository ? Tu ne peux pas le faire en WebService ou API native Alfresco ?
Repository repository = (Repository)this.factory.getBean("JCR.Repository"); Session session = null; try { session = repository.login(new SimpleCredentials("workflow","password".toCharArray())); // access the page via JCR Node rootNode = session.getRootNode(); Node curentNodeRef = rootNode.getNode(path); // Convert the JCR Node to an Alfresco Node Reference NodeRef AdminNodeRef = JCRNodeRef.getNodeRef(curentNodeRef); // Update status in Document nodeService.setProperty(AdminNodeRef,PROP_DOCUMENT_STATUS,status); session.save(); // Ici code manquant de déplacement vers le dossier ..Review … session.save(); } finally { session.logout(); }
Bonjour,Il y a des exemples dans le SDK Alfresco pour utiliser les WebService (projet FirstWebServiceClient) et l'API native (projet FirstFoundationClient). En fait quasiment personne n'utilise l'API JCR, donc tu trouveras peu de monde pour t'aider
AuthenticationService authenticationService = serviceRegistry.getAuthenticationService(); authenticationService.authenticate("WORKFLOW_USER", "WORKFLOW_PASSWORD".toCharArray()); NodeRef AdminNodeRef = …
session = repository.login(new SimpleCredentials("WORKFLOW_USER","WORKFLOW_PASSWORD".toCharArray())); Node curentNodeRef = rootNode.getNode(path);
// Convert the JCR Node to an Alfresco Node Reference NodeRef AdminNodeRef = JCRNodeRef.getNodeRef(curentNodeRef); // A partir d'ici je peux faire tous ce que je veux sur les élémnets de mon repository, même déplacer un Node. … session.logout();
Je ne connaissais pas cette page du Wiki expliquant comment mélanger du code JCR et de l'API Alfresco mais ça a l'air sympa.Si je reviens à ton post du 23/10/07 à 10h59, tu as donc réussi à ouvrir une session via la JCR, puis récupérer le NodeRef et le NodeService Alfresco. Ensuite tu peux appeler la méthode moveNode du NodeService pour déplacer ton noeud vers le dossier Review, pour peu que tu aies son NodeRef…