Upgrade en reprenant les informations des anciens serveurs
d'authentification. Cela devrait permettre de se logguer (un peu testé),
mais cela ne marche pas encore pour les anciens votes par exemple.
Amélioration du mécanisme d'upgrade : les fonctions d'upgrade peuvent être
maintenant aussi mises ailleurs que dans les serveurs.
N'enregistre plus les données salies lorsqu'un serveur s'appelle directement
(afin d'éviter une boucle sans fin).
- très bonne idée (c'est moi qui le dit) pour les commentaires: "commentaires
éditoriaux" dont les lecteurs == les éditeurs de l'objet commenté
- moi aussi j'avais corrigé le generalPublic dans les virtualhost
- les tests ont l'air de tourner (pas réessayé aujourd'hui)
- modifs diverses
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.
- ...
Nouvelle fonction splitId acceptant n'importe quel type d'id.
Création des fonctions X.actionUrl et X.idUrl servant à remplacer X.url,
dont l'utilisation ne fonctionne pas toujours correctement avec des Glasnost
distants.
Remplacement de X.url par ces deux fonctions dans ObjectsWeb.py.
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.
classes :
- les groupes "All" servant pour créer le groupe système désignant tous
les utilisateurs y compris ceux non identifiés ;
- les groupes "Union", qui sont les groupes par défaut et qui contiennent
l'union de leurs membres.
- les groupes "Intersection", qui contiennent les éléments appartenant à
l'instersection de leurs membres.
- Les groupes "Delta", qui contiennent les éléments de leur premier membre
qui ne sont pas éléments des autres membres.
Les groupes "Intersection" et "Delta" ne devraient pas servir souvent mais
permettent de couvrir tous les cas théoriques.
* Modification de la méthode modify des objets afin qu'elle permette désormais
de changer la classe de l'objet modifié.
* Changement dans le tri des menus.
Corrections de quelques erreurs qui trainaient.
Bien sûr, dès le premier jour de programmation de Glasnost (et même avant), nous aurions pu écrire ce mécanisme de wrapper. Vous pouvez donc être légitimement très surpris en découvrant petit à petit que l'équipe Glasnost savait d'avance et apparemment très précisément les changements qu'il y avait à apporter. IL aurait effectivement été plus simple de vous dire dés le départ : voici le code auquel doit aboutir notre développement.
Mais c'est un complot et la vérité est ailleurs : http://seti.easter-eggs.org/
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.
se reposer
01:40: hum.
Les proxy ne sont chargés (et instanciés) que quand nécessaire. Et il n'y a
plus de liste des modules possibles hardcodées dans tools_new.py
Ça a été testé mais l'ampleur est telle que des bugs sont certainement passés.
Il faudra ensuite faire la même chose avec les webs...