Creazione moduli e/o plug-in

Moduli esterni, funzionalità sviluppate dagli utenti, patch, fix...
User avatar
CisterNino
FormaLms User
Posts: 37
Joined: Mon May 06, 2013 2:59 pm

Re: Creazione moduli e/o plug-in

Post by CisterNino » Fri Apr 01, 2016 3:44 pm

Ciao Luca.
il customscripts funziona solamente per quella parte di forma conforme al pattern MVC; in particolare hai la possibilità di "sovrascrivere" la parte VIEW. Per fare dei test, puoi iniziare dal file courselist.php sotto appLms\views\elearning

Ciao.

luca
FormaLms User
Posts: 52
Joined: Wed Jul 25, 2012 9:38 am
Version: Docebo CE 4.0.5

Re: Creazione moduli e/o plug-in

Post by luca » Mon Apr 04, 2016 2:10 pm

CisterNino wrote:Ciao Luca.
il customscripts funziona solamente per quella parte di forma conforme al pattern MVC; in particolare hai la possibilità di "sovrascrivere" la parte VIEW. Per fare dei test, puoi iniziare dal file courselist.php sotto appLms\views\elearning

Ciao.
Ciao,
allora forse i customscripts non risolvono a pieno le mie necessità. :(

Ti faccio un esempio: come sai, ogni singolo oggetto scorm scrive tutta una serie di dati statistici nelle tabelle di tracciatura. Tali dati sono poi visualizzati (almeno in parte) in quella paginetta che è accedibile cliccando sull'icona "a grafichino" di fianco all'oggetto scorm stesso, nei materiali. Detta paginetta però visualizza (per esempio) il "session_time", mentre a me serve che evidenzi il "total_time". Cercando nel codice, ho trovato che il punto dove suddetta tabella viene popolata è nel file \appLms\modules\organization\orgresults.php (righe 204-226). Volevo evitare di modificare il file direttamente, e quindi pensavo di usare proprio i customscript, però mi sembra di capire che non è possibile. :/

Modificare la view (che prima dovrei individuare) nel caso specifico non sarebbe sufficiente, in quanto è proprio il dato passato che non è corretto (per me almeno), non tanto la sua visualizzazione.

C'è qualcosa che posso fare per ottenere l'effetto desiderato che non sia modificare "banalmente" il file originale?

User avatar
CisterNino
FormaLms User
Posts: 37
Joined: Mon May 06, 2013 2:59 pm

Re: Creazione moduli e/o plug-in

Post by CisterNino » Tue Apr 05, 2016 2:35 pm

Ciao Luca.
Se vuoi ottenere quel risultato devi modificare orgresults.php. Tra l'altro non esitse la view relativa a orgresults.php perchè non rispetta il pattern MVC. Non hai alternative.
Però, se vuoi vedere il tempo totale dei permanenza di un utente su un corso potresti provare a dare un'occhiata ai report standard.

luca
FormaLms User
Posts: 52
Joined: Wed Jul 25, 2012 9:38 am
Version: Docebo CE 4.0.5

Re: Creazione moduli e/o plug-in

Post by luca » Wed Apr 06, 2016 8:33 am

CisterNino wrote:Ciao Luca.
Se vuoi ottenere quel risultato devi modificare orgresults.php. Tra l'altro non esitse la view relativa a orgresults.php perchè non rispetta il pattern MVC. Non hai alternative.
Però, se vuoi vedere il tempo totale dei permanenza di un utente su un corso potresti provare a dare un'occhiata ai report standard.
Ciao CisterNino,
quel risultato era solo un esempio, una cosa semplice ottenibile anche in altri modi. Ci sono altre funzionalità che vorremmo modificare: il "motore" di generazione attestati ad esempio, troppo limitato e rigido per noi.

Ho notato che nel file config.php è presente anche un parametro $cfg['enable_plugins'], ho provato ad attivarla ma mi viene restituito un errore. Torno alla mia domanda iniziale: c'è una qualche guida su COME scrivere un plug-in?

User avatar
CisterNino
FormaLms User
Posts: 37
Joined: Mon May 06, 2013 2:59 pm

Re: Creazione moduli e/o plug-in

Post by CisterNino » Wed Apr 06, 2016 11:34 am

Ciao Luca.
E' strano che impostando a true $cfg['enable_plugins'], hai errore.
Non esiste, al momento una guida per la scrittura di plugin in forma.lms.
Ti posso dare qualche indicazione.
All'interno della cartella del tuo plugin devi avere un file php che ha come nome: <nome plugin>Plugin.php.
Quindi se la cartella del tuo plugin si chiama MioReport, all'interno, devi avere un file php con nome MioReportPlugin.php.

In MioReportPlugin.php devi avere le seguenti funzioni:
activate -> viene eseguita sull'attivazione del plugin
deactivate -> viene eseguita sulla disattivazione del plugin
run->viene eseguita ad ogni chiamata di Forma.

Nel file manifest, inserisci info sul plugin.

Ti allego un file zip con due esempi di scrittura di plugin.
Ciao

L
Attachments
pluginFormaLms.zip
(432.19 KiB) Downloaded 15 times

Post Reply