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 ...
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