Interfaces utilisateur dynamiques
Découvrez les interfaces utilisateur dynamiques qui incluent des pages dynamiques, des portlets dynamiques, une configuration d'interface utilisateur dynamique, des propriétés d'interface utilisateur dynamiques et des interfaces utilisateur dynamiques partagées. Obtenez une vue d'ensemble du développement d'une configuration d'interface utilisateur dynamique.
Les interfaces utilisateur dynamiques, ou dynamic UIs, sont des portlets ou des pages qui sont créés dynamiquement en fonction de la définition d'une définition de page ou de portlet existante. Une IU dynamique peut être lancée uniquement par un portlet à l'aide de l'API Dynamic UI Manager. En raison de sa nature dynamique, l'interface n'est pas conservée dans la base de données de portail et a une durée de vie maximale correspondant à la session de l'utilisateur avec le portail. L'interface peut également être fermée avant la fin de la session, soit par programme soit par l'utilisateur.
Les interfaces utilisateur dynamiques conviennent aux applications pour lesquelles les utilisateurs doivent disposer de plusieurs instances de pages ou de portlets ouvertes en même temps en multi-tâches. Par exemple, considérez le scénario de demande de déplacement dans l'intégration de processus métier. Si plusieurs partenaires commerciaux doivent se rendre à une conférence, leur responsable recevra plusieurs demandes de déplacement. Avec les pages statiques, le responsable doit compléter une demande avant de passer à la suivante. En utilisant les IU dynamiques, le responsable peut ouvrir plusieurs demandes simultanément et parcourir ces pages ainsi que d'autres pages du portail. L'intégration de processus métier est un exemple de dynamic UI configuration.
Les pages et les portlets dynamiques contiennent de nombreuses propriétés identiques à celles des pages et des portlets statiques. Par exemple, l'utilisateur peut naviguer entre les pages statiques et dynamiques ou modifier l'état de la fenêtre d'un portlet dynamique. Toutefois, les IU dynamiques ne sont pas stockées dans la base de données de portail et affectent donc moins les performances du serveur. Par conséquent, les IU dynamiques ne peuvent pas être administrées. Par exemple, vous ne pouvez pas afficher ou mettre à jour une page dynamique à l'aide de Gestion des pages ou attribuer un nom unique à un portlet ou une page dynamique.
Une IU dynamique est indépendante de son point d'origine. Par exemple, si un portlet lance une page dynamique, la page lancée est conservée même si le portlet ou la page de création est supprimé. Une IU dynamique est la copie d'une définition de page ou de portlet au moment où l'instance est créée et n'est pas affectée par les modifications apportées ultérieurement à la définition. Par défaut, l'IU dynamique acquiert le titre et la description de sa définition de page ou de portlet. Toutefois, il est possible de remplacer le titre et la description par programme lors du lancement de l'IU dynamique.
Pages dynamiques
Une page dynamique est l'instance d'une page statique existante, appelée page definition. La définition de page sert de modèle à partir duquel toutes les instances dynamiques sont créées. Les utilisateurs doivent avoir des droits d'affichage sur la définition de page pour ouvrir une instance dynamique de cette page. La définition de page peut être créée par l'administrateur à l'aide de XMLAccess ou de Gestion des pages. La page dynamique copie la disposition et le contenu (conteneurs, portlets et câbles) ainsi que les préférences de portlet fournies par la définition de page. Les modifications apportées à la définition de page n'affectent pas la disposition ou le contenu des pages dynamiques qui ont déjà été lancées. La disposition et le contenu de l'instance de page dynamique ne peuvent pas être personnalisés.
Lorsqu'un portlet lance une page dynamique, la nouvelle instance de page apparaît dans la navigation sous un noeud créé uniquement pour contenir les pages dynamiques. Ce noeud est appelé extension node. Le conteneur des pages de tâches pour l'intégration de processus métier est un exemple de noeud d'extension. Un seul portail peut avoir plusieurs noeuds d'extension, un pour chaque configuration d'interface utilisateur dynamique. Toutefois, les noeuds d'extension sont destinés à contenir uniquement les pages dynamiques. Les noeuds statiques ajoutés sous la topologie de contenu d'un noeud d'extension ne sont pas visibles. Les pages dynamiques ne sont pas visibles pour les utilisateurs anonymes, même si les utilisateurs anonymes ont des droits de visualisation sur la définition de page.
Dans la plupart des cas, vous devez masquer la définition de page aux utilisateurs en la plaçant dans une sous-arborescence de la hiérarchie de contenu à laquelle il est impossible d'accéder par la navigation dans le portail. Dans la configuration des processus métier, par exemple, les définitions de page des tâches sont créées sous un nœud Définitions de page de tâches accessible uniquement à l'administrateur.
Portlets dynamiques
Les portlets dynamiques comprennent les portlets d'une page dynamique et les portlets qui sont ajoutés dynamiquement à la page. Les portlets dynamiques peuvent recevoir des propriétés du portlet qui lance l'IU dynamique. Le portlet de traitement des tâches, qui est un composant de l'intégration des processus métier, est un exemple de portlet dynamique.
Lorsqu'un portlet est ajouté dynamiquement à une page dynamique existante, il est ajouté à des conteneurs spéciaux qui ont été désignés comme zones de lancement. Chaque portlet dynamique qui est ajouté à la page est placé dans la colonne contenant le moins de portlets. Si tout le contenu d'une page dynamique est verrouillé, toute tentative de lancement d'un portlet dynamique sur cette page émet une exception AddUIElementException.
- Un utilisateur peut accéder au mode d'édition pour un portlet dynamique. Toutefois, les préférences ne sont pas conservées (elle ne peuvent pas être conservées).
- Pour qu'un utilisateur puisse lancer un portlet dynamique, il doit disposer des droits de visualisation sur la définition de portlet à partir de laquelle le portlet dynamique sera lancé.
- Les portlets dynamiques ne peuvent pas être déplacés sur une page dynamique.
Configuration d'interface utilisateur dynamique
Une configuration d'interface utilisateur dynamique inclut les paramètres et les composants de logiciel d'un portail qui prennent en charge différentes structures d'application pour l'IU dynamique. Par exemple, un site de portail peut bénéficier de la configuration fournie par l'intégration de processus métier et prendre en charge une autre configuration d'interface utilisateur dynamique dans un but différent. Le portlet de lancement peut appeler une configuration d'interface utilisateur dynamique spécifique par le nom unique attribué à son noeud d'extension. Les pages dynamiques sont attribuées au noeud d'extension pour la configuration pour lequel il est créé.
Propriétés d'interface utilisateur dynamiques
Au moment du lancement, un portlet peut transmettre des propriétés à une IU dynamique à l'aide de l'API du courtier de propriétés. Les propriétés peuvent être définies pendant ou après le lancement de l'IU dynamique. L'objectif de ces propriétés est d'apporter aux portlets cibles toutes les informations nécessaires à l'accomplissement de leur tâche, comme par exemple une entrée d'agenda à traiter ou un document à ouvrir.
Les propriétés transmises à une page dynamique sont disponibles pour tous les portlets de la page. Les propriétés transmises à un portlet dynamique sont disponibles uniquement pour ce portlet. Toutefois, les portlets dynamiques doivent exprimer leur intention de recevoir des propriétés dynamiques à l'aide d'un paramètre de préférence dans leur descripteur. Par exemple, dans une configuration de processus métier, les portlets Mes tâches envoient les propriétés TaskID, ReturnPageID et TaskUIHandle à la page dynamique. Le portlet de traitement des tâches affecte la valeur true à la préférence com.ibm.portal.pagecontext.enable de sorte qu'elle reçoive ces propriétés. Pour les portlets HCL, elle est définie comme un paramètre de configuration. De plus, les portlets HCL doivent modifier l'entrée de classe de servlet du fichier web.xml en spécifiant la classe com.ibm.wps.pb.wrapper.PortletWrapper.
Si les propriétés de page sont définies plusieurs fois avant que le contexte ne soit fourni, seul le dernier paramètre défini est distribué aux portlets sur la page cible.
Interfaces utilisateur dynamiques partagées
Une shared dynamic UI est une page dynamique ou un portlet dynamique dans lequel une seule instance partagée peut exister pour un utilisateur à un moment donné. Un portlet peut explicitement lancer un portlet partagé ou une page partagée à l'aide de la méthode addSharedPage() ou addSharedPortlet(). Si une instance d'interface utilisateur dynamique partagée existe déjà, elle est réutilisée. Sinon, une nouvelle instance est créée et marquée comme portlet partagé pour une page donnée ou comme page partagée pour une instance d'IU dynamique.
Si une interface utilisateur dynamique est lancée comme étant partagée, le lancement ultérieur de l'interface utilisateur à l'aide des méthodes non partagées (addPortlet() et addPage()) crée une nouvelle instance. Pour garantir que la même instance partagée est utilisée, le portlet de lancement doit constamment utiliser les méthodes partagées.
La portée d'une instance de portlet partagé ou de page partagée se limite à une configuration d'IU dynamique. Cela signifie, par exemple, qu'un portlet peut ajouter une page dynamique partagée dans la configuration d'IU dynamique A. Lorsqu'un autre portlet tente également de créer une instance partagée dans une configuration d'IU dynamique B, une nouvelle instance est créée.