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).
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.
Changement du nom de ces fonctions.
Changement de la manière dont les contextes sont empilés (liste chaînée au lieu de tableau auparavant). Cette modification permet à plusieurs threads de partager partiellement la même pile de contextes (nécessaire pour le dataflow).
Note : j'ai peut-être caché d'autres modifs dans ce commit géant. Peut-être, peut-être pas ? À vous de trouver :-)
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...