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 :)

[]'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]




Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

__,_._,___

Responder a