Sito ibrido con Drupal 7

12 contenuti / 0 new
Ultimo contenuto
Sito ibrido con Drupal 7

Salve a tutti,
per un esame all'università devo sviluppare una piattaforma per il lavoro collaborativo con un CMS e la scelta è ricaduta su Drupal perchè mi sembrava il più adatto.
Premetto che non studio informatica, ma conosco PHP e MySql e li ho utilizzato in passato.
La domanda è: è possibile, per quanto riguarda la parte di creazione e interrogazione del database, staccarsi dalla logica di Drupal e fare tutto "a mano" (query, codice PHP ecc...)?
Ho chiaro in mente quello che devo fare, ma con i moduli di Drupal non saprei da dove iniziare e ho pochissimo tempo a disposizione.

Drupal Version:

Non ho ben capito il tipo di lavoro che devi realizzare, ma se vuoi utilizzare Drupal (come del resto qualsiasi altro CMS) implementando eventualmente moduli aggiuntivi devi rispettare la struttura del CMS.

Per la creazione delle tabelle del db, puoi anche "fare tutto a mano" costruendo tu query , tabelle e codice PHP, ma devi creare tu uno/più moduli utilizzando le API di Drupal.
Per la parte di interrogazione/presentazione dei dati puoi utilizzare il modulo Views con il quale puoi fare praticamente tutto; se non ti basta Views, puoi usare Panels.

Onestamente, se il tempo che hai a disposizione è poco, io proverei a vedere se fra i (ad oggi) quasi 8000 moduli ci sono quelli che possono servirti, almeno per fare il 90% del lavoro: se poi rimane qualcosa "scoperto" puoi sempre integrare con il tuo codice.

Ciao.

Grazie MaxSimon per avermi risposto,
diciamo che per martedì prox devo presentare una demo e in questo momento sto scrivendo del codice PHP nelle pagine dove voglio che vengano visualizzati dati che verranno estratti da tabelle create ah hoc. So che come soluzione fa rizzare i capelli ma è il massimo che sono riuscita a fare e per fortuna non verrò valutata per le mie competenze tecnologiche. Sicuramente studierò almeno le API di Drupal, per provare a fare qualcosa di più "elegante".

Scusate ma ho un'altra domanda,
nel sito che devo realizzare ci deve essere un pannello utente, non per ruolo, ma proprio per ogni singolo utente che si è registrato e che fa l'accesso. Quindi deve poter visualizzare informazioni (estratte dal DB) che sono collegate al suo ID.
Una cosa del genere si fa sempre tramite modulo personalizzato? (e comunque come faccio a conservare i cookie di sessione se già lo fa Drupal?)
Scusate se non sono il massimo della chiarezza, è perché devo ancora capire alcune cose,
Intanto vi ringrazio.

Scusate ancora,
ho risolto :)
ho trovato un modulo che si chiama homebox, penso sia perfetto per il mio caso!

Nel core di Drupal esiste già un modulo Dashboard che fa cose simili: prova a dare un'occhiata.
Ad ogni modo, se usi il modulo Views puoi, con poca fatica e tempo, estrarre dal DB tutte le informazioni che vuoi (riferite o meno all'utente loggato) e presentarle in blocchi o pagine personalizzate.

Ciao

MaxSimon,
grazie, lo guarderò di sicuro :)
posso approfittare e chiederti un' ultimissima cosa?
Il portale si occupa di informatizzare una procedura erasmus. Ogni utente che si registra deve quindi inviare una domanda (penso di usare una webform) con allegato un documento .doc e il responsabile dell'erasmus deve poter approvare o rifiutare la domanda pervenuta. Se usassi solo PHP creerei due pulsanti "buttom", "approva" e "rifiuta" ed alla loro attivazione aggiornerei nella tabella "domandaerasmus" lo stato della domanda (passerebbe da "in valutazione" a "approvata" o "rifiutata").

Ma con Drupal come si può fare una cosa del genere?

Si puó fare tranquillamente e, come sempre, ci sono approcci diversi per arrivare allo stesso risultato.

I passi da seguire sono:

  • creare due ruoli, uno per il responsabile e uno per chi fa la richiesta: al responsabile assegnerai il permesso di accedere solo in modifica ai contenuti webform
  • crei la webform con tutti i campi che ti servono, il campo per l'allegato e un campo "stato" impostato di default a "in attesa di approvazione", non richesto all'utente e con permesso di modifica del campo SOLO al responsabile
  • sempre nella webform, imposti l'invio di una email al responsabile quando l'utente salva la webform
  • il responsabile, accedendo alla webform, ha la possibilità di modificare il valore del campo "stato" a "approvato" o "rifiutato"

Puoi ottenere lo stesso risultato senza Webform (forse è la strada migliore) creando un tipo di contenuto "Domanda" con gli stessi campi della webform; l'invio della email di notifica lo puoi fare con il modulo Rules.

Probabilmente dovrai installare anche i moduli content-access e ACL per controllare meglio l'accesso ai contenuti creati.

Ciao

Ok, wow!
Io mi ero anche installata il modulo eck ed entity per l'utilizzo della tabella CRUD, ma credo che la tua proposta sia più semplice.
Ci provo,
grazie!

Quando il responsabile approva (o rifiuta) c'è un modo per notificarlo allo studente?

Con il modulo Rules puoi eseguire delle azioni ogni volta che accade un evento in specifiche condizioni.

Nel tuo caso, devi creare una regola che:
- si attiva ogni volta che un contenuto del tipo da te definito (Webform o Domanda, non so che strada hai seguito) viene salvato;
- come condizione puoi impostare che il tuo campo deve contenere "accettata" (o "rifiutata");
- come azione invii un email all'utente specificato nel contenuto stesso.

Qui trovi una serie di video che spiegano il funzionamento di Rules.

Ciao

Grazie :)