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();
}
Si quelqu'un peut m'aider, car je pêche complètement
Bonjour,Je pense également que les Webservices seraient beaucoup plus adaptés, mais vois-tu, je débute dans la programmation Java, alors si tu peux m'aider, je t'en remercie d'avance. L'API JCR semble assez restreinte, et c'est le seul exemple que j'ai pu trouver à ce jour et je comptais également m'orienter vers les Webservices.
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();
}
pour le moment je ne sais toujours pas comment faire pour déplacer mon document, mais je pense que ce n'est plus qu'une question de temps, à moins que…
Bonjour,Ok, c'est bien dommage, mais bon le hic, c'est que j'arrive à faire fonctionner mon bout de code en utilisant une authentification JCR et récupère ainsi un Node JCR que je convertis en Node de référence Alfresco.
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 = …
Comment à partir de cet authentification, je peux récupérer le NodeService, alors que j'y arrive en JCR (cf ci-dessous)session = repository.login(new SimpleCredentials("WORKFLOW_USER","WORKFLOW_PASSWORD".toCharArray()));
Node curentNodeRef = rootNode.getNode(path);
et que j'arrive à convertir ensuite de la sorte// 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.Oui, c'est ce que j'ai fait, et ça marche, mais mon code ressemble plus à une bidouille amateur que du grand professionalisme. Je le mets à disposition très bientôt. Avis aux amateurs
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…
Content from pre 2016 and from language groups that have been closed.
Content is read-only.
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.