Integrare un sito in drupal
Ciao a tutti!
Poniamo che io ho un sito che tratta modellini di aerei di carta e info relative (tipi di carta e recensioni, colle varie e recensioni, etc)
E' tutto fatto a mano, in php e usa mysql, quindi con le sue query etc. Poniamo per semplicità che sia moooolto scarno dal punto di vista grafico, ossia non ha css, ha tabelle solo per cose semplici (form di inserimento e visualizzazione elenchi)
Quello che vorrei fare è integrare tutta quanta questa roba nel cms drupal... quindi oltre ad avere le funzionalità di drupal (gestione utenti, commenti sulle pagine, news in home page, calendario, etc) avere anche tutte le funzionalità del vecchio sito (elenco alfabetico dei tipi di carta, dei tipi di colla, dei modelli di aerei, recensioni per tutte le cose, etc), integrando i due insiemi di funzionalità dove possibile, usando ad esempio gli utenti di drupal per gestire i commenti alle recensioni del sito...
Dato che si tratta di un porting e quindi il database del vecchio sito esiste già ed è pieno di dati, vorrei tenerlo separato da quello di drupal (anche per questione di ordine) fondendo insieme solo le interfacce.
Quale è la strada migliore per fare questo? Creare le pagine in Drupal e poi iniettare codice php originale per ricreare le pagine, oppure innestare le pagine esistenti ed applicarci sopra la struttura del theme di drupal? Come si fa per integrare una pagina esistente in drupal, come se fosse un articolo interno?
Mi conviene iniziare direttamente con Drupal 5?
Qualsiasi aiuto/consiglio/riferimento/link è molto ben accetto, anzi vi ringrazio in anticipo per ogni risposta!
Risposte
costruisci un modulo oppure fai degli snippet
le vie percorribili sono due.
La prima e' che potresti fare un modulo per gestire quello che ti serve.
Prendi un modulo vuoto e inizi a costruirlo mettendogli la struttura del db e mettendo le varie query.
Oppure fai delle pagine e all'interno metti il codice php (si chiama snippet)
A seconda di cosas devi fare, potresti anche crearti una tassonomia e lavorarla con i moduli appositi.
Ovviamente in tutti i casi dovresti pulire il tuo codice da tutto cio' che e' interfaccia grafica.
Gli snippet sono comodi, ma se ti fai un modulo secondo me fai anche meglio.
--
msn: cruell68@hotmail.com
icq: 30303778
Secondo me più di integrare
Secondo me più di integrare si tratta di replicare. Replicare il tuo vecchio sito in drupal.
Secondo me la procedura giusta per fare questa cosa è questa:
1-Verificare quali sono le reali funzionalità che ti servono del tuo sito attuale che drupal non ti offre.
2-Trovare e installare i moduli drupal che sopperiscono alle mancanze del punto 1. Secondo me trovi tutto quello che ti serve, ma se così non fosse dovrai farti i moduli custom per quello che manca
A questo punto hai un sito vuoto che può fare tutto quello che fa il tuo attualmente, ma non ha contenuti. Non ti rimane che migrare i dati.
Se le pagine del sito di partenza sono poche lo fai a mano, altrimenti devi farti uno script che legga i dati dal tuo db e popoli le tabelle del db di drupal.
La parte complessa sarà capire come e dove vengono scritti i dati in drupal, non so se ci sia documentazione specifica sulla struttura del db.
Se non ne trovi la cosa migliore, secondo me, è fare un pò di reverse: ti inserisci un primo contenuto e vedi come vengono memorizzati i dati nel db, il tuo script dovrà fare la stessa cosa.
Ciao
Francesco
Sono tutte soluzioni
Sono tutte soluzioni interessanti, vorrei implementare quella che si integra meglio, che è più in simbiosi con drupal...
l'idea di far gestire i dati da drupal non mi dispiace, l'inognita è il come creare una struttura dati personalizzata su drupal che gestisce solo pagine e storie... i miei dati sono molto più complessi, e hanno tabelle che correlate tra loro... poi vorrei aggregare questi dati in indici e cose del genere....
Mondoscuro
www.mondoscuro.it
Credo che la cosa migliore sia
[quote=Mondoscuro]Sono tutte soluzioni interessanti, vorrei implementare quella che si integra meglio, che è più in simbiosi con drupal...
[/quote]
Credo che la cosa migliore sia, come ti ho detto, mettere i tuoi contenuti dentro drupal
[quote=Mondoscuro]l'idea di far gestire i dati da drupal non mi dispiace, l'inognita è il come creare una struttura dati personalizzata su drupal che gestisce solo pagine e storie... i miei dati sono molto più complessi, e hanno tabelle che correlate tra loro... poi vorrei aggregare questi dati in indici e cose del genere....[/quote]
E' difficile aiutarti perchè non ho ben capito cosa itendi. Se i tuoi dati sono più complessi della semplice struttura titolo+testo devi utilizzare un modulo apposito per poter creare tipi di contenuto diverso. Il modulo in oggetto è cck, se installi la versione 4.7 devi metterlo tu, mi pare invece, ma non vorrei sbagliare, che sia integrato nella 5 come parte del core.
Per quanto riguarda l'aggregazione, andando alla cieca anche qui, direi che la tassonomia potrebbe esserti sufficiente. Considera che puoi creare diversi vocabolari con diversi termini, e che puoi assegnare ogni nodo a diversi termini anche di diversi vocabolari, per cui dovresti poter fare tutto quello che ti serve.
La struttura delle categorie di drupal è tra le più flessibili che abbia mai visto.
Se poi devi visualizzare i nodi in maniere particolari (con filtri ordinamenti e altro)il modulo views ti viene incontro.
Altro non saprei veramente dirti, se ti servono informazioni più precise dacci più dettaglio, magari quache esempio può aiutare
Ciao
Francesco
Progressi
Sto facendo dei progressi :)
Usando il PHP Code come input format, sto riuscendo a replicare il vecchio sito con pochissime modifiche al codice (quasi tutte relativi ai riferimenti tra le pagine). Mi rimane solo un dubbio su come operare ad un certo punto:
Mi trovo nella situazione di avere l'elenco di tutti i modellini di aerei di carta, e vorrei che il nome di ogni modellino sia un link alla scheda del modellino stesso. Questa è una cosa che so fare, il mio dubbio è su come costruire il link per la scheda, considerando che in qualche modo gli devo passare l'id del modellino (per poi fare la query sulla scheda e caricare tutti gli altri dati)
Tutte le pagine di drupal hanno come url qualcosa del tipo:
http://miosito/drupal5/?q=node/1
Come faccio a passare il parametro dell'id del modello su cui è stato cliccato? normalmente avrei usato qualcosa del tipo:
"http://miosito/scheda.php?id=".$variabile_che_contiene_lo_id
in modo che quando scorro i record mi trovo tutti i link belli e pronti... su drupal come procedo? Posso impunemente fare una cosa del tipo:
"http://miosito/drupal5/?q=node/1?id=".$variabile_che_contiene_lo_id
oppure no?
Mondoscuro
www.mondoscuro.it
In questo caso, integri
In questo caso, integri maggiormente le tue informazioni definendo in CCK un contenuto "modello di aereo" e trasferisci, con normali query al db, i contenuti delle schede dalle tue tabelle alle nuove tabelle di cck.
Poi soddividi i modelli nelle varie tipologie (utilizzando la tecnica delle tassonomie) e richiami la pagina della tassonomia lasciando l'interfaccia standard dove l'utente vedrà tutti i modelli corrispondenti alla categoria e potrà scegliere quello che gli interessa.
Cioè non ti poni il problema di come passare un id ma lasci gestire tutto a drupal.
Avendo tutte le schede perfettamente integrate, puoi anche fare, col modulo views, una vissta tabellare di tutte le schede e, sempre con lo stesso modulo, puoi definire uno o più filtri in modo che l'utente riesca autonomamente a generare un elenco di modelli papabili.
Questo, sempre che tu voglia pian piano integrare al meglio il tuo vecchio sito con il nuovo drupal.
--
msn: cruell68@hotmail.com
icq: 30303778
cck non è nel core di Drupal 5.0
[quote=taxone81]Il modulo in oggetto è cck, se installi la versione 4.7 devi metterlo tu, mi pare invece, ma non vorrei sbagliare, che sia integrato nella 5 come parte del core.[/quote]
No, e' ancora un modulo da installare a parte.
Male da poco.
--
msn: cruell68@hotmail.com
icq: 30303778
in effetti...
Questa soluzione è più elegante, proverò a implementarla...
Se per un motivo od un altro ci perdo troppo sangue, il piano B di passare un id come lo risolvo?
CCK l'avevo istallato sul 4.7 per fare esperimenti... si trova anche per il 5?
Mondoscuro
www.mondoscuro.it