Domanda

Plone è molto complesso. Zope 2, Zope3 , Five , ZCML , ZODB , ZEO , un sacco di acronimi e abbreviazioni.

È difficile iniziare e lo stato attuale sembra essere indeciso. Si basa principalmente su Zope2, ma incorpora Zope3 tramite Five. E ci sono file di configurazione XML ovunque.

La ripida curva di apprendimento paga? Questa complessità è ancora giustificata oggi?

Background: ho bisogno di una piattaforma. I clienti hanno spesso bisogno di un CMS. Attualmente sto leggendo " Sviluppo professionale di plone " , senza una conoscenza preliminare di Plone.

Il problema: i clienti non vogliono sempre lo stesso e non si può sapere in anticipo. Una cosa è certa: non vogliono il tema predefinito di Plone. Ma qualsiasi funzione aggiuntiva è un rischio. Non puoi semplicemente iniziare e dire " Se vuoi vedi la complessità di Plone, devi richiederlo. " quando non conosci il sistema abbastanza bene da pianificare.

È stato utile?

Soluzione

Se vuoi vedere la complessità di Plone, devi richiederlo. Per la maggior parte delle persone, non è proprio lì. Si installa in un paio di minuti tramite un programma di installazione con un clic. Quindi è un clic per accedere, un clic per creare una pagina, utilizzare un editor WYSYWIG e un clic per salvare. Tutto è attraverso una GUI Web intuitiva. Plone è un prodotto.

Se vuoi usarlo come piattaforma " " quindi la piattaforma è una pila di oltre un milione di righe di codice che implementa una suite completa di gestione dei contenuti. Nessuno lo sa tutto. Tuttavia, tutti quegli "acronimi" e " file " sono la prova di un software che viene preso in considerazione nei componenti in modo che nessuno abbia bisogno di sapere tutto. Puoi prenderne la profondità o la profondità di cui hai bisogno. Se c'è qualcosa di cui hai bisogno per alcuni aspetti della gestione dei contenuti, è già lì, non devi crearlo da zero e puoi farlo in modo coerente con un'ampia pratica e revisione.

Altri suggerimenti

È difficile rispondere alla tua domanda senza alcuna informazione di base. La complessità è giustificata se vuoi solo un blog? No. La complessità è giustificata se stai costruendo una intranet aziendale per oltre 400 persone? Sì. È un buon investimento se stai cercando di essere un consulente? Assolutamente! C'è un sacco di lavoro Plone là fuori, e paga molto meglio del lavoro PHP medio.

Ti incoraggio a chiarire cosa stai cercando di costruire e chiedere consigli ai forum Plone. Plone ha una comunità molto matura e amichevole & # 8212; e ti farà assolutamente sapere se quello che stai cercando di fare non è adatto a Plone. Ovviamente puoi fare quello che vuoi con Plone, ma ci sono alcune aree in cui è la migliore soluzione disponibile, altre aree in cui sarà molto lavoro cambiarlo per fare qualcos'altro.

Alcuni retroscena:

La ragione della complessità di Plone in questo momento è che si sta spostando verso un'architettura più moderna. Sta collegando sia il vecchio che il nuovo approccio in questo momento, il che aggiunge una certa complessità fino a quando la transizione non sarà per lo più completa.

Plone lo sta facendo per evitare di lasciare indietro i propri clienti rompendo la retrocompatibilità, che prendono molto sul serio & # 8212; a differenza di altri sistemi che potrei menzionare (ma non lo farò;).

Ti preoccupi dei tuoi dati, la community di Plone si prende cura dei loro dati & # 8212; e vorremmo che tu potessi effettuare l'upgrade alle versioni nuove e migliori anche quando stiamo passando a una nuova architettura. Questo è uno dei punti di forza della comunità Plone, ma c'è ovviamente una penalità da pagare per la modifica dell'aereo mentre sta volando, e questo è un po 'di temporanea, extra complessità.

Inoltre, Plone come comunità ha una forte attenzione alla sicurezza (confrontala con qualsiasi altro sistema sulle vulnerabilità segnalate) e una cultura molto professionale che valorizza la buona architettura, i test e la riusabilità.

Ad esempio, considera l'attuale versione di Plone in fase di sviluppo (che diventerà 4.0):

  • Si avvia 3-4 volte più veloce della versione corrente.
  • Utilizza circa il 20% di memoria in meno rispetto alla versione corrente.
  • C'è un sistema di tipi molto, molto più semplice nelle opere (Destrezza), che ridurrà la complessità e accelererà molto il sistema, mantenendo lo stesso livello di funzionalità
  • La base di codice è già più piccola del 20% rispetto all'attuale versione di spedizione e diventa ancora più piccola.
  • I primi benchmark del nuovo sistema di tipi mostrano un 5 & # 215; accelerare la modifica dei contenuti e non abbiamo ancora iniziato a ottimizzare questa parte.

& # 8212; Alexander Limi, co-fondatore di Plone (e leggermente distorto;)

Ho trovato un commento anonimo qui che è molto meglio di così post stesso, quindi lo sto ripubblicando qui per intero, con un paio di errori di battitura corretti.


Quest'estate il mio club di scacchi mi ha chiesto di creare un nuovo sito Web, in cui i membri del consiglio di amministrazione dovrebbero poter aggiungere flash di notizie, articoli, ... Sembrava un CMS. Essendo uno sviluppatore di Python, ho guardato Plone e ho comprato il libro Aspeli Professional Plone development (scritto in modo eccellente).

Ho trascorso 3 settimane delle mie vacanze studiando il libro e allestendo un primo modello del sito.

Dopo 3 settimane mi sono reso conto che Plone ha delle cose molto belle ma anche alcune cose molto frustranti Sul lato positivo

  • se non è necessario personalizzare Plone, Plone è eccezionale in termini di funzionalità e layout
  • Plone ha un buon modello di sicurezza
  • Plone ha flussi di lavoro pronti all'uso
  • Plone è multilingue (ciò di cui avevo bisogno)

Sul lato negativo

  1. Plone è terribilmente lento. Sulla mia piattaforma di sviluppo (un PC di 3 anni con 512 MB di RAM) ci vogliono 30 secondi per avviare Plone e ci vogliono dai 10 ai 15 secondi per ricaricare una pagina
  2. hai bisogno di molte tecnologie diverse per personalizzare o sviluppare anche le cose più semplici
  3. TAL e Metal non sono all'avanguardia e non si adattano al design OO di Plone.
  4. L'acquisizione per impostazione predefinita è errata. L'acquisizione può essere molto utile (ad es. Sicurezza) ma dovrebbe essere esplicitamente definita dove necessario. Questo è un difetto di progettazione
  5. Plone non distingue tra contenuto e layout. Questo è un grave difetto di progettazione. Non vi è alcun motivo per applicare impostazioni e ruoli di sicurezza ad es. foglio di stile a cascata o HTML che crea un layout a 3 colonne e non c'è motivo per cui questi elementi dovrebbero essere nello ZODB e non nel filesystem
  6. Plone non distingue tra il web designer e l'editore / editore dei contenuti, ancora una volta un grave difetto. L'editore / editore del contenuto aggiunge / rivede il contenuto in esecuzione sul sito live. Il web designer aggiunge / modifica tipi di contenuto, moduli e layout sul server di prova e lo porta sul server live quando è pronto. Le restrizioni di sicurezza applicate da Plone per l'editor dei contenuti non dovrebbero essere applicate al web designer, che ha accesso al filesystem sul server.
  7. Plone non distingue tra gli aspetti grafici e gli aspetti di programmazione di un web designer. Gli artisti grafici usano strumenti che parlano solo html, css e un po 'di javasccript, ma non Python, adattatori e altri concetti di programmazione avanzata. Di conseguenza, l'intero sistema di skinning in Plone è un incubo

Suppongo che Plone sia così lento a causa dei punti 4, 5, 6 e 7.

I punti 6 e 7 mi hanno fatto abbandonare Plone. Ho cercato altre opzioni e alla fine ho deciso di sviluppare il mio CMS su Pylons, che è incredibilmente veloce rispetto a Plone. Sullo stesso server di sviluppo ho un tempo di avvio di 1 secondo e un tempo di ricarica della pagina non è misurabile.

Il sito www.kosk.be è in esecuzione (è in olandese). Il CMS dietro di esso, chiamato Red Devil, sarà lanciato come progetto open source separato a partire dal prossimo anno

Vedo quattro cose che possono giustificare un investimento di tempo nell'uso di Plone: ??

  • Plone ha una community ampia e utile. La maggior parte delle cose di cui hai bisogno, qualcun altro
    già fatto in qualche momento in passato. Probabilmente ha fatto alcune domande ed è stato utile risposte, o ha scritto un tutorial. Di solito questo lascia tracce facili da trovare. su come ha fatto.
  • Non dovrai comprendere l'intera complessità per molte delle tue esigenze di personalizzazione.
  • Gli sviluppatori Plone sono consapevoli del loro stack complesso e stanno discutendo su come ciò possa essere ridotto. Plone ha dimostrato in passato di essere in grado di rinnovarsi e abbandonare il passato infrastruttura in modo pulito con fasi di ammortamento definite.
  • Esistono molti gruppi di utenti locali con persone utili.

Oh aspetta, mi è stato detto che le solide riunioni degli sviluppatori sono tra le migliori! Come quello

Dal punto di vista dell'amministratore di sistema, Plone è solo timido di essere il diavolo assoluto. Aggiornare, mantenere e installare dove vuoi installare le cose è tutto più doloroso del necessario sulla piattaforma Linux. Questi sono solo i miei due centesimi però, e perché di solito preferisco evitare lo stack Zope / Plone.

Nota: è meglio con le versioni più recenti, ma versioni precedenti .... ugh

accrescimento.

Informazioni sul commento qui Penso che Plone non funziona così (almeno non più).

1 - Plone è in qualche modo più lento di altre soluzioni CMS, ma dall'impostazione immediata a una soluzione Apache-Varnish-Zope-Relstorage, c'è molto spazio di ottimizzazione.

2 - Questo è vero. La risposta qui lo spiega, ma in effetti Plone è un animale complesso.

3 - Non sono sicuro di cosa intendi. Le espressioni TAL Path si basano sul concetto di attraversamento degli attributi degli oggetti. Mi sembra OO.

4 - Vero. Anche se dopo aver capito come funziona l'acquisizione, rimane fuori dai piedi. E in Plone non molte cose dipendono dall'acquisizione, immagino.

5 - Non vero. I modelli di pagina Zope si basano esclusivamente sulla separazione dei contenuti dalla presentazione. Il fatto che il contenuto e la presentazione possano essere visualizzati dallo ZODB (e in realtà la maggior parte dei modelli rimangono nel filesystem, ne vedrai solo uno "vedi" nello ZODB) è più legato al fatto che lo ZODB è un grande database degli oggetti - che a sua volta non significa che siano tutti contenuti. Tutto in "puro" Il sistema OO è un oggetto, è solo il tipo di oggetto (oggetti di presentazione, oggetto di contenuto, ecc.) Che conta.

6 - Plone distingue tra web designer e creatori di contenuti. I progettisti eseguono tutte le personalizzazioni (modelli, CSS, JS, ecc.) E quindi i creatori di contenuti creano il contenuto utilizzando l'interfaccia utente di Plone. Il punto qui è che Plone è principalmente un CMS, il che significa che i creatori di contenuti dovrebbero essere laici in termini di design.

7 - Parzialmente vero. Considerando che la struttura dell'interfaccia utente non cambierà, tutte le specifiche di presentazione sono contenute nei file CSS. Se la struttura dell'interfaccia utente deve cambiare, il progettista potrebbe lavorare con un plogrammer :-) per adeguare i modelli.

Immagino che in nessun sistema che emette pagine dinamiche il designer sia completamente libero di parlare solo HTML, CSS e JS, e tralasciare qualche altra tecnologia, che si tratti di PHP, Python, ASP o Java. Se lo fa, ci sarà sicuramente un programmatore che otterrà HTML, CSS e JS dal designer e "lo dinamizzerà". Questo modello esiste sicuramente in Plone.

Non usarlo, se non è necessario. L'intero universo ZOPE è un dinosauro. Cresciuto da anni, ha raccolto molte particelle e ruggine. Al giorno d'oggi molte cose sarebbero completamente diverse. Troppo complesso per la maggior parte delle cose, difficile da gestire per cose complesse. È l'opposto del design sottile e scalabile. E per risolverlo seriamente, non vedo la forza lavoro necessaria coinvolta nel progetto.

Mi dispiace per le parole aspre, vorrei anche che fosse meglio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top