--- Em zope-pt@yahoogrupos.com.br, "Rodrigo Castardo"
<[EMAIL PROTECTED]> escreveu
>
> Pessoal,
> 
> segue uma dica, existe o CMFQuestion, ou CMFQuestions, que
implementa isso,
> eu comecei a tradução dele a uns 2 meses atrás e nao consegui
terminar, se
> nós traduzirmos o bixo ele provavelmente serve como uma luva para o
que o
> Daniel precisa e ainda ajudamos a na tradução do produto :)

Oi Rodrigo.
 
Dei uma olhada no CMFQuestions[1]. Confesso que não instalei.  Li a
documentação e dei uma olhada no código. Parece interessante para quem
precisa montar questionários on-line. Aliás na pesquisa encontrei um
outro Produto;CMF Questionnaire[2];com recursos bem interessantes

No entanto a natureza do produto que estou desenvolvendo é diferente.
É um banco de questões, com montagem e administração de provas,
processamento e divulgação de resultados para concursos. Infelizmente
a abordagem de [1] e [2] difere bastante da minha.

Analisei também o modo como ele implementou os diversos tipos de
questão para ver se me dava uma luz na questão da herança. Para minha
Infelicidade ele distingue os tipos de questão apenas na exibição (nos
templates). Eu realmente preciso de classes distintas. :-( 

Obrigado pela sugestão.

[1] http://plone.org/products/cmfquestions
[2] http://plone.org/products/cmfquestionnaire

[]s
Daniel

> 
> []'s
> 
> Castardo
> 
> 
> On 7/21/06, Juracy Filho <[EMAIL PROTECTED]> wrote:
> >
> > Eu tive este problema há algum tempo atrás e resolvi, porém, estou sem
> > este código a disposição no momento (na segunda posso verificar), não
> > lembro ao certo se resolvi usando BaseClass ou nenhuma super-classe.
> >
> > Quanto ao ArchGenXML, se você quiser que ele gere uma classe que não
> > herde de nenhuma super-classe você deve usar a tagged value:
> > base_class na classe, assim:
> >
> > base_class = 0
> >
> > Olhe em:
> >
http://plone.org/documentation/tutorial/archgenxml-getting-started/classes
> >
> > Simple Derivation
> >
> > All content types in Archetypes are derived from one of the base
> > classes - BaseContent, BaseFolder, OrderedBaseFolder and so on. If you
> > wish to turn this off, for example because the base class is being
> > inherited from a parent class, you can set the base_class tagged value
> > to 0.
> >
> >
> > On 7/21/06, Daniel Vainsencher <[EMAIL PROTECTED]> wrote:
> > > --- Em zope-pt@yahoogrupos.com.br, "Juracy Filho" <[EMAIL PROTECTED]>
escreveu
> > > >
> > > > Daniel, não pude testar para vê se realmente funciona, mas
acredito
> > > que a
> > > > solução do seu problema seria herdar Questao de BaseClass e não de
> > > > BaseContent.
> > > >
> > >
> > > Juracy, a sua sugestão não funcionou mas acho que lançou uma luz na
> > > direção correta.
> > >
> > > Troquei BaseContent por BaseClass mas ocorreu um  erro ao instalar o
> > > produto no Zope (na inicialização da instância) porque a classe
> > > BaseClass não foi encontrada. Procurei por exemplos em outros
produtos
> > > e não encontrei referência à bendita.
> > >
> > > No entanto encontrei esta referência em [1] :
> > >
> > > "By marking your class as abstract in your model (usually a separate
> > > tick-box), you are signifying that it will not be added as a content
> > > type. Such classes are useful as mixin parents and as abstract base
> > > classes for more complex content types, and will not have the
standard
> > > Archetypes registration machinery, factory type information or
derive
> > > from BaseClass."
> > >
> > > Ela sugere que classes abstratas não devem herdar de BaseClass (que
> > > interpretei como BaseContent). Fiz o teste excluindo BaseClass como
> > > super classe de Questão e funcionou.
> > >
> > > Bem, se isto que fiz estiver correto então o problema estaria no
> > > ArchgenXML que gera classes abstratas herdando de BaseContent. Será
> > > isto mesmo?
> > >
> > > [1]
> > >
> >
http://plone.org/documentation/tutorial/archgenxml-getting-started/tutorial-all-pages
> > >
> > > []s
> > > Daniel
> > >
> > > > On 7/21/06, Daniel Vainsencher <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > --- Em zope-pt@yahoogrupos.com.br, "Luciano Ramalho"
<[EMAIL PROTECTED]>
> > > > > escreveu
> > > > > >
> > > > > > Daniel, talvez algum guru mais esperto que eu saiba te dar a
> > > > > > solução, mas
> > > > > > quero tentar te ajudar dando um toque sobre terminologia:
quando
> > se
> > > > > > fala de
> > > > > > pai e filho em OO isso pode ser ambíguo.
> > > > > >
> > > > > > A maioria das vezes, o pai é a super-classe e o filho é a
> > > > > > sub-classe. Mas
> > > > > > pode ser também que se trate de uma relação de composição:
o pai
> > > é > um
> > > > > > container e o filho é o objeto contido. No Zope2, com o
mecanismo
> > > > > > de
> > > > > > aquisição, essa possível confusão fica ainda mais
presente. Mas
> > > > > > note que é
> > > > > > fácil separar, desde que fique claro que herança é uma
relação de
> > > > > > pai-filho
> > > > > > entre CLASSES, e aquisição é uma relação entre OBJETOS
(instâncias
> > > > > > de
> > > > > > classes).
> > > > > >
> > > > > > Isto posto, no problema que você relata você fala de
"objeto pai
> > > > > > (Questão)".
> > > > > > Mas se Questao é uma classe abstrata, então ela não tem
instâncias
> > > > > > por
> > > > > > definição! Acho que você está confundindo os conceitos.
> > > > > >
> > > > >
> > > > > Corretíssima a observação. Do modo como escrevi está impreciso
> > > > > e incorreto.
> > > > >
> > > > > > Tente reformular a descrição do seu problema sendo mais
preciso na
> > > > > > distinção
> > > > >
> > > > > Aí vai:
> > > > >
> > > > > Classes:
> > > > >    - Questão - Classe abstrata e superclasse de MultiplaEscolha;
> > > > >    - MultiplaEscolha - Especialização de Questão, relação de
> > > > >                        composição (contém) com Alternativa e,
> > > > >                        em função da composição, também herda de
> > > > >                        BaseFolder.
> > > > >    - Alternativa - Relação de composição (está contida) com
> > > > >                    MultiplaEscolha
> > > > >
> > > > > Para facilitar postei o código das classes em
> > > > > http://paste.plone.org/6063 (Obrigado pela dica Jean)
> > > > >
> > > > > A minha intenção era colocar alternativas (instâncias de
> > Alternativa)
> > > > > dentro de questões de multipla escolha (instâncias de
> > > MultiplaEscolha).
> > > > >
> > > > > O que ocorreu foi que, embora  a classe MultiplaEscolha de fato
> > herde
> > > > > de BaseFolder, não se comporta como uma  pasta. Embora consiga
> > forçar
> > > > > a criação de alternativas  acessando o método diretamente
> > > > >
> > http://localhost:8090/remo/questao1/createObject?type_name=Alternativa
> > > > > as opções de adição de alternativa e listagem de conteúdo não
> > aparecem
> > > > > na interface do Plone. É como se MultiplaEscolha não fosse
subclasse
> > > > > de BaseFolder.
> > > > >
> > > > > Consegui contornar provisoriamente forçando a herança entre
a classe
> > > > > abstrata Questao e BaseFolder. No entanto, esta modelagem não
> > > > > representa corretamente o que pretendo expressar pois as outras
> > > > > subclasses de Questao não são Pastas. (ex: Redacao,
Dissertativa,
> > etc)
> > > > >
> > > > > Desculpem pela descrição descuidada anterior. Espero que tenha
> > > melhorado.
> > > > >
> > > > > > entre as relações. Aposto que ao fazer esta reformulação
você vai
> > > > > encontrar
> > > > > > sozinho a causa do problema!
> > > > > >
> > > > >
> > > > > Infelizmente ainda não. ;-)
> > > > >
> > > > > Obrigado pelos toques.
> > > > >
> > > > > []s
> > > > > Daniel
> > > > >
> > > > > > [ ]s
> > > > > > Luciano
> > > > > >
> > > > > >
> > > > > > On 7/20/06, Daniel Vainsencher Maya Monteiro
<[EMAIL PROTECTED]>
> > > wrote:
> > > > > > >
> > > > > > > Uma classe que herda de BaseFolder e de uma classe abstrata
> > > > > > > que não é Folder parece não refletir o comportamento de um
> > Folder.
> > > > > > > Nossa! Que frase horrível! Trocando em miúdos:
> > > > > > > Criei  as classes:
> > > > > > >
> > > > > > > - Questao - classe abstrata não Folder,
> > > > > > > - MultiplaEscolha - herda de Questao e é composta por
> > alternativas
> > > > > > > - Alternativa
> > > > > > >
> > > > > > > No  entanto, Ao criar um objeto MultiplaEscolha as opções de
> > > > > > > adição de conteúdo referem-se à pasta pai de
MultiplaEscolha:
> > > > > > >
> > > > > > > O que ocorre:
> > > > > > >   - Alternativa não  está disponível para adição, apenas os
> > Tipos
> > > > > > >     Permitidos na pasta pai
> > > > > > >   - Ao forçar a criação da Alternativa com
> > > > > > >
> > > > >
> > http://localhost:8090/remo/questao1/createObject?type_name=Alternativa
> > > > > > >     consigo criar Alternativas sem erros;
> > > > > > >   - O ícone do Tipo MultiplaEscolha é igual ao da Pasta
o que
> > > > > > >     indica que é de fato uma pasta
> > > > > > >   - Não aparece a action Conteúdo, comum a todas as pastas
> > > > > > >
> > > > > > > Parece que as verificações para adição são feitas sobre o
> > > objeto pai
> > > > > > > (Questao) o que não paree correto num ambiente  com  herança
> > > múltipla.
> > > > > > >
> > > > > > > O que acham? (Se é que me fiz entender ;-) )
> > > > > > >
> > > > > > > []s
> > > > > > > Daniel
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Juracy Filho
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
> > > Para desistir envie uma mensagem em branco para:
> > [EMAIL PROTECTED]
> > > Links do Yahoo! Grupos
> >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> > --
> > Juracy Filho
> > 
> >
> 
> 
> 
> -- 
> RodrigoCastardo
> [EMAIL PROTECTED]
> MSN - [EMAIL PROTECTED]
> http://rodrigocastardo.objectis.net/
>







Para enviar uma mensagem: zope-pt@yahoogrupos.com.br
Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/zope-pt/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a