29.04.2013 Views

Plone 3 per a usuaris UNITAT 8 Fàtima Brunet i Guarch Càtedra de ...

Plone 3 per a usuaris UNITAT 8 Fàtima Brunet i Guarch Càtedra de ...

Plone 3 per a usuaris UNITAT 8 Fàtima Brunet i Guarch Càtedra de ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Plone</strong> 3 <strong>per</strong> a <strong>usuaris</strong><br />

<strong>UNITAT</strong> 8<br />

<strong>Fàtima</strong> <strong>Brunet</strong> i <strong>Guarch</strong><br />

<strong>Càtedra</strong> <strong>de</strong> programari lliure <strong>de</strong> la UPC<br />

Aquesta obra està subjecta a una llicència Reconeixement-No comercial 2.5 Espanya<br />

<strong>de</strong> Creative Commons. Per veure'n una còpia, visiteu<br />

http://creativecommons.org/licenses/by-nc/2.5/es/ o envieu una carta a<br />

Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.<br />

1


Sessió 8. Funcionament intern <strong>de</strong><br />

<strong>Plone</strong>: Conceptes bàsics<br />

En la sessió d'avui veurem...<br />

L'arquitectura <strong>de</strong> <strong>Plone</strong><br />

La ZMI<br />

Estendre <strong>Plone</strong> a través <strong>de</strong> productes<br />

Skinning (o com canviar la cara <strong>de</strong>l <strong>Plone</strong>)<br />

ZMI: trucs senzills i trucs d'alt nivell<br />

2


Un CMS.<br />

Extensible<br />

Què és <strong>Plone</strong> ?<br />

Amb un èmfasi especial en:<br />

● La usabilitat i l'accessibilitat.<br />

● La funcionalitat “out-of-the-box”<br />

● La seguretat<br />

Programari lliure.<br />

<strong>Plone</strong> és un Sistema <strong>de</strong> Gestió <strong>de</strong> Continguts,<br />

basat en Zope i programat en Python.<br />

És programari lliure i està dissenyat <strong>per</strong><br />

ser extensible. Pot ésser usat com a<br />

servidor intranet o com a servidor web públic.<br />

3


Arquitectura <strong>de</strong> <strong>Plone</strong><br />

Feu doble clic <strong>per</strong> afegir una imatge<br />

Python: llenguatge <strong>de</strong> programació d'alt<br />

nivell. És orientat a objectes i interpretat.<br />

4


Arquitectura <strong>de</strong> <strong>Plone</strong><br />

Zope: és un servidor d'aplicacions web<br />

orientat a objectes. És programari lliure i està<br />

escrit en python.<br />

Algunes <strong>de</strong> les seves particularitats són:<br />

● base <strong>de</strong> da<strong>de</strong>s orientada a objectes (ZODB: Zope<br />

Object Database).<br />

● integra un acurat mo<strong>de</strong>l <strong>de</strong> seguretat<br />

● possibilitat <strong>de</strong> crear extensions (Products)<br />

● <strong>per</strong>met l'administració quasi total a través <strong>de</strong> web<br />

5


Zope i <strong>Plone</strong><br />

Tot <strong>Plone</strong> està muntat sobre un Zope, <strong>per</strong> tant<br />

existeixen dos nivells en l'aplicació.<br />

Cada un d'aquests nivells té la seva interfície<br />

web:<br />

● <strong>Plone</strong>: La que hem estat treballant tot el curs.<br />

● Zope: la ZMI (Zope Management Interface)<br />

6


Per a l'administració <strong>de</strong>l sistema, cal saber que<br />

el servidor zope funciona amb instàncies.<br />

Una instància té un arbre <strong>de</strong> directoris concret.<br />

Per afegir un <strong>Plone</strong> cal accedir al directori<br />

Products <strong>de</strong> la instància zope i hi copiar-hi tots<br />

els productes <strong>de</strong> <strong>Plone</strong>.<br />

Po<strong>de</strong>m accedir directament a la ZMI a través<br />

<strong>de</strong>l navegador a l'adreça:<br />

localhos:8090/manage<br />

Zope i <strong>Plone</strong><br />

(on localhost:8090 són la màquina i el port on s'executa<br />

la instància zope)<br />

7


La ZMI<br />

8


La ZMI<br />

Des <strong>de</strong>l RootFol<strong>de</strong>r <strong>de</strong> la ZMI po<strong>de</strong>m afegir<br />

diferents objectes, entre els quals, el<br />

<strong>Plone</strong>Site.<br />

I po<strong>de</strong>m afegir-n'hi tants com vulguem, tenint<br />

en compte, que com que són la mateixa<br />

instància zope, comparteixen la mateixa base<br />

<strong>de</strong> da<strong>de</strong>s (ZODB).<br />

Tota la base <strong>de</strong> da<strong>de</strong>s <strong>de</strong> la instància zope es<br />

guarda en un fitxer al directori /var <strong>de</strong> la<br />

instància, anomenat Data.fs<br />

9


La ZMI<br />

10


Ara bé, <strong>de</strong>s <strong>de</strong>l Panell <strong>de</strong> control <strong>de</strong> la ZMI<br />

po<strong>de</strong>m fer certes tasques d'administració:<br />

● Parar i engegar la instància zope<br />

● Compactar <strong>de</strong> base <strong>de</strong> da<strong>de</strong>s<br />

● Obtenir informació <strong>de</strong>ls productes instal·lats<br />

● ...<br />

La ZMI: Control_Panel<br />

11


La ZMI: Control_Panel<br />

12


La ZMI: còpies <strong>de</strong> <strong>Plone</strong>s<br />

Des <strong>de</strong> la ZMI po<strong>de</strong>m exportar o importar<br />

portals <strong>Plone</strong>.<br />

Quan exportem el portal es genera un fitxer<br />

.zexp que conté tot el <strong>Plone</strong>:<br />

● estructura <strong>de</strong> carpetes i documents<br />

● <strong>usuaris</strong>, grups, <strong>per</strong>misos i estat <strong>de</strong>ls workflows<br />

● configuracions <strong>de</strong>l portal i productes instal·lats<br />

Condició: <strong>per</strong> importar-lo cal tenir la mateixa<br />

versió <strong>de</strong> <strong>Plone</strong> amb els mateixos productes<br />

Utilitat ?<br />

● <strong>per</strong> fer-ne còpies <strong>de</strong> seguretat<br />

13


La ZMI: còpies <strong>de</strong> <strong>Plone</strong>s<br />

Guarda el fitxer<br />

zplone9.zexp al directori<br />

“var” <strong>de</strong> la instància<br />

Recu<strong>per</strong>a els fitxer <strong>de</strong>l<br />

directori “import” <strong>de</strong> la<br />

instància<br />

14


Estendre <strong>Plone</strong>: els productes<br />

El <strong>Plone</strong> és extensible.<br />

Els productes <strong>de</strong> <strong>Plone</strong> (Products) són paquets<br />

afegeixen utilitats al <strong>Plone</strong>.<br />

N'hi ha <strong>de</strong> diversos tipus:<br />

● afegeixen nous tipus d'objecte<br />

● Exemple: un gestor <strong>de</strong> documentació. Afegirà el tipus<br />

FAQ, tutorial, <strong>de</strong>finició <strong>de</strong> glossari... etc.<br />

● afegeixen noves funcionalitats<br />

● Exemple: connexió amb un LDAP<br />

● afegeixen eines <strong>de</strong> configuració<br />

● Exemple: control <strong>de</strong> caches.<br />

15


Estendre <strong>Plone</strong>: els productes<br />

Existeixen molts productes <strong>de</strong> <strong>Plone</strong><br />

● http://www.plone.org/products<br />

Però cal ser pru<strong>de</strong>nt a l'hora escollir-los i<br />

instal·lar-los:<br />

● N'hi ha <strong>de</strong> bons i n'hi ha que no ho són tant.<br />

● Alguns son incompatibles entre ells<br />

● Po<strong>de</strong>n ser complicats <strong>de</strong> migrar a noves versions <strong>de</strong><br />

<strong>Plone</strong>.<br />

16


Els productes: instal·lació<br />

Instal·lació: cal posar la carpeta <strong>de</strong>scomprimida<br />

<strong>de</strong>l producte al directori Products <strong>de</strong> la<br />

instància <strong>de</strong>l nostre <strong>Plone</strong> i reiniciar el zope.<br />

Amb això, ens apareixen a l'administració <strong>de</strong>l<br />

portal (Add-on Products)<br />

17


Els productes: instal·lació<br />

18


Els productes: exemples<br />

Alguns exemples <strong>de</strong> productes i les seves<br />

funcionalitats són:<br />

● Nu<strong>Plone</strong>: un skin alternatiu <strong>de</strong> <strong>Plone</strong><br />

● CacheFu: <strong>per</strong>met <strong>de</strong>finir les polítiques <strong>de</strong> catch que<br />

tindrà el nostre Portal. Molt útil <strong>per</strong> augmentar-ne<br />

l'agilitat <strong>de</strong> consulta.<br />

● <strong>Plone</strong>HelpCenter: sistema molt complert <strong>de</strong> gestió <strong>de</strong><br />

documentació.<br />

● PressRoom: centre <strong>de</strong> premsa. Permet el tracte<br />

<strong>per</strong>tinent <strong>per</strong> cada tipus d'article. Útil <strong>per</strong> <strong>per</strong>iodistes.<br />

19


Productes: CacheFu<br />

Alguns productes es configuren <strong>de</strong>s <strong>de</strong>l menú<br />

<strong>de</strong> configuració<br />

20


Productes: CacheFu<br />

21


Productes: <strong>Plone</strong>HelpCenter<br />

22


Productes: <strong>Plone</strong>HelpCenter<br />

El <strong>Plone</strong>HelpCenter <strong>per</strong>met 8 tipus d'objectes:<br />

● secció <strong>de</strong> referències d'errors<br />

● secció <strong>de</strong> FAQ's<br />

● secció <strong>de</strong> How-to<br />

● secció d'enllaços<br />

● secció <strong>de</strong> manuals <strong>de</strong> referència<br />

● secció <strong>de</strong> tutorials<br />

● secció <strong>de</strong> ví<strong>de</strong>os<br />

● secció <strong>de</strong> <strong>de</strong>finicions <strong>de</strong> glossari<br />

Cada secció admet només documents d'aquell<br />

tipus, i cada tipus té les seves particularitats.<br />

23


Productes: <strong>Plone</strong>HelpCenter<br />

24


Productes: <strong>Plone</strong>HelpCenter<br />

Exemple <strong>de</strong> Centre <strong>de</strong> Documentació en ús:<br />

https://cc.epsem.upc.edu/documentacio/<br />

25


Productes: PressRoom<br />

26


Productes: PressRoom (exemple)<br />

27


Productes: PressRoom (exemple)<br />

28


Productes: <strong>de</strong>sinstal·lació<br />

Instal·lar un producte i usar-lo és fàcil... i<br />

<strong>de</strong>sinstal·lar-lo ?<br />

Si no hi ha contingut al portal generat amb el<br />

producte, po<strong>de</strong>m <strong>de</strong>sinstal·lar-lo sense cap<br />

problema<br />

(<strong>de</strong>s <strong>de</strong> la Configuració <strong>de</strong>l Portal -> Add-on Products)<br />

Alerta ! Si hi ha contingut generat, aquest<br />

quedarà inaccessible.<br />

Quan tornem a instal·lar el producte podrem<br />

tornar a veure el contingut.<br />

29


Productes: EXERCICI<br />

Instal·leu el producte: PressRoom<br />

Creeu un nou objecte <strong>de</strong>l tipus PressRoom, a<br />

l'arrel <strong>de</strong>l vostre portal. El nom serà “Sala <strong>de</strong><br />

Premsa”.<br />

Creeu algun document <strong>de</strong> cada un <strong>de</strong>ls tres<br />

nous tipus.<br />

Po<strong>de</strong>u fixar-vos en l'exemple <strong>de</strong>l portal <strong>de</strong>l<br />

Conservatori: Sala <strong>de</strong> Premsa.<br />

30


Productes: EXERCICI<br />

Instal·leu el productes: <strong>Plone</strong>HelpCenter<br />

Creeu un nou objecte <strong>de</strong>l tipus <strong>Plone</strong>HelpCenter<br />

a la carpeta <strong>de</strong> recursos <strong>de</strong>l vostre portal.<br />

Traieu la secció <strong>de</strong> “reference errors” i afegiu la<br />

secció <strong>de</strong> Vi<strong>de</strong>os.<br />

Afegiu alguns documents nous <strong>de</strong> tipus: FAQ,<br />

How-to, glossari, enllaç i tutorial.<br />

Comproveu els diferents camps <strong>de</strong> cada un.<br />

31


Creació <strong>de</strong> productes<br />

I si necessitem una funcionalitat, un producte,<br />

que no existeix ?<br />

Po<strong>de</strong>m crear-nos els nostres propis productes<br />

<strong>de</strong> <strong>Plone</strong>.<br />

● programant amb python<br />

● a partir <strong>de</strong>l mo<strong>de</strong>l UML i usant l'ArchGenXML<br />

Exemple: https://borsa.epsem.upc.edu<br />

32


Skinning <strong>de</strong> <strong>Plone</strong><br />

El contingut està separat <strong>de</strong> la visualització<br />

Exemple: diferents vistes <strong>de</strong>ls continguts d'una<br />

carpeta.<br />

També, <strong>de</strong> l'aparença general <strong>de</strong>l portal: colors,<br />

distribució, etc.<br />

Producte Nu<strong>Plone</strong>: una altre cara <strong>de</strong>l <strong>Plone</strong><br />

33


Skinning <strong>de</strong> <strong>Plone</strong>: Exemples<br />

34


Skinning <strong>de</strong> <strong>Plone</strong>: Exemples<br />

35


Com canviar l'skin <strong>de</strong> <strong>Plone</strong>?<br />

En la configuració <strong>de</strong>l portal, accedim a Themes<br />

Escollim quin tema volem (abans, ha calgut<br />

instal·lar-ne els paquets).<br />

Això, ens canviarà l'aparença <strong>de</strong>l portal, <strong>per</strong>ò<br />

no ens modificarà en cap cas el contingut.<br />

36


Skinning <strong>de</strong> <strong>Plone</strong>: EXERCICI<br />

Instal·leu el producte Nu<strong>Plone</strong>.<br />

Accediu a la configuració <strong>de</strong>l portal, i canvieu el<br />

vostre skin <strong>de</strong> plone.<br />

Navegueu una mica <strong>per</strong> la pàgina <strong>per</strong> veure les<br />

diferències.<br />

Torneu a <strong>de</strong>ixar l'skin <strong>per</strong> <strong>de</strong>fecte <strong>de</strong> <strong>Plone</strong>.<br />

Fixeu-vos que no ha canviat res <strong>de</strong>l contingut<br />

<strong>de</strong>l portal.<br />

37


Configuració <strong>de</strong>l lloc: Interfície<br />

d'administració <strong>de</strong>l Zope (ZMI)<br />

S'hi acce<strong>de</strong>ix <strong>de</strong>s <strong>de</strong> la configuració <strong>de</strong>l lloc.<br />

Des <strong>de</strong> la ZMI es pot administrar tot el portal<br />

<strong>Plone</strong>.<br />

Cal ser molt curós a l'hora <strong>de</strong> remenar-hi.<br />

També es veu tota l'estructura <strong>de</strong> carpetes i<br />

documents <strong>de</strong>l Portal.<br />

● això en <strong>per</strong>met la importació / exportació <strong>de</strong> certes<br />

carpetes (í<strong>de</strong>m importació <strong>de</strong>l portal)<br />

Veurem alguns trucs <strong>per</strong> canviar l'aparença <strong>de</strong>l<br />

<strong>Plone</strong>:<br />

● portal_skins<br />

● portal_actions -> portal_tabs<br />

38


ZMI - portal_skins<br />

Personalitzar el portal: sense la necessitat <strong>de</strong><br />

crear un nou skin, po<strong>de</strong>m modificar certs<br />

aspectes visuals <strong>de</strong>l nostre portal.<br />

El lloc on es gestiona tota la visualització <strong>de</strong>l<br />

portal és al portal_skins.<br />

Tots els productes <strong>de</strong> <strong>Plone</strong>, tenen un directori<br />

anomenat skins, el contingut <strong>de</strong>l qual<br />

s'administra <strong>de</strong>s d'aquí.<br />

Aquí dins s'hi troben imatges, fulls d'estil (css),<br />

templates, etc.<br />

39


ZMI – portal_skins<br />

Com modificar l'aparença <strong>de</strong>l portal ? Canviant<br />

aquests scripts i/o imatges.<br />

Però... i si volem tornar enrera ?<br />

El portal_skins, conté una carpeta anomenada<br />

custom.<br />

Qualsevol canvi que fem no modifiquem els<br />

arxius originals sinó que en creem una còpia<br />

dins d'aquest directori.<br />

El <strong>Plone</strong> quan busca qualsevol element <strong>de</strong> la<br />

imatge, primer agafa el <strong>de</strong> la carpeta custom, i<br />

si no existeix, el busca a lloc establert.<br />

40


ZMI – portal_skins: Canvi <strong>de</strong> logo<br />

El primer que <strong>per</strong>sonalitzarem serà el logo <strong>de</strong>l<br />

portal.<br />

Per fer-ho, accedim a portal_skins -><br />

portal_images -> logo<br />

41


ZMI – portal_skins: Canvi <strong>de</strong> logo<br />

Cliquem a<br />

Customize<br />

i anem a<br />

buscar el<br />

nou logo<br />

42


ZMI – portal_skins: Canvi <strong>de</strong> logo<br />

43


ZMI – portal_skins: Adaptació estètica<br />

A continuació, canviarem algunes aparences<br />

<strong>de</strong>l portal: tipus i tamany <strong>de</strong> lletra, colors <strong>de</strong><br />

fons, <strong>de</strong> lletra i <strong>de</strong>ls marcs <strong>de</strong>ls portlets, i<br />

gruixària <strong>de</strong> la vora <strong>de</strong> les pestanyes i taules.<br />

Tot això, ho fem <strong>de</strong>s <strong>de</strong>l base_pro<strong>per</strong>ties.<br />

Accedim a portal_skins -> portal_styles -><br />

base_pro<strong>per</strong>ties<br />

44


ZMI – portal_skins: Adaptació estètica<br />

Premem “Customize” i editem els camps.<br />

45


ZMI – portal_skins: Adaptació estètica<br />

Els elements més <strong>de</strong>stacats són:<br />

logoName<br />

El nom <strong>de</strong> la imatge que agafem com a logo. Po<strong>de</strong>m<br />

tenir-ne més d'un i escollir <strong>per</strong> aquí quin utilitzem.<br />

fontFamily, fontBaseSize i fontColor<br />

Família <strong>de</strong> lletres que s'usen al portal, valor <strong>per</strong>centual<br />

<strong>de</strong>l tamany <strong>de</strong> les lletres i color (lletra negre <strong>per</strong> <strong>de</strong>fecte)<br />

linkColor<br />

Color emprat pels links.<br />

backgroundColor<br />

El color <strong>de</strong> fons <strong>de</strong>l portal<br />

bor<strong>de</strong>rWidth<br />

La gruixària <strong>de</strong> les vores <strong>de</strong>ls portles i altres caixes<br />

46


ZMI – portal_skins: Adaptació estètica<br />

globalBor<strong>de</strong>rColor<br />

El color <strong>de</strong> les vores <strong>de</strong>ls portlets i altres caixes.<br />

globalBackgroundColor<br />

Correspon al blau cel <strong>de</strong> l'skin estàndard que s'usa, <strong>per</strong><br />

exemple, en les capçaleres <strong>de</strong>ls portlets.<br />

globalFontColor<br />

Correspon al color <strong>de</strong> la lletra no negra <strong>de</strong> l'skin.<br />

evenRowBackgroudColor<br />

Usat com a fons en les files <strong>de</strong> taules i portlets.<br />

Habitualment és un blau cel molt clar.<br />

contentViewBor<strong>de</strong>rColor, contentViewBackgroudColor,<br />

contentViewFontColor<br />

Í<strong>de</strong>m que global, <strong>per</strong>ò s'utilitza en l'edició <strong>de</strong>ls continguts.<br />

47


ZMI – portal_skins: Adaptació estètica<br />

globalFontColor<br />

contentViewFontColor<br />

evenRowBackgroudColor<br />

globalBor<strong>de</strong>rColor<br />

globalBor<strong>de</strong>rColor<br />

globalBackgroundColor<br />

globalBackgroundColor<br />

48


ZMI – portal_skins: Adaptació estètica<br />

Alerta ! un cop creats els nous fitxers<br />

d'aparença (logo.jpg i base_pro<strong>per</strong>ties) <strong>per</strong><br />

retocar-los, hem d'accedir directament a la<br />

carpeta custom, ja que si tornem als originals,<br />

sobreescriurem aquests que hem editat.<br />

<strong>per</strong> editar les propietats<br />

accedim a la pestanya<br />

Pro<strong>per</strong>ties<br />

49


ZMI – Afegir pestanya al menú<br />

horitzontal<br />

Ens hem fixat, que qualsevol contingut que es<br />

crea a la carpeta arrel <strong>de</strong>l <strong>Plone</strong> pot aparèixer a<br />

la navegació <strong>de</strong>l portal.<br />

Si hi apareix, ho fa tant a les pestanyes<br />

horitzontals su<strong>per</strong>iors com al portlet <strong>de</strong><br />

navegació.<br />

I si volem una pestanya, que només sigui al<br />

menú horitzontal, <strong>per</strong>ò que no aparegui a la<br />

navegació ? És a dir que no sigui un contingut ?<br />

Això és gestiona al portal_tabs.<br />

50


ZMI – Afegir pestanya al menú<br />

horitzontal<br />

Accedim a portal_actions -> portal_tabs.<br />

Dupliquem<br />

l'in<strong>de</strong>x_html<br />

(copy - paste)<br />

51


ZMI – Afegir pestanya al menú<br />

horitzontal<br />

Li canviem el nom (Rename) i l'editem:<br />

52


ZMI – Afegir pestanya al menú<br />

horitzontal<br />

53


La ZMI: EXERCICIS<br />

Importeu la carpeta Professors al vostre Portal<br />

(ja està guardada al directori “import” <strong>de</strong> la<br />

instància zope)<br />

Canvieu el logo <strong>de</strong>l vostre portal (teniu tres<br />

logos d'exemple a la carpeta zploneX <strong>de</strong><br />

l'ordinador)<br />

Canvieu algunes propietats bàsiques <strong>de</strong>l portal:<br />

color <strong>de</strong> fons, <strong>de</strong>ls portlets i <strong>de</strong> la lletra.<br />

(si voleu, po<strong>de</strong>r fer servir l'exemple mostrat a continuació)<br />

Creeu una pestanya (portal_tab) anomentada<br />

MANRESA amb l'enllaç a l'ajuntament <strong>de</strong><br />

Manresa.<br />

54


La ZMI: EXERCICIS<br />

Exemple d'una nova<br />

aparença <strong>de</strong>l portal.<br />

A la següent<br />

diapositiva, veiem<br />

que po<strong>de</strong>m tenir<br />

dos aspectes<br />

diferents canviant<br />

només el logo <strong>de</strong>l<br />

portal i el color <strong>de</strong><br />

fons.<br />

logo2<br />

#f8f3ff<br />

55


La ZMI: EXERCICIS<br />

56


QUÈ SÉ QUE ABANS NO SABIA...<br />

Algunes pinzella<strong>de</strong>s <strong>de</strong> l'arquitectura <strong>de</strong><br />

plone/zope<br />

Que el <strong>Plone</strong> es pot estendre amb Productes:<br />

● Com instal·lar aquests productes existents<br />

http://www.plone.org/products<br />

● Que hi ha la possibilitat <strong>de</strong> crear-ne <strong>de</strong> nous<br />

Com instal·lar un producte d'skinning i canviar<br />

el disseny <strong>de</strong>l portal<br />

Accedir a la ZMI i canviar l'aparença més bàsica<br />

<strong>de</strong>l portal.<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!