Applicativo esterno a drupal

5 contenuti / 0 new
Ultimo contenuto
Applicativo esterno a drupal

Ciao a tutti,

vorrei implementare un tool che possa recuperare dati da un pò di CMS.
Ho letto che drupal espone delle api, tra cui API di astrazione delle operazioni sui DB: se volessi utilizzare queste API, cosa dovrei importare nei miei script PHP per poterle utilizzare?

Ciao e grazie

Valerio

Si possono usare efficientemente solo al'interno di Drupal, cioè servono al motore interno di lavorare più semplicemente e agevolare lo sviluppo di moduli. In ogni caso tutte le api sono incluse nella cartella /includes, ma trovo poco efficiente un uso al di fuori di Drupal.

Aspetto l'opinione di giannigiusti per farmi un'idea.

E' la domanda che mi ero posto quando ho iniziato ad usare drupal...... su drupal.org, ci fu un post circa 2 anni fa (me lo ricordo bene perchè ero all'inizio e coincide con la mia iscrizione a questo forum), in cui si elencavano gli script di base da includere in uno script, per poterne poi le funzioni di drupal al di fuori di esso (per lo meno quelle dei database). Sicuramente è ancora là da qualche parte ma andrebbe cercato.....
Però, adesso, col senno di poi, che senso ha tutto questo? Perchè tribolare per usare ALCUNE funzioni di drupal, quando puoi avere TUTTE le api disponibili?
Voglio dire....

  1. il layout del sito te lo fai come vuoi agendo sui template (barre laterali, corpo,barra del titolo ecc...), ogni singolo dato che viene mostrato, può esser spostato/eliminato/variato secondo le proprie esigenze. Quindi se il tuo è un problema di dover mostrare un sito completamente diverso dai siti standard, il problema non si pone.
  2. le api di drupal spaziano da api per accesso/gestione dei dati nel database, alla loro presentazione (temizzata con i css), alla costruzioni di tabelle, dei form, alla gestione di utenti/accessi ecc.. ecc... perchè privarsi di tutto ciò e utilizzare solo le funzioni di accesso al database?
  3. non ti far condizionare dal concetto di nodo. Ovviamente drupal è incentrato sul concetto di nodo perchè, essendo in primo luogo un CMS, quello che deve fare è di mostrare contenuti di vario genere. Per far questo è stato centralizzato tutto perchè ogni contenuto, a prescindere dal tipo, ha caratteristiche comuni (guarda la tabella node)...... ma, come ti dicevo "non ti far condizionare dal concetto di nodo". Quello che tu vuoi fare è uno sviluppo "autonomo", tu cerchi una base di funzioni (api) già fatte da utilizzare.... una specie di framework.... e drupal può essere utilizzato anche per quello

Detto ciò, personalmente ti consiglio di NON intraprendere strade complicate. Lascia perdere l'idea di includere pezzi di drupal e studiati com'è fatto un modulo ed il suo funzionamento all'interno di drupal.... se impari quello, ti accorgerai che puoi sviluppare quello che vuoi, creando moduli che fanno le funzioni che desideri.

P.S.
Se esponi più dettagliatamente quel che vuoi realizzare, ti possiamo dare le dritte per partire

Ciao
Gianni

Mi riallaccio a questo post, perchè, dovendo fare alcuni script da eseguire via console e dovendo manipolare tabelle di drupal, ho pensato bene di sfruttare direttamente drupal.
Per prima cosa c'è da dire che includere diversi script drupal può andare ma ..... guardando il cron.php, ho notato che un semplice:

<?php
 
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>

è più che sufficente per utilizzare le api standard e tutte le funzioni dei moduli abilitati (ovviamente si porta dietro tutto). Quindi, se vi capiterà di fare script da eseguire via console, volendo potete sfruttare le api di drupal......
Nel mio caso specifico, dovevo gestire un applicazione GTK e c'erano dei problemi nel farlo via direttamente via web (utente www-data ha dei problemi a lanciare applicazioni GTK, anche impostando il display). Ho ripiegato facendo una parte web che imposta le azioni da fare ed una parte console che lancia gli applicativi GTK ed esegue le operazioni su di esso, da un utente abilitato a farlo..... tutto fatto con drupal!!

P.S.
Ovviamente l'uso di drupal da console ha un senso se nel server in questione è installato drupal perchè serve da cms.... non mi sognerei mai di installare apache/php/mysql/drupal, solo per esegure uno script da console!!

Ciao
Gianni

Probably you can implement this by customizing a drupal module to import data from other platform. API's can be included in the module to serve the purpose.