Creare un modulo che Interagisce con un DataBase???

7 contenuti / 0 new
Ultimo contenuto
Creare un modulo che Interagisce con un DataBase???

salve a tutti, mi scuso se non è la sezione adatta. volevo chiedervi una cosa:

ho un problema in azienda da risolvere, e chiedevo a voi dato che mi hanno chiesto di usare DRUPAL come portale per la creazione del modulo, e non l'avevo mai usato.

in pratica devo sviluppare il backend di un sistema per la gestione degli orari dei corsi universitari e delle relative aule. Tutte le funzionalità del backend (gestione del database, recupero delle informazioni, autorizzazione alla modifica) devono essere esposte tramite API rest. devo quindi implementare un modulo Drupal per la gestione dei contenuti, ovvero la modifica (tramite consumo delle API REST, gestione utenti e ruoli) ed un modulo per la sola consultazione (sempre attraverso il consumo delle API REST sviluppate).

avevo pensato, prima della creazione delle PI da consumare nel modulo, alla cgestione dei corsi dell'università tramite un Database. Ma adesso la domanda è la seguente:

è possibile creare un database e creare un modulo che interagisca con esso? se si in che modo?
mi potete fare un semplice e banale esempio su una tabella?

le tabelle devo crearle all'interno del db di drupal? oppure posso usare un DB a parte?

Ho un pò di confusione a riguardo. Vi prego di istruirmi e di darmi una mano, magari consigli su come poter sviluppare questo applicativo. Vi ringrazio

Drupal Version:

Perdona la domanda banale ma che cosa ci devi fare???? Devi creare un applicativo per esporre le informazioni via web o devi integrare drupal con un sistema gìa esistente?
Se devi creare tutto da zero lo puoi fare tranquillamente con drupal senza mettere mano al codice se invece lo devi integrare con sistemi esistenti dai un occhio a
http://ado.io/blog/drupal-7/working-programmatically-with-fields-in-drup...

Personalmente ho eseguito un lavoro di estrazione dati da un gestionale esistente (non drupal), manipolato i dati ed inseriti all'interno di drupal in maniera che fossero visibili lato utente ma anche gestibili da lato amministrativo ma il sistema è unidirezionale cioè dal sistema esterno a drupal e non viceversa.
Poi tramite cronjobs ho messo in sincronizzazione 3 volte al giorno in maniera completamente automatizzata.

Per far ciò ho usato la documentazione superiore.

mi spiego. è un progetto che mi anno richoesto di fare. Ovviamente devo testarlo su un portale mio da 0. ma se piace lo useranno per gestire gli orari universitari.

per questo motivo necessitavo l'utilizzo di tabelle ''mie'', non so se mi ha compreso.

il sistema gestionale a cui dev fare riferimento uttilizza sempre drupal. e io dev creare dei moduli che fanno quell che ti ho citato sopra. Ora mi chiedevo c'e un modo per risalire alle tabelle che già eventualmente esistono, e in caso negativo si può fare un modulo che in caso le tabelle nonn esistono le creai per eseguire il tutto???

UP

UP x2

Mah ... probabilmente non capisco e mi scuso, ma con drupal non hai bisogno di crearti le tabelle del Db perchè ci pensa già Drupal a farlo per te. Quando crei un tipo di documento, per ogni campo creato, drupal crea una tabella e la lega al restante contenuto del nodo tramite il nid (identificatore univoco del nodo). Quindi immagino che per creare la gestione degli orari e delle aule sia semplice farlo tramite CCK con l'ausilio del modulo date per la gestione delle date e degli orari, tramite la tassonomia per quanto riguarda le aule e l'uso del modulo field permission per la gestione dei permessi per la visualizzazione e la modifica dei vari campi. Infine con Views crei le viste per la visualizzazione lato utente ma puoi creare le viste anche per la visualizzazione da back-end.

Credo che la scrittura di un modulo (peraltro non semplice) sia abbastanza superflua considerando quello che ti permettono di fare i vari moduli che trovi sul portale ufficiale ed in'oltre se il modulo che intendi sviluppare si lega alle API esistenti, in un eventuale passaggio da una versione all'altra potrebbe non funzionare più con conseguente massiccio lavoro di aggiornamento.

Secondo il mio modesto parere è il caso di imparare ad usare bene CCK (integrato nel core di drupal dalla versione 7) e Views. Questi ti permettono di creare i vari documenti/formati/ecc ad hoc

Con Drupal, volendo puoi a) creare tabelle "tue" nello stesso DB di Drupal ed eventualmente esporle ad altri moduli (es. Views, il query builder di Drupal), b) collegarti a un DB esterno. Per quest'ultima cosa, guarda la documentazione scritta nel file settings.php