You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-fr@cocoon.apache.org by Frédéric Glorieux <fr...@ajlsm.com> on 2005/11/04 19:09:55 UTC

repeater, voir des éléments répétés

J'essaie de faire qu'un document enregistré avec un formulaire puisse 
être revu dans ce formulaire. J'ai l'impression que ce n'est pas 
possible avec des repeater. Exemple, sur la démo dreamteam, est-ce qu'il 
y a moyen de revoir sa dreamteam ?


-- 
Frédéric Glorieux (AJLSM, http://ajlsm.com)

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Frédéric Glorieux <fr...@ajlsm.com>.
Il faut tout de même écrire du java apparemment ?

<map:action name="init-form" 
src="org.apache.cocoon.forms.samples.InitForm1Action" logger="forms"/>

Bon ben je vais du java alors.

> J'essaie de faire qu'un document enregistré avec un formulaire puisse 
> être revu dans ce formulaire. J'ai l'impression que ce n'est pas 
> possible avec des repeater. Exemple, sur la démo dreamteam, est-ce qu'il 
> y a moyen de revoir sa dreamteam ?



-- 
Frédéric Glorieux (AJLSM, http://ajlsm.com)

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Frédéric Glorieux <fr...@ajlsm.com>.
Tout d'abord merci pour ces éclaircissements, on a parfois du ruser pas 
mal avec les repeaters.

>> OK. On peut se passer de java, mais il faut tout de même du code pour 
>> charger un repeater.
> 
> Non, le binding <fb:repeater> est là exactement pour ce besoin.

Comme je disais, soit une instance à éditer avec un repeater contenant 
déjà 10 éléments. J'arrive à charger le premier élément dans le 
formulaire, à en mettre quelques vides avant, mais pas à faire charger 
les 10 que j'ai déjà.

A noter :o(, je suis bloqué à cocoon 2.1.5


> Oui, actuellement il est nécessaire d'avoir un tag englobant la 
> collection, désigné par @parent-path.
> 
> Il y a toutefois un binding "caché" (parce qu'expérimental) pour les 
> repeater, nommé "temp-repeater" qui permet ce genre de choses. Il 
> faudrait fusionner le code de ces 2 bindings, et utiliser la mécanique 
> du temp-repeater s'il n'y a pas de @parent-path.

Je vais regarder cela, mais si c'est trop expérimental, c'est peut 
coûteux d'aller transformer après.

-- 
Frédéric Glorieux (AJLSM, http://ajlsm.com)

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Sylvain Wallez <sy...@apache.org>.
Frédéric Glorieux wrote:
>> Oublie InitForm1Action et utilise le flowscript! Cette action est un 
>> exemple de mise en oeuvre de CForms sans flowscript, pour les cas où 
>> on veut avoir une interaction sans session.
>
> OK. On peut se passer de java, mais il faut tout de même du code pour 
> charger un repeater.

Non, le binding <fb:repeater> est là exactement pour ce besoin.

> Autre chose, est-ce possible d'avoir une structure de ce genre avec un 
> repeater
>
> <record>
>   <dc:title>Titre unique</dc:title>
>   <dc:creator>Premier auteur</dc:lcreator>
>   <dc:creator>Deuxième auteur</dc:lcreator>
>   <dc:subject>Sujet</dc:subject>
> </record>
>
> titre, auteur sujet peuvent être un peu mélangés, mais il faut au 
> moins que premier auteur reste avant le deuxième.
>
> J'ai cru comprendre qu'il fallait un conteneur du genre 
> "creator-group", ce qui veut dire pour moi une transformation, pour 
> remettre le XML comme il me le faut ?

Oui, actuellement il est nécessaire d'avoir un tag englobant la 
collection, désigné par @parent-path.

Il y a toutefois un binding "caché" (parce qu'expérimental) pour les 
repeater, nommé "temp-repeater" qui permet ce genre de choses. Il 
faudrait fusionner le code de ces 2 bindings, et utiliser la mécanique 
du temp-repeater s'il n'y a pas de @parent-path.

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Frédéric Glorieux <fr...@ajlsm.com>.
> Oublie InitForm1Action et utilise le flowscript! Cette action est un 
> exemple de mise en oeuvre de CForms sans flowscript, pour les cas où on 
> veut avoir une interaction sans session.

OK. On peut se passer de java, mais il faut tout de même du code pour 
charger un repeater.

Autre chose, est-ce possible d'avoir une structure de ce genre avec un 
repeater

<record>
   <dc:title>Titre unique</dc:title>
   <dc:creator>Premier auteur</dc:lcreator>
   <dc:creator>Deuxième auteur</dc:lcreator>
   <dc:subject>Sujet</dc:subject>
</record>

titre, auteur sujet peuvent être un peu mélangés, mais il faut au moins 
que premier auteur reste avant le deuxième.

J'ai cru comprendre qu'il fallait un conteneur du genre "creator-group", 
ce qui veut dire pour moi une transformation, pour remettre le XML comme 
il me le faut ?

-- 
Frédéric Glorieux (AJLSM, http://ajlsm.com)

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Sylvain Wallez <sy...@apache.org>.
Frédéric Glorieux wrote:
> Sylvain Wallez wrote:
>> Frédéric Glorieux wrote:
>>>
>>> J'essaie de faire qu'un document enregistré avec un formulaire 
>>> puisse être revu dans ce formulaire. J'ai l'impression que ce n'est 
>>> pas possible avec des repeater. Exemple, sur la démo dreamteam, 
>>> est-ce qu'il y a moyen de revoir sa dreamteam ?
>>
>> Je ne comprends pas bien la question. Un formulaire peut être sauvé 
>> dans une structure de donnée (objects java ou xml) via un binding, 
>
> Pas de pb. ça marche très bien (et pour les choses simples javascript 
> est assez joli).
>
> Quand je reprends mon document XML dans le formulaire, tout marche 
> très bien quand il n'y a pas de repeater. Le binding attaque les bons 
> noeuds pour les mettre dans le formulaire.
>
> Par contre pour un repeater...
>
> Disons que j'ai
>
> <repeat>
>   <coucou>beuh1</coucou>
>   <coucou>beuh2</coucou>
>   <coucou>beuh3</coucou>
> <repeat>
>
> il me semblait que le formulaire allait charger beuh1, beuh2, beuh3
>
> J'arrive tout au plus à charger le premier, ou en mettre quelques 
> vides avant le premier, et en fouillant les exemples j'ai vu
>
> <map:action name="init-form" 
> src="org.apache.cocoon.forms.samples.InitForm1Action" logger="forms"/>
>
> qui semble bien nécessaire pour charger plusieurs valeurs ?

Oublie InitForm1Action et utilise le flowscript! Cette action est un 
exemple de mise en oeuvre de CForms sans flowscript, pour les cas où on 
veut avoir une interaction sans session.

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Frédéric Glorieux <fr...@ajlsm.com>.
Sylvain Wallez wrote:
> Frédéric Glorieux wrote:
>>
>> J'essaie de faire qu'un document enregistré avec un formulaire puisse 
>> être revu dans ce formulaire. J'ai l'impression que ce n'est pas 
>> possible avec des repeater. Exemple, sur la démo dreamteam, est-ce 
>> qu'il y a moyen de revoir sa dreamteam ?
> 
> Je ne comprends pas bien la question. Un formulaire peut être sauvé dans 
> une structure de donnée (objects java ou xml) via un binding, 

Pas de pb. ça marche très bien (et pour les choses simples javascript 
est assez joli).

Quand je reprends mon document XML dans le formulaire, tout marche très 
bien quand il n'y a pas de repeater. Le binding attaque les bons noeuds 
pour les mettre dans le formulaire.

Par contre pour un repeater...

Disons que j'ai

<repeat>
   <coucou>beuh1</coucou>
   <coucou>beuh2</coucou>
   <coucou>beuh3</coucou>
<repeat>

il me semblait que le formulaire allait charger beuh1, beuh2, beuh3

J'arrive tout au plus à charger le premier, ou en mettre quelques vides 
avant le premier, et en fouillant les exemples j'ai vu

<map:action name="init-form" 
src="org.apache.cocoon.forms.samples.InitForm1Action" logger="forms"/>

qui semble bien nécessaire pour charger plusieurs valeurs ?



> et 
> rechargé depuis cette structure de données. Ca marche aussi avec les 
> repeaters.
> 
> Et il n'y a pas besoin d'écrire de Java si on utilise flowscript :-)
> 
> Sylvain
> 


-- 
Frédéric Glorieux (AJLSM, http://ajlsm.com)

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Re: repeater, voir des éléments répétés

Posted by Sylvain Wallez <sy...@apache.org>.
Frédéric Glorieux wrote:
>
> J'essaie de faire qu'un document enregistré avec un formulaire puisse 
> être revu dans ce formulaire. J'ai l'impression que ce n'est pas 
> possible avec des repeater. Exemple, sur la démo dreamteam, est-ce 
> qu'il y a moyen de revoir sa dreamteam ?

Je ne comprends pas bien la question. Un formulaire peut être sauvé dans 
une structure de donnée (objects java ou xml) via un binding, et 
rechargé depuis cette structure de données. Ca marche aussi avec les 
repeaters.

Et il n'y a pas besoin d'écrire de Java si on utilise flowscript :-)

Sylvain

-- 
Sylvain Wallez                        Anyware Technologies
http://people.apache.org/~sylvain     http://www.anyware-tech.com
Apache Software Foundation Member     Research & Technology Director


---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org