Ciao a tutti
dovrei gestire l'elaborazione di dati che vengono generati da un programma X e salvati in un file CSV (una riga = un record).
Questi dati fanno riferimento, attualmente a tre tabelle di MySQL che chiamo per comodità A, B e C.
La relazione tra i dati delle tre tabelle fa si che la tabella A (principale) contenga dei riferimenti (tramite un campo ID) alle tabelle B e C; le relazioni sono del tipo A <> B e A <> C cioè ho relazioni tra A e B, tra A e C ma NON tra B e C.
Ho visto che Views gestisce la creazione di files CSV a partire dalla "solita query" in DB ...
Ho creato quindi tre tipi di contenuto da associare ad A, B e C e creato dei contenuti ad hoc (manualmente).
La visualizzazione (generazione file) a partire da una views organizzata in modo opportuno funziona.
Il problema è che non ho idea di come inserire i dati ovvero come far leggere il file CSV a Drupal e spostare i vari record contenuti nel file direttamente nel DB come tipo di contenuto definito (in precedenza).
Ho scritto una procedura in PHP che mi legge il file e provato direttamente su una sandbox, in puro php ... riesco a scrivere nel "mio" DB anche se lo script aggiunge una riga in più (vuota) rispetto al file CSV. OK, cerco di sistemarlo.
Il problema è che (penasndo di usare questo script) non so come chiamare le variabili nello script in modo da scrivere direttamente nel usate dal DB Drupal così da "simulare" la creazione del contentuo (A, B o C)
Esistono moduli che importano record da file CSV ?
Idee in merito al nome delle variabili ?
Grazie mille
kasiski
Mi rispondo da solo ....
ho trovato un modulo in fase alpha
http://drupal.org/project/parser_csv
comunque ... se qualcuno avesse delle idee migliori della mia ... benvenga ;-)
grazie
k
usa feeds, quel modulo non sarà più aggiornato.
screencasts: http://developmentseed.org/blog/2009/dec/15/importing-and-aggregating-st...
nota: con l'aggiunta del modulo data è anche possibile importare dati SOLO in tabelle del DB, senza creare nodi.
Certified to Rock
mmh ... bello
grazie del link.
Mi spieghi per favore "il senso" del ... non creare il nodo ?
Credo di avere ancora un po' di confusione. Se "non" creo il nodo ho comunque bisogno del tipo di contenuto adatto ... giusto ?
grazie
k
il senso è che per alcuni contenuti può non essere necessario tutto l'armamentario di caratteristiche del nodo.
Il vantaggio principale dovrebbe essere il molto minore impatto sulla performance ed altri
esempi: feeds che non si ha la necessità di mappare in nodi; dati che non vanno presentati come singolo record ma solo come viste (statistiche), dati con accesso parziale (mi serve solo una porzione del record), etc.
Personalmente vedo centinaia di possibili use cases.
Certified to Rock
Ottimo ... inquadrato l'obiettivo.
Direi che considerato l'uso che devo fare dei dati (numerici > misure da estrarre in funzione di alcuni parametri) è quello che fa per me.
Adesso provo a smanettarci.
grazie mille
k
Installato FEEDS (e relativo CTOOLS).
Non riesco a capire come "legare" i dati delle tre tabelle originali.
Ho creato un tipo di contenuto per B, un tipo per C (per cui è valido anche avere un tipo di contenuto vero e proprio).
Non ho creato per A perchè essendo questo il dato principale su cui "non" dovrei creare dei nodi penso non abbia senso ... o mi sbaglio ?
Voglio dire questo:
nella mia tabella originale non avevo un TITOLO per ogni record inserito (nodo) MA se creo un tipo di contenuto per questo sono obbligato ad impostare un titolo (nella creazione del tipo di contenuto posso "eliminare" il corpo, ma non il titolo).
Come risolvo ?
scusa ...ma prorpio non inquadro il sistema
grazie ancora
k
il "problema" dei titoli non è solo di feeds o tantomeno di data. Ogni nodo deve avere un titolo (ecco un altro esempio di utilizzo potenziale di data)
In genere, quando si ha il problema di nascondere il titolo si può agire in diversi modi...quelli a me noti sono l'uso di auto_nodetitle che permette di auto-assegnare e nascondere il campo titolo e quello di customizzare i vari tpl.php o template.php per nascondere (non stampare) il titolo.
Se invece proprio non vuoi il campo titolo nel db...beh, non creare nodi e recupera le info con views.
Certified to Rock
[email protected] sei un mito !
ti ringrazio per le dritte ... ho risolto.
Installato oltre a FEEDS, Data e anche Schema ... adesso riesco a gestire le misure che avevo in tabella e tabelle in genere.
Visto che ci sono, l'ultima curiosità.
- come posso fare ad inserire in una vista che mi elenca tutti i record della della tabella B il numero di record presenti nella tabella A che corrispondono ad ogni record di B ?
Ho provato con GLOBAL COUNT (un tipo di dato associato) ma niente ... sicuramente non è il candidato ideale.
grazie
k