2010-10-01 22 views
5

Sono stato consultato sulla configurazione di un progetto e vorrei rimbalzare le mie idee da qualcuno per opinioni extra.Decisioni architetturali: sito principale, forum, blog

La parte principale di questo sito Web è molto complessa e ha funzionalità molto personalizzate, quindi da quello che ho visto è più una webapp. Tuttavia è necessario un blog e anche un forum. Questa è la panoramica generale di questo progetto.

Poiché la parte principale del sito Web è più di una webapp, penso che questo progetto dovrebbe essere separato in singoli pezzi curati da diversi framework e CMS in modo che ogni componente non limiti altri componenti. Questa è una decisione piuttosto difficile da vendere anche perché nessuno vuole mantenere quadri e CMS diversi a meno che non sia davvero la cosa giusta da fare per loro.

La mia logica è che la parte principale del sito Web è in realtà una complessa webapp, cercando di inserirla in un CMS come Drupal o Joomla o qualsiasi altra cosa aumenterà i tempi ei costi di sviluppo. Questa parte ha senso essere creata con una tecnologia più flessibile come Zend Framework o Symfony, fondamentalmente qualcosa che è un framework non un CMS.

Per il resto dei componenti, non vedo l'idea di utilizzare un framework poiché molti di essi sono componenti standard come un blog e un forum. Quindi per il resto del sito Web, le mie opzioni sono 1) per costruire tutto il resto necessario con un singolo CMS con cui ho familiarità (ad esempio Drupal), ma poiché ho già intrapreso la strada della divisione del sito, ho pensato opzione 2) perché non dividere il sito ancora di più e scegliere il miglior software per ogni componente. Drupal per esempio non è un grande forum. Questo non è solo il suo potere.

Si scopre anche che le persone che saranno coinvolte nello scrivere i blog non sono per lo più le stesse persone che contribuiscono ai forum, quindi penso che non dovrei preoccuparmi di qualcosa come allenare lo stesso staff su 2 software separato.

Tuttavia non riesco a decidermi sulla manutenibilità di questo sito web. Da un lato penso che sarà più difficile mantenere 3 principali tecnologie: framework per l'app, software specializzato forum (suggerimenti benvenuto), e software di blogging specializzato (suggerimenti benvenuto), ma d'altra parte, Penso che questo potrebbe essere molto più facile da mantenere perché una parte del sito può essere rimossa o modificata molto più facilmente senza influenzare tutto il resto.

Questa è stata la mia idea generale, ma temo che potrebbe essere difficile da vendere, perché potrebbe sembrare che sto cercando di complicare un progetto. Penso tuttavia che questo approccio lo semplifica davvero. Quindi qualche idea su questo? Ci sono problemi che non sto considerando completamente? Quali decisioni architettoniche faresti in modo simile o diverso se avessi lo stesso tipo di problema?

risposta

8

È una decisione difficile. Tuttavia, prima di ogni altra cosa, ci sono un paio di domande critiche che devono essere risolte.

1: il blog intende contenere tutte le funzionalità dei software di blogging che vedi lì? O hai bisogno di un set di funzioni più piccolo e più semplice? Lo stesso vale per il forum.

2: È necessario condividere la base utenti su tutti e tre i sistemi?

3: È necessario che il progetto del sito sia esattamente lo stesso su tutta la linea?

Se avete bisogno di forum e blog completi, sarebbe saggio utilizzare sistemi separati. Tuttavia, se il set di funzionalità richiesto è piccolo, potrebbe essere più saggio personalizzarlo semplicemente, senza spendere troppo tempo.

Se la base di utenti deve essere condivisa, sarebbe un problema integrare le sessioni e la base di utenti su tre sistemi diversi, è sempre più semplice e agevole utilizzare solo una tabella di utenti. Dovrai hackerare il forum e la piattaforma di blogging per farlo funzionare con i principali cms, ci saranno problemi a farlo.

Se il design può variare su questi sistemi, sarebbe ok, tuttavia renderlo esattamente lo stesso sarebbe un'impresa e richiederebbe personale specializzato per il forum e la piattaforma di blogging pertinenti. Quindi mantenere il design sarebbe un problema.

Questa è una decisione molto difficile. Sarà il costo a breve termine rispetto a quello a lungo termine. Se pensi che l'app web sia lì per un po ', io voto per un aumento dei costi a breve termine, renderebbe le cose più facili a lungo termine.

Un'altra nota: Se progettate la vostra architettura come modulare, potete sviluppare il vostro forum e sistema di blog come moduli che potete collegare. Quindi ti dà la libertà di portare il sito parzialmente offline.

2

Sarà molto più facile mantenere i framework che hanno molti utenti che sanno cosa stanno facendo. Sarà più difficile mantenere un'app personalizzata che cerchi di essere un'app, un blog e un forum in uno.

Chiunque sta mantenendo sarà contento che quando hanno bisogno di fare un cambiamento per il blog:

  • non hanno bisogno di guardare uno qualsiasi degli altri componenti
  • c'è un sacco di documentazione là fuori per il tuo motore di blog (assumendo si va con uno popolare, ad esWordpress
+0

Penso che se lo separerai, potresti anche farlo correttamente. È molto più facile mantenere qualcosa che sta solo cercando di fare un buon lavoro di essere un blog, e allo stesso modo con un forum. – Skilldrick

1

Mi piacciono le domande di Sabeen.

Supponendo che i tre componenti condividano utenti e layout, mi sembra preferibile disporre di un singolo framework sottostante, non di un mostro Drupal-Wordpress-phpBB-Zend multi-headed in cui è necessario gestire l'autenticazione distinta e schemi di discussione.

Ma come ha osservato Sabeen, se il forum e il blog hanno davvero bisogno di essere completi, implementarli da zero sembra un lavoro che reinventa le ruote già provate e testate. Costo a breve termine, certo, ma auspicabilmente con benefici a lungo termine.

Problemi correlati