it-swarm.it

Come posso decidere se devo eseguire il rollup del mio software o utilizzare un CMS in pacchetto (e plugin appropriati)?

Sono un ingegnere del software con poca esperienza web attualmente in procinto di voler effettivamente utilizzare il mio host web e il mio nome di dominio per qualcosa di diverso da una discarica di file per i file di cui ho bisogno per dare accesso ad altre persone. Il mio piano è in qualche modo implementare un sito Web e un blog personale/professionale, utilizzando prodotti FOSS standardizzati, software personalizzato o componenti standardizzati con moduli/plug-in personalizzati.

I miei requisiti sono:

  1. HTML semantico (ben formato, uso corretto degli attributi, microformati ove appropriato, uso dei CSS per lo stile e HTML per il markup)
  2. Convalida di HTML e CSS (XHTML, HTML4, HTML5 tutti accettabili - purché convalidati immediatamente)
  3. Supporto per un blog
  4. Supporto per la modifica e la gestione del mio curriculum in formato HTML e per la gestione dei file caricati nei formati PDF, ODT e DOC che rendo disponibili per il download
  5. Scritto in una lingua che conosco e il mio host supporta - PHP preferito poiché è più facile per me ospitare e ne ho anche familiarità
  6. Facile da ottenere o scrivere un tema per
  7. Supporto per pagine statiche che cambiano di rado (su di me), pagine statiche che cambiano a volte (elenchi di progetti), pagine dinamiche (blog, commenti) e moduli (contattami)
  8. Funziona bene con altri strumenti nello stesso ambiente: utilizzo Trac sullo stesso host per la gestione dei progetti e potrei distribuire altri software come una distribuzione MediaWiki personale
  9. Facile da integrare con altri social media (Twitter? Facebook? Pandora?) - Non richiede, ma sarebbe bello
  10. Generazione e manutenzione della sitemap e/o robots.txt

Le mie domande:

  • Quale soluzione FOSS sarebbe adatta a me? Ho giocato con Drupal e WordPress in passato - WordPress mi ha colpito come uno strumento solido, ma al momento era molto focalizzato sul blog (I capire che è cambiato più recentemente per essere più simile al CMS).
  • Quali soluzioni gratuite (ma non open source) potrebbero essere appropriate per me? Preferirei avere pieno accesso alla fonte, ma non è un requisito.
  • Se ho intenzione di fare il mio, da dove dovrei iniziare? Preferirei non seguire il mio - il mio background di ingegneria del software mi dice che i miei requisiti dovrebbero essere comuni e dovrei essere in grado di trovare alcune soluzioni esistenti che posso combinare per farlo funzionare.

Grazie.

11
Thomas Owens

La domanda buy-vs-build è eterna. Direi WordPress e Drupal soddisfano entrambi i tuoi criteri. Ho più esperienza con WordPress quindi lo farei in WordPress. Per soddisfare le tue esigenze:

  1. HTML semantico (ben formato, uso corretto degli attributi, microformati ove appropriato, uso dei CSS per lo stile e HTML per il markup)

    , la maggior parte temi per WordPress usa xhtml per impostazione predefinita senza problemi. Il markup relativo ai microformati probabilmente dovrai eseguirlo manualmente in una vista html, anche se potrebbero esserci plugin che lo facilitano.

  2. Convalida di HTML e CSS (XHTML, HTML4, HTML5 tutti accettabili - purché convalidati immediatamente)

    , la maggior parte dei temi per WordPress convalida o è molto vicina alla convalida senza troppi problemi. C'è un'ottima documentazione per i temi.

  3. Supporto per un blog

    , assolutamente.

  4. Supporto per la modifica e la gestione del mio curriculum in formato HTML e per la gestione dei file caricati nei formati PDF, ODT e DOC che rendo disponibili per il download

    , fai in modo che il curriculum sia una pagina statica e gestisci i file caricati utilizzando lo strumento di gestione dei media nativo in WordPress.

  5. Scritto in una lingua che conosco e il mio host supporta - PHP preferito poiché è più facile per me ospitare e ne ho anche familiarità

    , WordPress = PHP + MySQL + Apache funziona meglio per mod_rewrite

  6. Facile da ottenere o scrivere un tema per

    , vedi Sviluppo del tema

  7. Supporto per pagine statiche che cambiano di rado (su di me), pagine statiche che cambiano a volte (elenchi di progetti), pagine dinamiche (blog, commenti) e moduli (contattami)

    le pagine sono gestite in WordPress nella parte Pagine dell'interfaccia. I moduli di contatto funzionano bene con plugin come Modulo di contatto 7

  8. Funziona bene con altri strumenti nello stesso ambiente - Uso Trac sullo stesso Host per la gestione dei progetti e potrei distribuire altri software come una distribuzione MediaWiki personale

    , anche se potrebbe essere necessario aggiungere alcune regole di riscrittura in modo che non tutto punti a WordPress. Corro WordPress in una sottodirectory e lascio che gestisca tutto di solito. Potrebbe essere necessario aggiungere un identificatore affinché WordPress ignori una radice della directory MediaWiki.

  9. Facile da integrare con altri social media (Twitter? Facebook? Pandora?) - Non richiede, ma sarebbe bello

    , tramite plug-in. Per impostazione predefinita, puoi anche inserire i feed RSS nelle barre laterali WordPress.

  10. Generazione e manutenzione della Sitemap e/o robots.txt

    , Google Sitemap Generator .

6
artlung

Ho usato Wordpress per configurare un numero di siti, ognuno con esigenze diverse, e penso che Wordpress soddisfacesse anche le tue esigenze:

  • http://chaos.trader.name/ - Principalmente un sito di informazione orientato alla pagina, con alcuni blog.
  • http://ludus.unicornsrest.org/ - Principalmente un blog, ma con una struttura di pagine profondamente annidata. Ho scritto un plug-in per creare collegamenti a pagine all'interno dei post, permettendomi di riordinare le pagine.
  • http://driia.com/ - Sito aziendale di mia moglie, blog e sito di vendita. Ho scritto plug-in che consentono di raggruppare automaticamente i post su pagine basate su categorie e tag e di riconoscere che i post con un tag specifico rappresentano gioielli o opere d'arte in vendita. I prezzi di vendita sono memorizzati come metadati sui post.
  • http://barkingmad.org/ - Sito pubblicitario per un gruppo di intrattenimento senza scopo di lucro.

Il numero e la qualità dei temi e dei plug-in disponibili per Wordpress è sorprendente, ma la licenza GPL significa che tutto ciò che non soddisfa completamente le tue esigenze può essere migliorato come ritieni opportuno.

2
Craig Trader

Non penso che troverai un progetto FOSS che faccia quello che vuoi che faccia OTB. WordPress è solido ma dovresti lavorare un po 'per generare ciò che desideri. Drupal potrebbe essere più un mal di testa di quanto sembri inizialmente. So che la gente lo adora, e so che ci ho provato, ma preferirei non preoccuparmi di dover mantenere molti hack tra gli aggiornamenti di versione.

Francamente, andrei con WordPress se fossi nei tuoi panni, e costruissi plugin personalizzati per quello che ti serve, se non ne trovi già uno FOSS.

L'avvertenza è che da quando Matt Mullenweg (CEO di Automattic, la società dietro WordPress) ha iniziato a tirare su Richard Stallman su tutti, crede e sostiene che tutti i temi (codice tema, non immagini/css) e plugin (codice plugin) è GPL in virtù del fatto che è un'opera derivata di WordPress nella sua visione (che trovo personalmente distorta). Quindi sei bravo se lo fai da solo, ma se hai una "distribuzione", come nel dare i plugin a 2 persone, potresti essere legalmente obbligato a OS loro stessi, che è qualcosa che potresti o non vuoi fare .

1
intlect

Dipende da cosa vuoi fare e uscirne:

  1. Impara uno stack tecnologico
    Ho scritto la maggior parte del codice che alimenta il mio sito personale come un esercizio di apprendimento per tenermi al passo con gli ultimi cambiamenti nella tecnologia in cui stavo lavorando e l'ho modificato man mano che la mia attenzione cambiava - originariamente un classico ASP sito, quindi è stato spostato su ASP.NET 1.1, quindi su 2.0 e ora è in esecuzione su ASP.NET MVC 2.0 dopo un recente aggiornamento da ASP.NET MVC 1.0
  2. Gestisci il tuo sito
    Sia al lavoro, sia per un paio di siti di chiese che gestisco nel mio tempo libero, ho usato un software impacchettato - al lavoro stiamo parlando di CMS "enterprise" (MOSS, Tridion), per i siti di chiese è FOSS ( N2 CMS ) - perché offrivano funzionalità al di là di quelle che ero disposto a scrivere.

Se la tua professione è la creazione di siti Web, allora c'è un argomento per utilizzare la tecnologia che stai "vendendo", se è qualcos'altro, quindi ti consiglio di dedicare il tuo tempo al contenuto piuttosto che alla tecnologia.


Risposta al commento

Quindi consiglierei di sceglierne uno dallo scaffale: non posso offrire molti consigli nella sfera PHP poiché non è la mia specialità, temo. Se riesci a far fronte ad alcuni C # N2 CMS è molto flessibile, ma non ha l'enorme base di plug-in/temi di qualcosa come WordPress, che con i suoi suoni probabilmente si adatta alle tue esigenze in modo equo bene...

1

Costruisco CMS di livello aziendale per vivere ... e personalmente odio i sistemi standard come Joomla, Wordpress e Drupal. Ecco i miei motivi:

1) I posti in cui ho lavorato hanno sfruttato questi (tipi di) pacchetti più volte perché non siamo stati abbastanza veloci aggiornandoli .... e in alcuni casi, gli aggiornamenti possono essere settimanali. Una volta che vieni violato, ti chiederai seriamente perché hai seguito quella strada ...

2) I modelli di Wordpress sono esasperanti. Uno avrà un'area di amministrazione completa, mentre il prossimo non ha nessuno e si aspetta che tu abbia hackerato il codice. Dove cercare? AHHHHH !!! Ne ho schierati molti, ma mi fa male ogni volta. Secondo me, Wordpress è un sistema di blog ... usalo per quello che è destinato a fare.

3) Ho creato centinaia di siti Joomla (e Mambo) in un precedente lavoro. Anche quando sai cosa stai facendo, buona fortuna cercando di sfuggire a quel look "Joomla layout" .... specialmente se il tempo non è dalla tua parte. Lo stesso vale per Wordpress ... puoi dirlo quando sei su un sito Wordpress. No grazie ... vengo pagato per scoprire il lavoro originale.

4) Formazione. Prova a spiegare Joomla o Drupal amministrazione a qualcuno in 5 minuti o meno. Il CMS che ho creato può essere insegnato a qualcuno con un paragrafo di istruzioni scritte (o meno) perché l'ho costruito per includere solo gli strumenti di cui ha bisogno ogni sito specifico ... altrimenti il ​​pulsante scompare. Ti sfido a provare ad addestrare qualcuno con meno di istruzioni di una rubrica, specialmente se non sono tecnicamente esperti.

5) Conformità agli standard ... è qualcosa su cui personalmente non scenderei a compromessi. Controllo tutto ciò che il mio CMS genera e l'ho costruito in modo tale che una dozzina di righe di codice possano essere inserite in qualsiasi modello conforme a HTML in pochi minuti per produrre ogni volta codice conforme. Wordpress è d'accordo, Joomla e Drupal non sempre così tanto.

6) commerciabilità. I CMS fanno tutti le stesse cose. Ma prova ad entrare in un potenziale cliente e a dire "Vorrei farti pagare un sacco per personalizzare un prodotto standard" vs "Ecco un sistema che è stato costruito appositamente per le tue esigenze" Se è un buon prodotto, vincerai quel business quasi ogni volta. Nel tuo caso, questo non ha importanza .... ma chissà, forse saresti in grado di sfruttare la funzionalità per progetti futuri ... pagando progetti ....

Ci sono ovviamente degli svantaggi. Costruisci tutto da solo, il che richiede tempo. Se lo fai per più siti, l'economia di scala abbassa il colpo. Non hai un esercito di persone che trovano vulnerabilità ... di nuovo, avere più implementazioni può aiutare il codice a evolversi. Ma, se hai le conoscenze per scrivere un codice di qualità, è un'ottima soluzione.

In bocca al lupo.

1
bpeterson76

Sembra che, per il tuo caso d'uso, un CMS in pacchetto sia probabilmente il modo migliore per andare.

Sono passati alcuni anni dall'ultima volta che ho valutato PHP CMS, e al momento il mio requisito principale era un'estensibilità pulita. All'epoca, Joomla era un forte contendente e Xaraya sembrava intellettualmente interessante sebbene il ciclo di sviluppo sembrasse lento.

Se sei interessato a provarne un po ', il sito opensourceCMS ti consente di provare senza realmente installarti. L'ultima volta che l'ho provato mi è sembrato molto meno pubblicizzato, ma immagino che tu debba pagare le bollette. Molti CMS gestiscono anche i propri siti dimostrativi (ad es. Joomla Demo , Xaraya Demo )

0
JasonBirch

Se hai un sacco di tempo e un prurito che non scompare, sì, fai il tuo. Altrimenti installa WordPress (" installazione famosa in 5 minuti ") e concediti 2 ore ... questo è tutto ciò di cui hai bisogno per avere un'ottima idea.

Volevo pubblicare un paio di commenti in risposta a risposte precedenti: puoi sicuramente creare siti Web che sono "pagine" con WP non solo blog (ed è molto buono per creare siti Web con blog integrati), e acconsentire Il commento di @ intlect sui temi. Può esserci un'enorme differenza nella qualità di alcuni temi (anche un buon posto per imparare/vedere come funziona WP) - Sono stato morso un paio di volte anche aggiornando WP per scoprire che il tema non è compatibile con la versione più recente (e poi scopri quanto è buono il supporto dello sviluppatore).

0
Dan

Esiste ovviamente una terza opzione, potresti usare un CMS meno "pesante" come MODX questo ti permetterebbe l'opzione di non dover reinventare la ruota di tutte le cose standard di cms ( gestione utenti, gestione documenti, ecc.) offrendo al contempo un ambiente semplice e flessibile per creare il proprio codice. Ho usato un certo numero di CMS e tutti hanno la loro nicchia, ma se vuoi qualcosa di facile da sviluppare e abbastanza leggero da poterlo capire senza settimane di scavo (alcuni dei sistemi CMS sono bestie davvero potenti ... qualcosa che probabilmente non ti serve per un sito web personale). MODX è fondamentalmente costruito proprio per il tipo di cosa che vuoi fare, ti dà un nucleo di funzionalità e poi ne aggiungi le tue. Inoltre le persone condividono il loro codice, quindi trovi frammenti, moduli, ecc. Che altri hanno usato.

0
Astaldaran