5 février 2013

Publication HRv9 : apparition des LFA, disparition du FTP

HRa Suite 9.0 dispose d'un nouveau mode de publication des arbres : lors de la validation d'un arbre de publication, de nouveaux objets sont générés par HR Studio : les Actions Fonctionnelles Localisées (ou LFA). Ce mécanisme rend obsolète le lien FTP qui existait auparavant entre HR Studio et le serveur Web.




Ces objets sont à déployer avant de publier l'arbre. Toutefois un clic droit sur un arbre de publication permet d'enchaîner les étapes :


Chaque "Action fonctionnelle localisée" déployée correspond à une la "publication" en base de données d'une "Action fonctionnelle".

L'action fonctionnelle est stockée en base : tables EN** where CDENTI = 'LY'. Le code de l'objet reprend les 5 caractères de l'arbre et les 3 de son nom (ex : TA0FT0AD). La description de l'objet prend la forme d'un XML encodé.

Exemple de description décodée :


...
Une fois déployée, le "zip" de l'arborescence correspondante est stockée encodée dans les tables EM* where CDENTI = 'LY'.

Exemple après décodage et décompression :




Lors de la publication, HR Studio va demander au serveur Web de "recopier" localement les LFA stockées en tables. La requête HTTP sera de la forme :
http://1.2.3.4:5678/hr-rich-client/hrservlet/HRAdmin?ACTION=PUBLISHLFAS&USER=DIGIX&USERLANG=F

Suivie de l'habituelle demande de rechargement de la liste des tables :
http://1.2.3.4:5678/hr-rich-client/hrservlet/HRAdmin?ACTION=RELOAD_TREES&USERLANG=F&VERIFYDICO=TRUE

Un kit éditeur est disponible pour les versions serveur HRa Suite 7.1 ou HRa Suite 7.0 (kit "new publication in DB table (LFA)" à demander à la Hot Line).

11 commentaires:

  1. Comment se passe la livraison en exploitation ?
    - subb3/subb4 permet-il de livrer l'arbre "Déployé" ?
    - Faut-il toujours copier manuellement l'arborescence ?

    Autre question :
    Est-il possible de publier l'arbre lorsque des LFA sont invalides ?

    RépondreSupprimer
  2. ... une promesse non tenue ... dommage !

    RépondreSupprimer
  3. Bonne idée - je vais regarder - je pense que :
    - "oui", les données déployées sont livrées (à condition de faire l'export/import des objets LFA ayant évolué)
    - "non", il serait alors inutile de copier manuellement l'arbo si l'on peut exécuter l'URL HRAdmin?ACTION=PUBLISHLFAS sur la Prod (pb : cela veut dire laisser le Web ouvert lors de la livraison - à gérer. Dans le pire des cas on reviendra a la copie).
    Sinon il me semble que "oui", Studio publie les LFA valides et laisse de coté celles invalides (à confirmer)

    RépondreSupprimer
  4. Merci pour les réponses.
    Je n'ai pas directement accès à la V9... je vais en parler à des collègues que ça pourrait intéresser.

    Merci aussi pour le blog : pleins d'articles intéressants depuis un an !
    Ca manquait vraiment à l'univers HR Access.

    RépondreSupprimer
  5. Je reviens sur le sujet du déploiement

    - Si la cible est de type exploitation, l'export RB3 contient bien les données de publication stockées dans les tables EM10 EM30 des LFA,
    - Mais la requête HTTP envoyée par HRStudio n'est pas de type GET mais de type POST ... La requête complète est de cette forme, et va nécessiter de disposer (par exemple) d'un PERL pour être émise (un navigateur ne suffira pas) :

    POST /hr-rich-client/hrservlet/HRAdmin?ACTION=PUBLISHLFAS&USER=DIGIX&USERLANG=F HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    User-Agent: Design Center
    Host: 1.2.3.4:5678
    Content-Length: 43579
    Connection: Keep-Alive
    Cache-Control: no-cache

    {?xml version="1.0"?}
    {Pub XmlVersion="7.0.0" Tree="TA0FR" PublishDoc="0"}{LFAs}{LFA name="TA0FR000" deployTime="2012-12-10-16.58.16" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR001" deployTime="2012-12-10-16.59.16" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR002" deployTime="2012-12-10-17.00.13" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR003" deployTime="2012-12-10-17.00.48" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR004" deployTime="2012-12-10-17.01.03" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR005" deployTime="2012-12-10-17.01.11" deployUser="DIGIX" deployPlatform="PPCLIUNO" …
    … version="001" synchObject="Yes"/}{LFA name="TA0FR097" deployTime="2012-10-24-14.52.10" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR098" deployTime="2012-10-24-14.52.57" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR099" deployTime="2012-10-24-14.53.41" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR09A" deployTime="2012-10-24-14.54.19" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{LFA name="TA0FR09B" deployTime="2012-10-24-14.55.01" deployUser="DIGIX" deployPlatform="PPCLIUNO" version="001" synchObject="Yes"/}{/LFAs}{LANG Code="F"}{VOC Code="FRP"/}{/LANG}{HRVERSION Release="7.30.020" Internal="001"/}{/Pub}

    NB :
    - J'ai dénaturé les balises XML car elles ne passaient pas dans le champ commentaire du blog ...
    - En toute logique le "deployTime" va servir aux servlets pour fonctionner en différentiel.

    Conclusion : il me semble plus accessible et plus sûr de fonctionner par livraison d'un zip créé sur la plate-forme source...

    RépondreSupprimer
  6. Dans HRa Suite 7.1 il me semble que ce nouveau mode de publication est accessible à partir de la release 7.30.40.

    Voici un extrait du "Compagnon" :

    Nouveau mode de publication des arbres
    Vous disposez désormais d'un nouveau mode de publication des arbres.
    Avec ce nouveau mode de publication, lors de la validation d'un arbre de publication, de nouveaux objets sont générés : les Actions fonctionnelles localisées (LFA). Ces objets doivent être déployés avant de procéder à la publication de l'arbre proprement dite.
    La publication consiste alors à recopier sur le serveur HRa Space les LFA ayant été préalablement déployées en tables.
    Chaque Action fonctionnelle localisée déployée correspond à une publication en table d'une action fonctionnelle.

    RépondreSupprimer
    Réponses
    1. Est-ce nouveau ? cf le commentaire de thieu du 8 février 2013 16:00 ... Noter qu'il ne suffira pas d'upgrader HRStudio pour que les LFA fonctionnent. Il faut des mises à jour dans les Cobols associés aux ateliers et créer les tables associées ...

      Supprimer
  7. Ce commentaire a été supprimé par un administrateur du blog.

    RépondreSupprimer
    Réponses
    1. Marc a noté que sur deux environnements différents - deux LFA de même "code" peuvent concerner deux Actions Fonctionnelles différentes ...
      Aussi la doc en ligne indique (compagnon) :
      "les Actions fonctionnelles localisées ne peuvent ni être créées manuellement, ni modifiées puisqu'elles sont générées automatiquement."

      A mon sens il faut considérer les LFA comme des objets "temporaires" issus de la publication. Et si l'on souhaite comparer deux environnements via Studio - il faut les trier suivant le code action fonctionnelle - non suivant le code de la LFA.

      Supprimer
  8. Vu dans le livret de consigne de la 7.30.40 : éléments facultatifs pouvant être installés : < 7.30.40 ML1 Uniquement dans le cadre de l’offre HRa Suite 7.1 : kit "KTCOLFAPUBTREE" : Nouvelle de méthode de publication des arbres.

    RépondreSupprimer
  9. Noter que l’association LFA/noeuds se retrouve dans la description de l'objet plan de site. Aussi - si vous livrez la prod depuis 2 envts différents (ex Pré-Prod et Maint°à Chaud) il faut toujours livrer l’arbre avec son plan de site (et le scope tant qu’a faire).

    RépondreSupprimer