>>> t
[20004, 6, 2, 0, 17, 3, 2, 154, 1]
>>> time.mktime(t)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
OverflowError: mktime argument out of range
le résultat de getObjectLabelsTranslated (qui est ultra-lent dans le cas des
identités car pour chacune, il y a un appel à la fiche person pour récupérer
son label (nécessiterait d'utiliser le cache au niveau du serveur d'identité,
pas prudent pour le moment))
peut définir les attributs via des classes (je les avais gardé car ils sont
encore utilisés dans Metis; je les supprime maintenant parce que je connais
maintenant le code de Metis)
- convergence du kind Id et le kind Choice; il est désormais possible
d'utiliser le widget Choice pour les Id.
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
infos.xml qui permettent d'avoir des traductions (via gettext via intltool)
- renommé getLastDigestAndLabels en getSomeDigestAndLabels puisqu'il n'y a rien
de "Last" dans la sélection (clôt bug 216 (quoiqu'il aurait aussi fallu
modifier le texte présenté dans l'interface web))
- envoi de talkbacks en cas d'erreur dans l'html, et envoi de l'html erroné
quand on n'est pas en debug
- option pour lier une fiche personne à un compte de l'authentification
- l'email avec le mot de passe peut être personnalisé dans l'admin de
l'authentification login/password (et traduit)
- suppression de la possibilité de redéfinition des common&proxy et de la récup
via getCommonForServerRole et getProxyForServerRole. Seul les web garde ce
support
- j'ai toujours une ligne blanche au milieu de mon écran et c'est très gênant.
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.
- ...
kinds entre eux mais les kinds ont maintenant deux méthodes:
- convertValueFromOtherKind(self, value, otherKind)
-> converti la valeur issue d'un autre kind en quelque chose d'acceptable
pour ce kind (exemple, passer d'une String contenant une date entrée par
un humain à un float avec le nombre de seconde depuis '70)
- convertValueToOtherKind(self, value, otherKind)
-> la même chose, dans l'autre sens
Modification du widget InputText pour utiliser la seconde méthode.
(les tests web fonctionnent encore, ça veut dire qu'il en manque :) )
Pour faire un bouton dans un formulaire : on ajoute un champ de type Command à
la fiche. Ce champ contient le nom de l'action à exécuter (par exemple create
ou modify ou delete ou None ou ...), ainsi que l'url de la page sur laquelle il
faut aller après avoir exécuté l'action.
Dans la fonction submit, cette commande est récupérée. Elle peut alors être
récupérée par les scripts (qui ont maintenant une variable globale command en
plus de self) qui peuvent faire ainsi des traitements spécifiques, puis
modifier éventuellement la commande. Après exécution des scripts, la fonction
submit reprend la main et exécute l'action spécifiée dans la commande (ou rien
si celle-ci vaut None), puis redirige vers la page indiquée dans la commande.
En plus, cela marche :-)
* Renommage de commands en actions, car commands est le nom d'un module
standard Python.
les erreurs web (pas tout testé, notamment il y a un truc cassé dans les
nouveaux tests web, je vais regarder, je commit pour que la branche refuznik
remerge)
- re-fonctionnement quand le serveur de traductions n'est pas présent
- suppression de compte ou 'compte et utilisateur' dans l'authentification
- détails de style dans les templates
- début de tests pour l'interface web
- ... (?)