Diffusion par e-mail d’un document de canal web
Une fois que vous avez défini et testé votre document de communication interactive de canal web, vous avez besoin d’un mécanisme de diffusion pour diffuser le document de canal web à la personne destinataire.
Cet article se penche sur l’e-mail comme mécanisme de diffusion pour les documents de canal web. La personne destinataire obtient un lien vers le document de canal web par e-mail. En cliquant sur le lien, elle est invitée à s’authentifier et le document de canal web est renseigné avec les données propres à la personne utilisatrice connectée.
Regardons l’extrait de code suivant. Ce code fait partie de GET.jsp, qui est déclenché lorsque l’utilisateur ou l’utilisatrice clique sur le lien dans l’e-mail afin d’afficher le document de canal web. La personne utilisatrice connectée est récupérée à l’aide de Jackrabbit UserManager. Une fois la personne utilisatrice connectée obtenue, la valeur de la propriété accountNumber associée au profil de cette personne est récupérée.
La valeur accountNumber peut ensuite être associée à une clé appelée accountnumber dans le mappage. La clé accountnumber est définie dans le modèle de données de formulaire sous la forme d’un attribut de requête. La valeur de cet attribut est transmise en tant que paramètre d’entrée à la méthode de service de lecture du modèle de données de formulaire.
Ligne 7 : la requête reçue est transmise à un autre servlet, en fonction du type de ressource identifié par l’URL du document de communication interactive. La réponse renvoyée par ce deuxième servlet est incluse dans la réponse du premier servlet.
org.apache.jackrabbit.api.security.user.UserManager um = ((org.apache.jackrabbit.api.JackrabbitSession) session).getUserManager();
org.apache.jackrabbit.api.security.user.Authorizable loggedinUser = um.getAuthorizable(session.getUserID());
String accountNumber = loggedinUser.getProperty("profile/accountNumber")[0].getString();
map.put("accountnumber",accountNumber);
slingRequest.setAttribute("paramMap",map);
CustomParameterRequest wrapperRequest = new CustomParameterRequest(slingRequest,"GET");
wrapperRequest.getRequestDispatcher("/content/forms/af/401kstatement/irastatement/channels/web.html").include(wrapperRequest, response);
Représentation visuelle du code à la ligne 7
Attribut de requête défini pour le service de lecture du modèle de données de formulaire.