Operations

    Au sein de Flower, on appelle opération une action sur un composant au sein de Flower Core. Il est possible d’abonner des OperationHandlers à des opérations afin qu’ils réagissent à l’exécution d’opération.


    L’exécution d’une opération peut être découpée en 4 phases :

    1 . Les OperationHandler enregistrés dans la phase de pré-traitement sont appelés

    2 . L’Operation est executée

    3 . Les OperationHandler enregistrés dans la phase de post-traitement sont appelés

    4 . Les OperationHook asynchrones sont exécutés

    Si une erreur intervient lors du pré-traitement comme la levée d’une exception, le déroulement des étapes est bloqué.


    Consulter la Javadoc pour plus de précisions sur cette API

    Pour réagir à l’exécution d’une opération au sein d’un OperationHandler, il est nécessaire de s’y abonner.

    Un abonnement permet de définir sur quelles opérations réagir en permettant de définir :

    • la phase d’exécution détermine si l’OperationHandler doit être exécuter avant ou après l’opération (BEFORE ou AFTER)
    • l’action : CREATE, UPDATE, SEARCH, ADD_CONTENT ou DELETE_CONTENT
    • le type d’objet : DOCUMENT, FOLDER, TASK ou VIRTUAL_FOLDER
    • le handler à exécuter : le nom complet de la classe de l’OperationHandler ou son URL

    En outre, l’abonnement détermine si la réaction à l’exécution d’une opération est synchrone ou asynchrone (exécutée dans un autre thread pour ne pas bloquer l’application).


    D’autres paramètres peuvent être définis sur l’abonnement à une opération :

    • enabled : détermine si l’abonnement est actif ou désactivé
    • StopOnException : arrête le déroulé de l’opération si une erreur est déclenchée (seulement valable pour la phase BEFORE)
    • RegistrationOrder : ordonne les abonnements à une même opération

    Un OperationHandler permet de réagir à l’exécution d’une opération. Pour y réagir dans son contexte, un OperationContext lui ait fourni en entrée.

    Un OperationHandler est un fragment de code présent au sein de la JVM [Flower Core]. Il est donc soit fourni nativement par Flower soit ajouté dans le classpath de l’application (on-premise seulement).


    Pour développer votre premier OperationHandler, consultez la documentation.

    Un OperationHook est un OperationHandler exposé en tant que web service REST.

    Il permet de réagir à l’exécution d’une opération de manière isolée dans sa propre JVM.


    Pour développer votre premier OperationHook, consultez la documentation.