Recommandations de modèle de programmation pour le mode côté serveur

Cette rubrique répertorie les widgets que vous pouvez utiliser dans le mode côté serveur et décrit comment adapter des widgets pour ce mode.

Widgets utilisables dans le mode côté serveur

En général, tous les widgets programmés par rapport à la spécification iWidget peuvent être affichés en mode côté serveur. Toutefois, contrairement à l'affichage côté client, les actualisations complètes se produisent fréquemment, et pas seulement si une action utilisateur les déclenche explicitement. Par exemple, chaque fois qu'un utilisateur déclenche une action de portlet, une actualisation complète de la page se produit, entraînant l'extraction de la page mise à jour à partir du serveur. Cela signifie également que le modèle d'objet de document (DOM) est régénéré suite à une interaction utilisateur standard. Par conséquent, pour écrire un widget qui fonctionne en mode côté serveur, appliquez les instructions énumérées ci-après :
  • L'état doit toujours être stocké à l'aide des événements modifiés onNavState et non dans le modèle d'objet de document (DOM). Sinon il est supprimé après l'actualisation d'une page.
De plus, certains événements prédéfinis spécifiés par la spécification iWidget se comportent différemment lorsque vous les utilisez en mode de rendu côté client :
  • onRefreshNeeded : Cet événement n'est pas envoyé après une actualisation de la page.
  • onSizeChanged : Cet événement est envoyé uniquement s'il est pris en charge par l'habillage qui l'utilise.
  • onNewWire :
    • Cet événement peut être envoyé par un composant d'interface utilisateur côté client pour les widgets sur la même page.
    • Il n'est pas envoyé si le modèle de connexion de la page a été modifié en externe.
    • Cet événement n'est pas envoyé après une actualisation de la page.
  • onRemoveWire :
    • Cet événement peut être envoyé par un composant d'interface utilisateur côté client pour les widgets sur la même page.
    • Il n'est pas envoyé si le modèle de connexion de la page a été modifié en externe.
    • Cet événement n'est pas envoyé après une actualisation de la page.

Options des interactions entre les widgets et les portlets

Les iWidgets ne peuvent pas réaliser les opérations suivantes :
  • Envoyer des événements vers les portlets JSR168 ou JSR286.
  • Recevoir des événements depuis les portlets JSR168 ou JSR286.
  • Partager des paramètres de rendu avec les portlets JSR286.
Les iWidgets peuvent réaliser les opérations suivantes :
  • Envoyer des événements et recevoir des événements depuis d'autres iWidgets.
  • Partager des paramètres de rendu avec d'autres iWidgets sur la même page à l'aide d'ensembles d'éléments partagés.