Suite du tutorial
- AFCS – Tutorial Introduction à AFCS avec Flex (1)
- AFCS – Tutorial Introduction à AFCS avec Flex (2 – Préparer la room et Flex Builder)
- AFCS – Tutorial Introduction à AFCS avec Flex (3 – Les composants de base Pods)
- AFCS – Tutorial Introduction à AFCS avec Flex (4 – Authentification et Session)
- AFCS – Tutorial Introduction à AFCS avec Flex (5 – Types de Droits Utilisateur)
- AFCS – Tutorial Introduction à AFCS avec Flex (6 – Architecture Globale d'AFCS)
- AFCS – Tutorial Introduction à AFCS avec Flex (7 – Utilisation du Shared Manager UserManager)
- AFCS – Tutorial Introduction à AFCS avec Flex (8 – Données partagées et CollectionNodes)
- AFCS – Tutorial Introduction à AFCS avec Flex (9 – Exemple Simple de CollectionNode)
Traduction de Introduction to Adobe Flash Collaborative Services par Romin Irani. Dans le tutorial Flex précédent, on a vu comment créer et gérer des CollectionNode AFCS. Ce Data Model est le plus fondamental dans AFCS. Voyons maintenant un Data Model bien spécifique: SharedProperty. C'est une manière simple et rapide de créer une valeur partagée par tous les utilisateurs de l'application. Dans l'application que l'on va créer, on va avoir un champ texte dont la valeur sera partagée et mise à jour pour tous les utilisateurs de l'appli Flex. Le code est principalement celui du tutorial sur les CollectionNode, pour tout ce qui concerne le login. Voici les éléments importants du code:
- Lors de la synchronisation de la room, on construit et initialise une SharedProperty comme ceci:
sp = new SharedProperty();
sp.connectSession = afcsSession;
sp.sharedID = "idURL";
sp.subscribe();
sp.addEventListener(SharedPropertyEvent.CHANGE,onSharedPropertyChange);
- On écoute l'évènement SharedPropertyEvent.CHANGE. Quand il est dispatché, on invoque la méthode onSharedPropertyChange, qui met simplement à jour le champ texte:
public function onSharedPropertyChange(event:SharedPropertyEvent):void {
trace("Shared Property Changed");
txtURL.text = event.value;
}
- Lorsque l'on publie un message, on fixe simplement la valeur sur la Shared Property. La SharedProperty englobe le MessageItem, on a donc pas à construire un MessageItem à la main cette fois
public function setValue():void {
sp.value = txtURL.text;
}
Suite du tutorial
- AFCS – Tutorial Introduction à AFCS avec Flex (1)
- AFCS – Tutorial Introduction à AFCS avec Flex (2 – Préparer la room et Flex Builder)
- AFCS – Tutorial Introduction à AFCS avec Flex (3 – Les composants de base Pods)
- AFCS – Tutorial Introduction à AFCS avec Flex (4 – Authentification et Session)
- AFCS – Tutorial Introduction à AFCS avec Flex (5 – Types de Droits Utilisateur)
- AFCS – Tutorial Introduction à AFCS avec Flex (6 – Architecture Globale d'AFCS)
- AFCS – Tutorial Introduction à AFCS avec Flex (7 – Utilisation du Shared Manager UserManager)
- AFCS – Tutorial Introduction à AFCS avec Flex (8 – Données partagées et CollectionNodes)
Traduction de Introduction to Adobe Flash Collaborative Services par Romin Irani.
Dans le tutorial flex précédent, on a vu comment étaient gérés les CollectionNode, ces entités qui servent à partager de l'information entre les utilisateurs.
Cette fois, on va voir un exemple de création et d'utilisation de CollectionNode. Cet exemple est une application de Chat simplifiée. Cette application va permettre aux utilisateurs de publier des messages (une URL de site internet à partager) vers un CollectionNode. L'application en elle-même est aussi inscrite au CollectionNode est sera ainsi informée lorsqu'un message est publié. On va ensuite récupérer ce message et l'ajouter à la zone de texte (TextArea).
Un point sur les Permissions (droits utilisateur)
Pour pouvoir lancer les exemples de ce tuto flex, souvenez-vous que vous devez vous enregistrer d'abord comme utilisateur OWNER, c'est-à-dire grâce à votre compte AFCS. La première fois que l'application est lancée, il n'y a pas de donnée. Lors de l'envoi du premier message, le CollectionNode doit être crée. Cependant, il faut prendre en comptes les permissions (voir le tuto flex sur les permission AFCS), car seuls les utilisateurs ayant le rôle OWNER peuvent créer des CollectionNode. Une fois que le CollectionNode est crée, les invités peuvent s'enregistrer sans problème.
Au final, il faut se souvenir que dans la plupart des situations, un Admin va devoir entrer dans la room et mettre en place tous les aspects configuration dont les CollectionNodes, etc. Si vous ne le faîtes pas, et que des invités essaient d'entrer pour la première fois, ils auront une Security Exception.
Jetons maintenant un oeil à l'application finale lors de son utilisation. Si vous la lancez pour la première fois, loggez vous avec votre compte AFCS. Une fois enregistré, vous verrez l'application vierge comme ceci:

A ce moment-là, si vous regarder dans la Developer Console, vous trouverez un nouveau CollectionNode nommé "chatMessageList" comme ceci:

Maintenant, rentrez une URL dans votre application (ou bien n'importe quel texte) et cliquez sur "Envoyer". Cela va publier l'item sur la CollectionNode "chatMessageList". Puisque l'application est inscrite sur ce Node, elle va recevoir un évènement (Event) qui va contenir le message que l'on a posté. Cela va simplement mettre à jour la zone de texte comme ceci:
