Obrigado pela dica

Como faço para alterar o dono e a data de criação de objetos? Como é uma migração seria estranho várias noticias terem a mesma data e terem sido criadas pelo "admin".

Valeu!
Gustavo


On 10/6/06, Dorneles Treméa <[EMAIL PROTECTED]> wrote:
Opa Gustavo,

> Estou montando um script para adicionar conteúdo (migrando um site xoops
> para plone). No canal #plone recebi a sugestão de usar o método
> invokeFactory. Estou testando ele no ploneshell e parece funcionar bem.
> Um exemplo do uso seria:
>
> pasta.invokeFactory("News item", id="noticia1", title="Titulo Noticia", text="texto")
>
> O problema é que eu não queria passar o "id" para este método. Quando
> adicionamos conteúdo via web o plone automaticamente gera um id baseado
> no titulo. Como fazer isso? Esta função exige que eu forneça um id.

a Tânia já deu uma sugestão, aqui vai mais uma.

Basta chamar o método 'processForm' no objeto criado, que ele se encarrega
de nomear o objeto conforme o título passado. Como bônus, ele ainda chama
o hook de criação de objetos e a mágica para desmarcar a flag de criação.

> Outra questão. Existe outra forma de adicionar conteúdo via script?

Existe. Usando o invokeFactory, você está sujeito às restrições impostas
pelo container (o local onde você está adicionando os objetos). Em algumas
situações é conveniente adicionar coisas onde depois usuários normais não
poderão mais fazer isso. Para tal, existe o _createObjectByType, e você
usaria da seguinte maneira (untested):

from Products.CMFPlone.utils import _createObjectByType
obj = _createObjectByType('News Item', pasta, 'noticia1', title="Titulo Noticia", text="texto")
obj.processForm()

HTH,

--

Dorneles Treméa
X3ng Web Technology


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





__._,_.___

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