Quand vous aurez terminé ce module de formation, vous serez capable de développer un OperationHook
sécurisé permettant de réagir à la création de documents et de les renommer automatiquement.
Création du projet
A l’aide de votre IDE préféré, commencez par créer un nouveau projet Maven avec le POM suivant :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.flower.docs.samples</groupId>
<artifactId>modify-operation-hook</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.flower.docs</groupId>
<artifactId>flower-docs-starter-client</artifactId>
<version>2.8.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.14</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
<goal>build-info</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
</project>
Application Spring Boot
Cette application Spring Boot s’appuie sur le starter Spring Boot fourni par FlowerDocs.
- Pour commencer, nous avons besoin d’une main class Spring Boot annotée avec l’annotation
@SpringBootApplication
:
|
|
Ajoutez ensuite le fichier
application.properties
dans le répertoiresrc/main/resources
de votre projet pour configurer l’application :1 2 3 4 5 6 7 8
spring.application.name=modify-hook server.port=7777 server.servlet.context-path=/modify ws.url=http://localhost:8081/core/services internal.realm.users[0].id=<user> internal.realm.users[0].password=<password>
1 Nom de l’application Spring Boot
2 Port utilisé pour exposer l’application WEB
3 Chemin de l’application. L’application est ainsi accessible via l’URL de base http://localhost:7777/modify
5 URL d’accès aux web services exposés par FlowerDocs Core.
7 Identifiant de l’utilisateur permettant d’accéder à l’
OperationHook
8 Mot de passe de l’utilisateur permettant d’accéder à l’
OperationHook
Développement du hook
Passons maintenant à l’OperationHook
! Pour implémenter votre premier hook, créez la classe ModifyOperationHook
telle que :
|
|
13 L’annotation @RestController
définie le hook comme étant un web service REST exposé sur /
14 La classe ModifyOperationHook
étend la classe OperationHook
qui permet de faciliter l’implémentation d’un hook à l’aide du framework Spring Boot
17 La méthode process
doit être implémentée afin de définir le comportement suite à l’exécution d’une opération au sein de FlowerDocs Core
17 L’OperationHook
réagit seulement aux contextes de classe DefaultComponentOperationContext
24 Chaque composant du contexte d’opération est renommé à l’aide de la date courrante