Comment utiliser l'API Web Content Manager
L'espace de travail est le cœur de l'API HCL Web Content Manager. Les objets sont créés, enregistrés et supprimés, et font l'objet d'une recherche dans l'objet Espace de travail. Un espace de travail est une interface d'accès à Web Content Manager qui est associée à un utilisateur. Grâce à l'utilisation d'un élément Espace de travail, l'utilisateur peut effectuer des opérations en son nom.
Pour obtenir un élément d'espace de travail, vous devez d'abord extraire WebContentService
:
try { // Construct and initial Context InitialContext ctx = new InitialContext(); // Retrieve WebContentService using JNDI name WebContentService webContentService = (WebContentService) ctx.lookup("portal:service/wcm/WebContentService"); } catch (NamingException ne) { System.out.print("Naming Exception: " + ne); }
Vous demandez alors l'un des singleton de référentiel avec l'appel suivant :
webContentService.getRepository().getWorkspace("my username", "my password");
Pour obtenir un espace de travail sans indiquer de nom d'utilisateur et de mot de passe, utilisez l'un des appels suivants :
- Au sein d'un portlet :
Workspace workspace = webContentService.getRepository().getWorkspace( (Principal) portletRequest.getUser() );
- En dehors d'un portlet :
Workspace workspace = webContentService.getRepository().getWorkspace((Principal) request.getUserPrincipal() );
Si l'utilisateur n'est reconnu en tant qu'utilisateur de Web Content Manager ou si pour une raison ou une autre, il ne peut être authentifié, une exception OperationFailedException
est émise.
Remarque : Seuls les utilisateurs de Web Content Manager (y compris les utilisateurs LDAP externes, en cas d'activation) sont identifiés. Par exemple, un espace de travail ne peut être extrait à l'aide d'un jeton LTPA.
Opérations possibles dans l'espace de travail :
- Recherche d'éléments à l'aide des méthodes "findBy" fournies
- Création d'objets de types modifiables disponibles
- Enregistrement et suppression d'objets modifiables
Vous devez appeler
endWorkspace()
lorsque vous avez terminé d'utiliser l'objet d'espace de travail.webContentService.getRepository().endWorkspace();
Remarque : Vous n'avez pas besoin d'appeler
endWorkspace()
lorsque vous utilisez un composant JSP car la gestion de rendu et de session est effectuée par Web Content Manager.Remarque : Utilisez la méthode
setCurrentDocumentLibrary
pour passer des appels spécifiques aux bibliothèques. Si le paramètre est omis, la bibliothèque par défaut configurée dans le service WCM WCMConfigService est utilisée.