Bookmark and Share
Document Actions

Creare un egg del tuo Theme, o un Prodotto

Up one level
Se vuoi lavorare via File System, ecco un tool per creare magicamente uno scheletro della struttura dei file e del codice.

ZopeSkel e Paster

Con ZopeSkel e Paster puoi creare sul File System uno scheletro del pacchetto egg del tuo Theme. Ecco come fare, in tre semplici passi:

  1. Creare un Theme Egg
  2. Usa il comando:

    paster create -t plone3_theme 
    

    per costruire magicamente il tuo Theme Egg. Ti verranno richiesti un sacco di nomi... ecco quelli che abbiamo usato noi:

    plone3_theme ti chiede... Noi abbiamo usato... Ad esempio...
    Enter project name > [il nome del tuo computer].[il nome del tuopackage] spezie.cannella
    Enter namespace-package > [il nome del tuo computer] spezie
    Enter package > [il nome del tuo package] cannella
    Enter skinname > [il nome del tuo skin] skinCannella

    Alcune opzioni nel momento in cui fai partire il template di permettono di includere documentazione, codici di esempio e versioni standard dei file CSS di Plone Default. Sono tutte molto utili e faranno per te tutto quel lavoro complicato come settare il file configure.zcml... Se vuoi sapere di più sui package ed i namespace, trovi diverse informazioni su:

    http://plone.org/documentation/tutorial/buildout/packages-products-and-eggs/

  3. Installare l'Egg del tuo Theme su Zope
  4. Il passo successivo è esser sicuro che il tuo Egg si possa editare con facilità, ma anche che Zope siua in grado di trovarlo con facilità al momento dell'avvio. Ci sono due opzioni, tutto dipende da come hai installato Plone.

    • Se hai usato buildout, allora metti l'Egg nella directory src, sarà poi facile editarlo. A questo punto, basterà editare il file di configurazione di buildout e farlo ripartire in modo che Zope trovi il tuo Egg.

      Non dimenticare di indicare al buildout di generare uno ZCML Slug.
    • Se hai installato Plone 3 in un altro modo, allora devi far partire easy_install per mettere l'Egg al posto giusto. Controlla bene dove easy_install mette il tuo Egg, così sai dove andarlo a cercare per effettuare delle modifiche.
  5. Installare il tuo Theme sul sito Plone
  6. Una volta che hai fatto partire Zope, dovresti trovare il tuo Theme pronto per essere installato sul tuo sito:

    • Site Setup > Add / Remove Products > [il package del tuo theme]
    • oppure Site Setup > Zope Management Interface > portal_quickinstaller

    (se hai bisogno di reinstallare il theme in qualunque momento, allora la seconda è più semplice).

by Federico Prato last modified 2009-02-10 10:25

Come dico a buildout dove è il mio egg

Posted by Andrea Marin at 2009-12-07 10:48
Ciao,

non capisco come dire a build out dov'è l'egg appena creato con paster, potresti spiegarmi meglio questo passaggio?

Ciao e grazie.

Re: Come dico a buildout dove è il mio egg

Posted by Davide Moro at 2009-12-07 11:37
Ciao,
dovresti registrare la nuova egg nella configurazione del buildout, aggiungendo il nome del tuo pacchetto.

Vado a memoria, queste modifiche sono corrette per una installazione buildout standard:
[buildout]
...
develop =
...
src/tuo.tema

[instance]
...
eggs =
...
tuo.tema

zcml =
...
tuo.tema

Plone impazzito

Posted by Andrea Marin at 2009-12-07 12:41
Ciao Davide,

ho fatto sia quello che mi suggerisci tu sia quello che trovo scritto nel vostro libro ma Plone non ne vuole sapere di funzionare.
Ti spiego i passi che ho seguito per farti capire meglio il mio problema:

1 - mi sono spostato nella dir src della mia istanza.
2 - ho lanciato il comando paster create -t plone3_theme dando come nome del prodotto andrea.ancona
3 - ho modificato buildout.
4 - lanciato buildout -v per vedere tutti i debug di Plone e non ci sono errori o avvisi quindi sembra funzionare.
5 - faccio partire l'istanza plonectl start
6 - provo a vedere il sito plone in localhost e mi trovo un mega errore che ti posto solo in parte:

('No traversable adapter found', {u'content': [('version', '1.6'), ('mode', 'html'), ('setPosition', (109, 16)), ('setSourceFile', 'file:/Applications/Plone/buildout-cache/eggs/Plone-3.3.2-py2.4.egg/Products/CMFPlone/skins/plone_templates/main_template.pt'), ('beginScope', {u'tal:define': u'show_border context/@@plone/showEditableBorder', u'metal:define-macro': u'content', u'tal:attributes': u"class python:test(show_border,'documentEditable','')"}), ('setLocal', (u'show_border', )), ('startTag', (u'div', [(u'metal:define-macro', u'content', 'metal'), (u'tal:define', u'show_border context/@@plone/showEditableBorder', 'tal'), (u'tal:attributes', u"class python:test(show_border,'documentEditable','')", 'tal'), (u'class', None, 'insert', , False, None)])), ('rawtextBeginScope', (u'\n\n ', 18, (113, 18), 0, {u'tal:replace': u'structure provider:plone.contentviews'})), ('optTag', (u'div', '', None, 1, [('startEndTag', (u'div', [(u'tal:replace', u'structure provider:plone.contentviews', 'tal')]))], [('insertStructure', (, {}, []))])), ('endScope', ()), ('rawtextColumn', (u'\n\n
\n\n \n \n \n \n\n ', 20)), ('setPosition', (123, 20)), ('useMacro', (u'here/global_statusmessage/macros/portal_message', , {}, [('startTag', (u'div', [(u'metal:use-macro', u'here/global_statusmessage/macros/portal_message', 'metal')])), ('rawtextColumn', (u'\n Portal status message\n

Eppure buildout non da nessun errore :(

re: Plone impazzito

Posted by Davide Moro at 2009-12-07 12:43
Hai per caso fatto disinstallato qualcosa o eseguito altre operazioni? Capita anche con dei siti plone puliti?

Risolto

Posted by Andrea Marin at 2009-12-09 11:59
Grazie all'aiuto di un certo "lzdych" nella chat di plone.org sono riuscito a capire e risolvere il problema riferito alla guida.

E' un bug conosciuto su plone.org come un bug del programma paster e non di plone. Praticamente paster non crea una directory che serve al prodotto che stiamo creando.

In dettaglio, con il comando paster create -t plone3_theme si creano diversi file e directory nel file system su cui lavoriamo. Tutte questi oggetti stanno dentro alla directory, nel mio caso andrea.ancona, che specifichiamo al primo passaggio dello script paster di creazione del tema grafico.

Andando in andrea.ancona/andrea/ancona mancava la directory "locales". E' bastato crearla, lasciarla vuota, far ripartire plone e tutto ha funzionato.

Su mac il path completo per la directory dovrebbe essere questo:
/Applications/Plone/zinstance/src/andrea.ancona/andrea/ancona/ ricordandovi che andrea.ancona è il nome del mio prodotto di test, ognuno avrà il suo ovviamente.

Grazie a lzdych e a voi di redominolab per questo spazio in cui condividere questo problema e la relativa soluzione.

Ciao

uffa

Posted by Andrea Marin at 2009-12-09 11:59
E' un sito plone pulito, è su Mac ma non credo cambi niente.