Evolution #964
Evolution #1984: Add Map field type
In wikitty add support for 'variant'
| Status: | Nouveau | Start date: | 10/20/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% | |
| Category: | - | Estimated time: | 6.00 hours | |
| Target version: | futur | Spent time: | - |
Description
Le but est d'ajouter la notion de 'variant' sur les valeurs des 'wikitty'. Le wikitty reste comme il est mais en plus contient une map variant avec en cle le nom du variant et en valeur un objet 'WikittyVariant' qui contient
protected HashMap<String, Object> fieldValue = new HashMap<String, Object>();
protected Set<String> fieldDirty = new HashSet<String>();
comme un wikitty. (peut-etre faire un peu de factorisation dans wikitty pour avec une variant par defaut (ex: "") ce qui permettrait de traiter le wikitty et les variantes de la meme facon).
Il faut donc modifier les storages pour stocker les variants et les restorer, et modifier l'indexation pour les indexer. Pour le stockage il suffit peut-etre de prefixer les noms de champs des variants par le nom du variant. Pour l'indexation peut etre simplement indexer de la meme facon, mais prefixer l'id du document lucene par le variant, et ajouter un nouveau champs pour l'id du wikitty. De cette facon on peut bien faire des recherches sur les champs (il porte le meme nom).
Exemple d'utilisation:
I18n: un variant par langue (fr, en, es, ...)
prix: un variant par monnaie (euro, dollars, livre, ...)
History
#1
Updated by Benjamin Poussin over 2 years ago
- Target version changed from 189 to 3.0
#2
Updated by Benjamin Poussin over 2 years ago
- Subject changed from Ajout du support de 'variant' dans les wikitty to In wikitty add support for 'variant'
#3
Updated by Benjamin Poussin over 2 years ago
- Target version changed from 3.0 to 3.1
#4
Updated by Sylvain Letellier about 2 years ago
- Target version changed from 3.1 to 3.1.1
#5
Updated by Benjamin Poussin about 2 years ago
- Target version changed from 3.1.1 to 3.3
Est-ce vraiment utile d'avoir ca dans l'api de Wikitty ? ne serait pas mieux d'implanter le type Map comme champs possible en plus des List. Et laisser le travail a la charge de l'application au moins dans un 1er temps pour voir comment évolue le besoin.
La cle de la Map ne pourrait-être que des chaines. Et pour l'indexation on pourrait indexer champs#cle:valeur
#6
Updated by Benjamin Poussin over 1 year ago
- Target version changed from 3.3 to 3.4
#7
Updated by Éric Chatellier over 1 year ago
- Target version changed from 3.4 to 3.5
#8
Updated by Benjamin Poussin over 1 year ago
- Parent task set to #1984
Ne rien implanter de specifique pour les variants au niveau des storages. Se baser uniquement sur les champs de type Map.
Pour gérer les variants, on peut si on le souhaite ajouter un tag/value ex: map-default=fr
Si on essaie de récupérer ou modifier la valeur du champs sans passer la cle de la map, alors la clé par defaut sera utilisé.
getFieldAsString(extName, fieldName)
est equivalent a
getFieldAsString(extName, fieldName, "fr")#9
Updated by Benjamin Poussin over 1 year ago
- Target version changed from 3.5 to 4
#10
Updated by Benjamin Poussin 4 months ago
- Target version changed from 4 to futur