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.

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]




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


Links do Yahoo! Grupos

__,_._,___

Responder a