Rimani personalizzato o esegui la migrazione a CMS?

6

Ho un sito che è stato costruito da zero da alcuni programmatori diversi nel tempo. Il primo programmatore, che ha creato il sistema e il database iniziali, non era molto esperto di tecnologia. Anche altri programmatori che hanno lavorato in seguito hanno fatto le cose a modo loro, prendendo scorciatoie, aggiustando le cose invece di occuparsi dei problemi di root cause, di conseguenza ho ottenuto un sito Web che è bacato e non mantenibile.

Il sito è fatto per i distributori all'ingrosso che vengono a comprare e vendere prodotti. Registrano un account e sfruttano le funzionalità premium. C'è un po 'di cose diverse che vanno avanti sotto il cofano, per esempio, per impedire ai truffatori di registrare continuamente nuovi account, blocciamo automaticamente il loro account se una qualsiasi delle informazioni precedenti con cui sono state registrate è abbinata alle loro nuove informazioni di registrazione. Abbiamo anche chiamate robot e verificare il loro numero di telefono.

Abbiamo anche sviluppato un sistema in cui chiunque può inviare una e-mail al nostro indirizzo e-mail designato, e il loro corpo e contenuto della posta elettronica viene pubblicato come annuncio di acquisto e vendita.

Voglio ricostruire il sito. Ho pensato che per prevenire futuri problemi associati ai programmatori che fanno le cose a modo loro, è bene migrare l'intero sito a un CMS come Drupal o Wordpress e ricostruire altre funzionalità sotto forma di plugin. In questo modo, sospetto, il nucleo, il framework del sito rimarrà intatto dai programmatori e ogni volta che vengono pubblicati gli aggiornamenti CMS di base, il mio sito rimane aggiornato. cosa pensi? E 'questa una buona idea? O dovrei mantenere il sito personalizzato ma assumere un programmatore esperto che potrebbe provare a risolvere tutti i problemi, ottimizzare PHP e Database.

Vorrei anche sapere se la migrazione del mio sito e del mio database sarà costosa?

    
posta user5248 17.05.2012 - 22:37
fonte

4 risposte

3

Questa è una domanda davvero buona, ma credo che sia forse localizzata. Noi lottiamo continuamente con questa domanda in IT: costruire o comprare? E se costruiamo, da cosa iniziamo? La risposta è "dipende".

Quanto è perfetto un CMS per il tuo dominio aziendale? Il tuo sito web non suona come un tradizionale sito di contenuti per me, ma se è poi quello che potresti fare, è sufficiente impostare la tua piccola copia di Drupal (o qualsiasi altra cosa) e avviare la prototipazione - abbozzando fuori come costruiresti il sito con esso - quali sono le lacune che è necessario riempire con plug-in personalizzati (inserire un segnaposto statico lì). Esercitati a fare alcuni flussi di lavoro con il tuo prototipo. Ciò valuterà il tuo tempo e penso che sarai in grado di rispondere alla tua stessa domanda dopo averlo fatto.

La seconda parte della tua domanda "assumi un programmatore esperto" - beh, questa è davvero la parte difficile, vero? Ecco la cosa: nessuno vuole aggiustare il tuo sito web schifoso. Chiunque tu riesca a trovarlo, cercherà di convincerti a costringerli a costruire The Next Great System (a modo loro) - o stanno facendo solo del tempo perché non sono riusciti a trovare un lavoro migliore da fare. Persino qualcuno intelligente e coscienzioso non si lascerà ispirare dalla prospettiva di farlo.

    
risposta data 18.05.2012 - 01:47
fonte
2

Full-disclosure: la mia esperienza principale è nel lavoro sul lato client e in realtà sono orgoglioso di avere competenze JavaScript. Negli ultimi quattro anni sono stato esposto a una grande varietà di cose (due erano per lo più contratti a breve termine con agenzie interattive che si occupano di tutti i tipi di soluzioni web diverse), ma rifletto sulle mie opinioni alla luce di questo fatto.

Prima di tutto Drupal è orrido. Veramente male. Si rivolge a persone che non amano scrivere codice. Indovina chi lo mantiene? È una PITA reale sul front end e il picco sotto il cofano del PHP sottostante è stato come fissare l'abisso. E io non conosco bene PHP. Ho cercato di avere una mente aperta sia per Drupal che per Joomla nel corso degli anni, ma ogni esperienza è stata infelicità sul lato client e non mi sono divertito molto nel back-end da quello che potevo osservare. Se ciò non sembra molto obiettivo, è perché non lo è. Ci ho lavorato. Lo sto spaventando.

Un buon CMS (non ne ho mai incontrato uno che amavo essere onesto) potrebbe esserti utile ma tendono ad essere più sulle soluzioni plug-in che non sono molto flessibili o che hanno zillioni di opzioni in più hai bisogno, ma nessuno dei 2-3 esatti che potresti desiderare. Penso che la scelta di una struttura di back-end generalista intelligente potrebbe essere il modo migliore per andare. WordPress è ben considerato, ma potrebbe essere perché è l'unico che tende a mantenere il proprio ambito come CMS.

Dopotutto, il punto di un CMS è più di fornire una modifica minima delle competenze dei contenuti principalmente sui siti di contenuto. Alcuni, come Drupal, promettono molto, molto di più ma offrono una comunità molto entusiasta che non sa assolutamente nulla. Nel tuo caso, certamente il tuo sito ha contenuti ma non è quello che tenderei a considerare come un sito basato sul contenuto al 100%. Hai un sito di app o almeno abbastanza app per considerarlo così. Vai con un framework back-end che aiuti gli sviluppatori a creare e mantenere le app.

Personalmente sono particolarmente appassionato di Django perché prende quello che io considero il terreno di mezzo ideale. Se ti servirà a farlo, la maggior parte delle cose funziona così bene ed è flessibile, veloce e abbastanza facile da farti capire che continuerai a voler fare le cose in modo coerente e in linea con la filosofia generale del framework. È anche un framework Python. E presuppone che tu possa gestire le espressioni regolari. Gli sviluppatori di Django non sono persone che sperano di non dover imparare nulla di nuovo sullo sviluppo dopo il college.

Python, IMO, e non sto parlando degli sviluppatori migliori - quindi nessuna guerra santa intesa, tende anche ad attirare sviluppatori di qualità più alta a livello jr e medio. O forse ha più senso dire che sta per alienare gli schifosi per non avere una sintassi basata su C e offrire flessibilità che tende a far inorridire un certo tipo di dev di app che dovrebbe probabilmente stare lontano dal web.

L'altro framework generale con cui ho lavorato è il più indolore di .NET MVC, il che non è stato facile per me ammettere la prima volta che l'ho realizzato. Non sono un odiatore ma per le tue esigenze non consiglierei Rails. PHP potrebbe avere qualcosa di buono nel mix che è anche specificamente mirato alle tue esigenze ma potrebbe essere una lunga ricerca, e disprezzo troppo Java per dare una valutazione onesta e imparziale, tranne per dire che le persone che sanno perché Java tende a farmi desiderare per dare un calcio ai cuccioli anche se sono totalmente figo con C, giuro che Spring è diverso.

Potresti anche voler dare un'occhiata e vedere se ci sono quadri che rispondano in modo specifico a bisogni come il tuo. Non si sa mai. Guarda cosa stanno facendo la concorrenza o le imprese simili.

    
risposta data 18.05.2012 - 06:36
fonte
1

Mi sembra che la tua situazione sia esattamente quando non vorrebbe fare affidamento su un CMS. Hai un servizio - è il prodotto principale che produci. Se hai usato un CMS, praticamente ogni parte di esso sarà personalizzata. Non sarai in grado di scambiare semplicemente una nuova versione del CMS una volta che tutto sarà a posto. Sarebbe meglio, a lungo termine, non dover lottare con un framework esterno per apportare modifiche altrimenti semplici e non mettere a rischio la tua azienda se il framework viene sospeso o se ha una sicurezza significativa o altri problemi che non possono essere facilmente aggiornati perché lo hai personalizzato così tanto.

Da quello che descrivi, il tuo problema non è la mancanza di un CMS - è la mancanza di una chiara visione dello sviluppo e una corretta gestione delle risorse di sviluppo. Se non lo distingui e inizi a implementare un CMS, probabilmente ti ritroverai con un miscuglio di CMS e altri framework dopo un paio d'anni, dato che tutti continueranno a fare le loro cose e il tuo sistema essere anche più complicato da mantenere.

    
risposta data 18.05.2012 - 05:17
fonte
0

Hai esaminato Joomla ?, puoi semplicemente creare un nuovo componente nel suo spazio applicativo e lanciare il codice lì dentro con un alcune aggiunte (punto di entrata e assicurati che tutti gli URL siano generati correttamente) e che il pollone funzioni.

Ovviamente potresti voler riscriverlo e puoi farlo con il framework dell'applicazione, ma la parte importante è che puoi farlo gradualmente e che trarrai vantaggio dal CMS.

Tuttavia, indipendentemente dalla piattaforma (che potrebbe essere solo un framework applicativo come Symfony ), hai qualche tipo di piano di migrazione?

    
risposta data 18.05.2012 - 06:09
fonte

Leggi altre domande sui tag