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:
Le mie domande:
Grazie.
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:
HTML semantico (ben formato, uso corretto degli attributi, microformati ove appropriato, uso dei CSS per lo stile e HTML per il markup)
Sì , 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.
Convalida di HTML e CSS (XHTML, HTML4, HTML5 tutti accettabili - purché convalidati immediatamente)
Sì , la maggior parte dei temi per WordPress convalida o è molto vicina alla convalida senza troppi problemi. C'è un'ottima documentazione per i temi.
Supporto per un blog
Sì , assolutamente.
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
Sì , 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.
Scritto in una lingua che conosco e il mio host supporta - PHP preferito poiché è più facile per me ospitare e ne ho anche familiarità
Sì , WordPress = PHP + MySQL + Apache funziona meglio per mod_rewrite
Facile da ottenere o scrivere un tema per
Sì , vedi Sviluppo del tema
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)
Sì le pagine sono gestite in WordPress nella parte Pagine dell'interfaccia. I moduli di contatto funzionano bene con plugin come Modulo di contatto 7
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
Sì , 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.
Facile da integrare con altri social media (Twitter? Facebook? Pandora?) - Non richiede, ma sarebbe bello
Sì , tramite plug-in. Per impostazione predefinita, puoi anche inserire i feed RSS nelle barre laterali WordPress.
Generazione e manutenzione della Sitemap e/o robots.txt
Sì , Google Sitemap Generator .
Ho usato Wordpress per configurare un numero di siti, ognuno con esigenze diverse, e penso che Wordpress soddisfacesse anche le tue esigenze:
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.
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 .
Dipende da cosa vuoi fare e uscirne:
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...
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.
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 )
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).
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.