plus loin. A priori, sans trop tester (mais c'est la première fois que
j'allais aussi loin dans les cards), ça fonctionne. Il y a encore quelques
questions mais on verra ça à Paris. (il y a eu un conflit au niveau des
Cards, je ne vérifie pas si ça fonctionen toujours, je n'ai pas vraiment le
temps...) (normalement, oui)
- Ajout d'un LdapPeopleWeb pour aller chercher les personnes dans un annuaire
LDAP. Ça va de pair avec l'authentification LDAP et ça marche.
- Ajout d'un groupe "Logged Users" dont la possibilité a été découverte par
hasard. (le groupe "General Public" m'acceptait quand je n'étais pas loggé
et me refusait quand j'étais loggé via LDAP, avec un userId != people)
- Ajout du support pour commentaires à un article, ça fonctionne mais c'est un
peu caché pour le moment.
- ...
toutes les fiches ayant un même prototype. C'est cette vue qui apparait dans
le menu Go et dans la liste All Objects, quand le prototype a été déclaré
comme fiche modèle.
stateInEditMode, stateInViewMode et stateInUseMode.
Ces variables ont trois états :
- hidden
- read-only
- read-write (sauf stateInViewMode qui n'a pas l'état read-write)
toujours aucun et jamais tous.
Un widget SelectId a maintenant la possibilité d'avoir des ids apparaissant en
permanence.
Création d'une kind UsersSet dont dérivent les kinds ReadersSet, WritersSet,
...
Déboguage des groupes.
Refonte complète du mécanisme de mise à jour des données lors de changements
de versions.
d'héritage à l'intérieur des kinds et des widgets, en simplifiant l'API du
serveur de fiches, en supprimant la notion de mutation, ...
Correction de la méthode detach des slots afin qu'elle fonctionne même quand
le slot à détacher n'existe pas (par exemple, 1er élément d'une séquence
vide). Corrige bug #129.
d'introduire des erreurs un peu partout.
Changement de la manière dont sont gérés les multiples virtualServers. La
manière précédente posait des problèmes avec certains serveurs qui pensaient
que le virtualServer localhost existait et d'autres pas. Ce nettoyage a
nécessité des changements un peu partout.
Tous les tests de non-régression n'ont pas encore été modifiés pour
fonctionner avec ce nouveau mécanisme.
Pour tous les serveurs, quand il n'y a pas encore d'administrateur système
déclaré, tout utilisateur, même non identifié est considéré comme
administrateur système.
Corrections d'erreurs lors des dernières modifications du dataflow.
Correction des fonctions getXxxForServerRole, pour qu'il soit maintenant
possible de faire :
virtualHostsProxy = getProxyForServerRole('virtualhosts')
...
import glasnost.proxy.VirtualHostsProxy
dans cet ordre.
(durée : 2,5 jours intensifs)
que le premier utilisateur appartienne à ce virtual host. (Cela marche, si
on ne fait aucune erreur de saisie. Et cela ne marche qu'une fois car les
données système ne sont pas encore totalement en lecture seule).
Corrections diverses afin que le script fonctionne.
logué puisse créer et modifier des fiches, quand il n'y a aucun
administrateur.
Ajout des instructions ApplicationToken, ClientToken, ExtractDispatcherId,
MakeApplicationId & UserToken
Plus diverses corrections, afin que le script dataflow de création d'un
utilisateur fonctionne.
# #
# # # #### ##### #### # ##### ######
# # # # # # # # # # # #
# # # # # # # # # # #####
# # # # # # # # ##### #
# # # # # # # # # # # #
# # #### # #### # # # ######
Pour utiliser ce premier script dataflow, assurez vous que le CardsServer et
le DataflowsServer ne sont pas désactivés et faire :
make system
make install
glasnost-devel start
puis aller à l'URL http://localhost/init
C'est lent, c'est incomplet, c'est livré en retard, etc, mais cela marche.
Correction de l'instruction ObjectSlotValue du dataflow pour qu'elle passe les tests de non régression.
Et surtout : Refonte complète du mécanisme de newThing (et importThing), afin que, par exemple, quand un serveur récupère un objet distant d'un autre serveur, l'objet soit un objet proxy, mais que les slots et kinds qu'il contient soient eux des éléments server (s'ils ne sont pas spécifiques). Cela permet à ce serveur de manipuler les slots d'un objet proxy et les récupérer dans ses propres objets sans avoir à les convertir.
Le mécanisme ci-dessus peut paraître bizarre, mais je parie un stagiaire que c'est la bonne manière de faire.
Mise de la variable globale applicationTokens dans le contexte global des serveurs.
Suppression de la variable mainModule (les variables globales sont maintenant toutes dans le contexte).
Suppression de l'attribut serverId de la classe Proxy.
Suppression de la fonction getDefaultDispatcherId.
Petite modification cosmétique (mineure : transformation des fonctions FaultXxx en classes faults.Xxx). Comme cette modification porte uniquement sur quelques caractères je ne l'ai pas testée.
- Lors de la création d'une fiche, les valeurs initiales sont maintenant celles du (ou des) prototypes.
- Correction de la méthode getDefaultPropertyValue.
- La méthode setValue des slots appelle maintenant la méthode setValue des slots parents, si nécessaire.
- La racine d'un slot n'est plus nécessairement n'est plus nécessairement un objet.
- La méthode setValue d'un slot de classe PropertyValue ne compare plus avec la valeur par défaut et met la valeur dans tous les cas.
- Remaniement du mécanisme de stockage de la value directement dans les slots.
Tiens, il y a maintenant une nouvelle chose à corriger : il faut rajouter un copyright 2003 partout. Bonne année à tous (en espérant qu'elle commencera de manière un peu conceptuelle pour certains :-).