<< Indietro
Messaggi di questa discussione
Mittente Testo dei messaggi
campanella gaetano

Noavatar
Post fatti : 6
> Profilo
Scritto il : 27/12/2011 09:51 ( più di un mese )
Oggetto : nuova gestione organigramma utenti
Ciao a tutti 

sto facendo la tesi di laurea su un'installazione personalizzata di Docebo per una ditta.
Ho la necessità di cambiare lo storage engine delle tabelle da MyISAM a InnoDB, di conseguenza
devo fare alcune variazioni in 2 fasi principalmente:
- creazione rami organigramma
- rendering dell'organigramma 

volevo quindi chiedervi se potevate indicarmi quali sono i file su cui devo intervenire per sistemare queste 2 cose.
Grazie in anticipo a chiunque mi aiuterà :)

Gaetano 
 
campanella gaetano

Noavatar
Post fatti : 6
> Profilo
Scritto il : 28/12/2011 00:09 ( più di un mese )
Oggetto : Re: nuova gestione organigramma utenti
allora, vi aggiorno con le novità di oggi 

sono riuscito a capire quali sono le zone di codice che si occupano della creazione dei nodi dell'organigramma

-doceboCore/modules/org_chart/tree.og_chart.php: functio addFolderById richiama il metodo addFolder(idParent, path, level) della classe padre TreeDb (doceboCore/lib/lib.treedb.php).

Ragionando sulla presenza o meno dello 0 nella variabile idParent ho fatto una cosa del genere

if($idParent==0){
$query="insert into ".$this->table."( ".$this->listFields.") values (NULL, NULL, '".$path."', '".(int)$level."')";
}
else{
$query="insert into ".$this->table."( ".$this->listFields.") values (NULL, '".(int)$idParent."', '".$path."', '".(int)$level."')";



Procedendo in questa maniera, partendo da un albero completamente vuotoio creo correttamente nodi con possibili nodi figli.

Altro file interessante che ho scoperto mentre girovagavo nelle directory di Docebo è stato il metodo addFolderByIdTranslation del file tree.org_chart.php nella directory doceboCore/modules/org_chart. Questo metodo si occupa di inserire le traduzioni del ramo nelle varie lingue impostate sulla piattaforma.

Ora, diciamo che per questa parte sono a metà dell'opera, mi servirebbe qualche indicazione su file/funzioni/metodi che si occupano di costruire a video l'organigramma.

Ho implementato esternamente alla piattaforma un file basato su una funzione ricorsiva ramo($idramo) che funziona all'incirca così:

function ramo($idramo){
echo"<ul>";
echo"<li>".$idramo."</li>";
$sql="select idorg from core_org_chart_tree where idparent=".$idramo;
$res=mysql_query($sql);
if(mysql_num_rows($res)>0){
while($riga=mysql_fetch_array($res)){
ramo($riga['idorg']);
}
}
echo"</ul>";
}

Come mi consigliate di procedere? In che file devo guardare se voglio rifare/sistemare la costruzione dell'organigramma? 
 
Grazie a tutti, 'notte 
 
campanella gaetano

Noavatar
Post fatti : 6
> Profilo
Scritto il : 28/12/2011 11:07 ( più di un mese )
Oggetto : Re: nuova gestione organigramma utenti
Buongiorno a tutti

sto continuando a studiare i sorgenti della piattaforma e ho scoperto il file doceboCore/lib/lib.treedb.php
All'interno di esso ho trovato questa sequenza di codice

function &getRootFolder() {
        $folder = new Folder( $this, array( 0, 0, "/root", 0) );
        return $folder;
}

con le modifiche che ho implementato nel db per renderlo relazione ho dovuto aggiungere nella tabella core_org_chart_tree una chiave esterna che parte da IdParent di core_org_chart_tree e punta ad idOrg della medesima tabella. Nel caso del nodo root ho quindi pensato che non essendo figlio di nessun altro nodo il suo valore di idParent dovrà essere per forza NULL.

Fatto ciò, l'albero dovrà essere costruito a partire dal ramo con idParent NULL anzichè 0. Devo farlo in questa zona del codice oppure ho interpretato male tutto e devo cercare da altre parti?
 
campanella gaetano

Noavatar
Post fatti : 6
> Profilo
Scritto il : 29/12/2011 00:25 ( più di un mese )
Oggetto : Re: nuova gestione organigramma utenti
ho provato a lavorare su sta funzione, ma nn riesco a fare quello che voglio.

function &getRootFolder() {
$folder = new Folder( $this, array( 108, 0, "/root", 1) );
return $folder;
}

ci sono volte che se metto come valori 108, NULL, "/root", 1 funziona tutto.
Vado a creare una sottocartella, la crea. I dati vengono inseriti correttamente ma a livello grafico non vedo niente O_O.
E' il file giusto quello su cui sto lavorando? Per favore aiutatemi, grazie 
 
campanella gaetano

Noavatar
Post fatti : 6
> Profilo
Scritto il : 04/01/2012 09:41 ( più di un mese )
Oggetto : Re: nuova gestione organigramma utenti
esiste una mail di assistenza a cui posso scrivere per avere un po' di supporto? per favore, ho bisogno di aiuto....
 
Pastorelli Alberto

Avatar
Post fatti : 615
> Profilo
Scritto il : 16/01/2012 10:54 ( più di un mese )
Oggetto : Re: nuova gestione organigramma utenti
Scritto da:: campanella gaetano

Ciao a tutti 

sto facendo la tesi di laurea su un'installazione personalizzata di Docebo per una ditta.
Ho la necessità di cambiare lo storage engine delle tabelle da MyISAM a InnoDB, di conseguenza
devo fare alcune variazioni in 2 fasi principalmente:
- creazione rami organigramma
- rendering dell'organigramma 

volevo quindi chiedervi se potevate indicarmi quali sono i file su cui devo intervenire per sistemare queste 2 cose.
Grazie in anticipo a chiunque mi aiuterà :)

Gaetano 


Ciao, scusa ma la versione 4 dovrebbe già essere completamente InnoDB, che modifiche vorresti fare?
http://elearnit.wordpress.com
http://www.elearnit.net
 
<< Indietro