You are here: Home Persone massimo
Document Actions

massimo's home page

In quest'area trovi un esempio di come può funzionare Plone come aggregatore di contenuti da parti diverse del portale!

Soluzioni

Lo sprint alla Plone Conference

plone.relations

Credo sia uno dei prodotti più interessanti visti alla plone conference. almeno dal mio punto di vista.

Fondamentalmente ti permette di collegare, o meglio, mettere in relazione tra loro oggetti generici. Il fatto che poi, casualmente..., questi oggetti siano poi oggetti ploneschi ci aiuta tanto nella vita. Il tool è stato sponsorizzato da thedailyreel.com e lì trovate una sua implementazione.
Date anche un'occhiata al suo talk, lui è sempre molto chiaro.

Nella giornata di lavoro con lui abbiamo[1] aggiunto la possibilità di collegare utenti alle relazioni. Si è scritto un proxy (due funzioni) che facesse il lavoro di passare da un oggetto IBasicUser ad un IMemberData e viceversa.
Abbiamo pestato per un bel po' per problemi di acquisizione e quindi l'utente che ottenevamo non aveva i metodi che ci aspettavamo, in particolare il getId. Alla fine Alec ha deciso di evitare tutti i problemi e di sfruttare le annotazioni per, appunto, annotare all'oggetto user il suo ID.
Le annotazioni sono una cosetta che ho sempre snobbato, ma che ho, invece, trovato essere estremamente interessanti.
Tutto lo sviluppo è stato fatto tramite test: ZopeDocFileSuite.

KSS

Questo è un tema già noto, quindi non vi annoio.

Drag and drop

In prima battuta, avrei voluto far funzionare un usecase di uno stagista (Nicola Senno) che ha lavorato da noi. Sarebbe stato un caso d'uso decisamente interessante.

Fondamentalmente permette il DnD di un oggetto in un folder. L'oggetto può stare nella parte centrale della pagina oppure nel navigatore. Una volta droppato su un folder, il sistema si preoccupa di chiedersi se sei abilitato a copiare/spostare e chiede conferma via un menu a tendina che scende.

Purtroppo il supporto kss-dnd non funzionava in quei giorni e quindi la cosa è sfumata. 

History

Mi sono allora buttato a capofitto sulla creazione dell'history per le azioni ajax via kss con l'aiuto di Jeroen che aveva già affrontato il problema.

Immaginate di essere su un folder, un click su contents, poi su view, poi su shared. il browser non si schioda dalla pagina e non segna nulla in history. Se poi fai un back non vai alla pagina che ti aspetteresti (es. sei in shared, torni in view, poi torni in contents..) ma alla pagina visitata prima di andare nel folder. Disorientante.. e classico pb di ajax.

Si è deciso di utilizzare librerie javascript di terze parti visto che sia la ruota che l'acqua calda erano già state inventate.

La scelta è caduta su Really Simple History, un singolo js file che fa tutto il mestiere per noi. Quasi tutto... in effetti ho dovuto scrivere (vedi il chiarissimo talk di Jeroen sull'argomento) un plugin x kss e quindi un nuovo set di comandi.

Inoltre quello che noi abbiamo scelto di memorizzare è solamente l'url cui saremmo andati. Sempre nell'esempio prima saremmo andati in  ..../folder_contents, ... /view, .../shared.

RSH invece suppone di memorizzare il comportamento delle chiamate ajax. Questo ha un po' di impatti e sto quindi ancora lavorando sulla libreria per adattarla ai nostri scopi.

Stay tuned.

That's all folks, per qualsiasi cosa son quì

[1] Il plurale lo uso in senso estensivo: lui sapeva cosa, come e quando. Io sono bravo a scrivere sotto dettatura :D

 
Entra nel Team!
Posizioni aperte in RedTurtle Technology
»  Programmatore esperto Zope / Python
Esperienza almeno triennale nel dispiegamento e implementazione di soluzioni Intranet e portali Web Plone, TDD, Agile Programming
»  Programmatori IBM Lotus Notes / Domino
Per dispiegamento e implementazione di soluzioni groupware. Disponibilità a brevi trasferte giornaliere.
 

Immagine Footer