Nuovo modulo con versione 2.2+

Nuovo modulo con versione 2.2+

di domenico guglielmi -
Numero di risposte: 4

Ciao a tutti.

Ho creato un nuovo modulo seguendo le istruzioni dei vari forum. Come predefinito il modulo può essere inserito dal docente, mentre lo studente può solo visualizzarlo.

Esiste un modo per consentire allo studente di creare/editare solo questo tipo di  modulo?

P.S. nel file access.php ho aggiunto al modulo standard le capabilities

     'mod/mymod:create' => array(
        'riskbitmask' => RISK_SPAM,
        'captype' => 'write',
        'contextlevel' => CONTEXT_MODULE,
        'archetypes' => array(
            'student' => CAP_ALLOW,
            'teacher' => CAP_ALLOW,
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW
        )
    ),
     'mod/mymod:manageactivities' => array(
        'riskbitmask' => RISK_SPAM,
        'captype' => 'write',
        'contextlevel' => CONTEXT_MODULE,
        'archetypes' => array(
            'student' => CAP_ALLOW,
            'teacher' => CAP_ALLOW,
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW
        )
   

e nella GESTIONE AUTORIZZAZIONI ho abilitato la esecuzione.

L'unico modo finora per riuscire ad attivarlo in modifica per lo studente è stato quello di modificare le autorizzazioni nel contesto del mymod: istanza del modulo, ma non è quello che voglio.

Infine il modulo me lo porta come estensione invece di standard.

Media dei voti:  -
In riposta a domenico guglielmi

Re: Nuovo modulo con versione 2.2+

di Andrea Bicciolo -
Immagine Core developers Immagine Plugin developers Immagine Translators

Se ho ben capito la tua esigenza, il modo per ottenere il risultato è quello che hai trovato, ossia assegnare al ruolo i privilegi opportuni nel contesto del modulo stesso, a meno che tu non voglia assegnare al ruolo i privilegi course:manageactivitiescourse:update nel contesto del corso.

E' possibile che in Moodle 2.3 grazie ai nuovi privilegi "mod:addinstance" tu possa gestire con maggiore granularità i ruoli che possono aggiungere attività in un dato contesto (queste nuove capabilities però non le ho ancora provate).

Il modulo da te sviluppato viene riportato come estensione in quanto non fa parte della versione core di Moodle. Infine, in linea generale non occorre il cross posting sorridente

In riposta a Andrea Bicciolo

Re: Nuovo modulo con versione 2.2+

di domenico guglielmi -

Grazie per la risposta e scusa per il cross posting, ma mi sono accorto solo dopo che il posto era sbagliato.

Quello che mi occorre fare effettivamente è quello di abilitare l'utilizzo di questo modulo ( e quindi di tutte le istanze di questo tipo di modulo) anche agli studenti, sia in creazione che in modifica e eliminazione.

La soluzione che ho trovato è un po' macchinosa, perchè i permessi vanno dati per ogni istanza, invece mi servirebbe abilitare direttamente l'uso del modulo  all'interno del corso.

Sto leggendo ora la documentazione sulle capabilities e sulle role e ho provato a cambiare il CONTEXT_MODULE in  CONTEXT_COURSE del file access.db, senza risultati, ma prima o poi ce la faro'.

In attesa che esce la 2.3 per poter usare la "mod:addinstance", Work in progress e ad majora semper.

In riposta a Andrea Bicciolo

Re: Nuovo modulo con versione 2.2+ --> 2.3 beta

di domenico guglielmi -

Ciao Andrea,

ho istallato la versione 2.3 beta, il modulo viene riconosciuto e nel file access.php ho aggiunto

'mod/mymodule:addinstance' => array(
        'riskbitmask' => RISK_XSS,
        'captype' => 'write',
        'contextlevel' => CONTEXT_MODULE,
        'legacy' => array(
            'student' => CAP_ALLOW,
            'teacher' => CAP_ALLOW,
            'editingteacher' => CAP_ALLOW,
            'manager' => CAP_ALLOW
        ),
    ),

Purtroppo ancora non riesco a capire come far inserire da uno studente un nuovo modulo, perchè non esce il pulsante Attiva modifica.

Grazie per l'aiuto.