Back to top

Autore Topic: Chronoforms e database esterno  (Letto 6590 volte)

Offline xzero2

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Chronoforms e database esterno
« il: 23 Dic 2010, 10:29:30 »
Stavo cercando informazioni sul funzionamento di chronoforms con i database; ho capito che è possibile salvare dati sul database di joomla, ma è possibile salvare dati su tabelle/database diversi da quello di joomla e/o su di un altro server ??

In poche parole vorrei creare un database a se, per i dati di chonoforms, ma dai tutorial ho visto solo la possibilità di definire il nome della tabella e dei campi, ma non del database  in cui creare la tabella.

xzero2

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e database esterno
« Risposta #1 il: 23 Dic 2010, 15:48:08 »
Chronoforms salva i dati su tabelle autonome dedicate a ciascun form realizzato e collegato al database, tali tabelle sono inserite nel database configurato in joomla.

Non credo che questo sia un particolare problema. Anzi questo da enormi vantaggi perchè consente di poter usare tutte le potenzialità di joomla, esempio le API di joomla che permettono di avere disponibili alcune funzionalità fondamentali previste nel core di joomla in modo semplificato.

Credo sarebbe possibile lavorare anche con un database esterno ma forse l'impegno richiesto in codice da realizzare non pagherebbe il risultato e le semplificazioni di passaggi che chronoform consente andrebbero perdute.

Quindi a mio parere se non hai i dati da elaborare in un database esterno puoi usare tranquillamente chronoforms.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline xzero2

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:Chronoforms e database esterno
« Risposta #2 il: 23 Dic 2010, 16:10:51 »
I dati vengono inseriti in aree produttive via browser.

Il problema è che una volta inseriti i dati nel database, diversi utenti vi accedono tramite odbc e openoffice per farne un po quello che serve ad ognuno.

Usando un database esterno, più che distruggere il database di questi dati non potrebbero fare, dando accesso al database di joomla ............. non oso pensare.........

come potrei ovviare ??   Ci vorrebbe un database che abbia al suo interno una sola tabella collegata alla tabella in joomla....  pensate sia possibile ??

xzero2

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Chronoforms e database esterno
« Risposta #3 il: 23 Dic 2010, 18:00:44 »
Forse c'è la soluzione semplice, trovata in questo post

http://forum.joomla.it/index.php/topic,77803.msg343935.html#msg343935

Se inserisci il seguente codice ovviamente adattato alle tue esigenze nella finestra Validation campo  Server Side Validation del form riesci a collegarti al database esterno.

Citazione
<?php
// Connessione al DB esterno
$db =& JFactory::getDBO();
$option = array();
$option['driver'] = 'mysql';
$option['host'] = 'indirizzo DB esterno';
$option['user'] = 'user connessione DB';
$option['password'] = 'password connessione DB';
$option['database'] = 'nome DB'; // Database name
$option['prefix']   = '';
$db = & JDatabase::getInstance( $option );

//inserire qui di seguito le query di aggiornamento del db esterno secondo le tue esigenze.

}
?>

In pratica il metodo è questo:

1) costruisci il tuo form collegato normalmente al database di joomla con una tabella dedicata al form.

2) in  Server Side Validation inserisci le query che aggiornano il database esterno con i dati che hai inserito nel form.

a questo punto hai una tabella nel database esterno esattamente identica a quella di joomla . Puoi creare anche uno script che in caso di distruzione della tabella del database esterno crea una nuova copia riprendendo tutti i dati da quella di joomla. Ovviamente il database esterno deve essere raggiungibile dall'esterno del server che lo ospita oppure deve essere un secondo database disponibile nel sito che ospita joomla.
« Ultima modifica: 23 Dic 2010, 18:04:16 da vales »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline xzero2

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:Chronoforms e database esterno
« Risposta #4 il: 17 Gen 2011, 08:24:38 »
Al momento ho trovato una soluzione che salva capra e cavoli;
Agendo direttamente da phpmyadmin e aggiungendo i privilegi per gli utenti desiderati e per le tabelle necessarie, quando collego tramite odbc openoffice al database di joomla, ogni utente può vedere solo le tabelle a cui è autorizzato ad accedere.
Cosi non farà danni dove non deve.

xzero2

Offline Rikk.58

  • Esploratore
  • **
  • Post: 158
    • Mostra profilo
Re:Chronoforms e database esterno
« Risposta #5 il: 19 Giu 2011, 09:36:02 »
Ciao Xzero2, lo so che è passato molto tempo ma vorrei evitare di aprire un nuovo topic, se è possibile. Quello che hai scritto m'interessa molto. Anch'io ho un problema simile, e forse il tuo topic potrebbe risolvere il mio problema. Protesti darmi maggiori indicazioni, rispetto alla possibilità di gestire il database "lato utente" con phpmyadmin. Ossia anche a me andrebbe benissimo che fosse possibile:
1-permettere ad un utente vedere solo una sua tabella in phpmyadmin
2-permettere all'utente di scirvere dei dati in quella tabella
3-permettere ad un administrator di esportare i dati di tutte le tabelle create dagli utenti in un foglio excel (e fino a qui ci posso riuscire) ;-)
Grazie

Offline xzero2

  • Nuovo arrivato
  • *
  • Post: 31
    • Mostra profilo
Re:Chronoforms e database esterno
« Risposta #6 il: 20 Giu 2011, 09:12:44 »
Tramite phpmyadmin, puoi settare i "privilegi" a livello di database e tabella.
Accedi a phpmyadmin, tramite il tab "privilegi" crea un nuovo utente senza assegnare privilegi.
una volta creato, edita l'utente, dando privilegi specifici per database e tabella che vuoi tu.

Quando ti colleghi da openoffice, con l'utente e pass che hai creato, potrai vedere ed interagire solo con il database e tabella che hai specificato.

ciao

 



Web Design Bolzano Kreatif