Questa è una vecchia versione del documento!
Nelle prossime righe verrà indicata l'architettura base di uno strumento e ciò che lo sviluppatore deve creare per poterlo integrare nel Sistema.
Ogni strumento deve essere composto da:
Esempio: creazione di uno strumento chiamato “Calendar”.
Ci sono poi dei files e delle cartelle che vengono create solo se lo strumento ne richiede l'utilizzo, come la cartella home/app/apis/CALENDAR/VIEWS con i file .tpl delle viste relative alle api.
All'interno di home/app/views/CALENDAR vanno inseriti i file .tpl che gestiscono la vista dei componenti dello strumento (come ad esempio edit.tpl, create.tpl, addstep.tpl etc…); questi file quindi dipendono dalla struttura dello strumento stesso.
Per la creazione di un nuovo strumento è utile sapere anche quali sono le funzioni che, indipendentemente dal tipo di strumento, vanno implementate; queste sono le funzioni di permission, ovvero quelle che gestiscono i permessi, riportate di seguito:
function permissionsGetObjects() {
$_agendas['Agenda:*'] = $this->s('ALL_AGENDAS');
$agendas = $this->Agenda->findAll();
foreach ($agendas as $Agenda) {
$id = $Agenda['Agenda']['id'];
$_agendas['Agenda:'.$id] = $Agenda['Agenda']['title'];
}
return $_agendas;
}
function permissionsGetActions() {
return array(
'admin' => $this->s('PERMISSION_ADMIN_DESCRIPTION'),
'view' => $this->s('PERMISSION_VIEW_DESCRIPTION'),
'create' => $this->s('PERMISSION_CREATE_DESCRIPTION'),
'upload' => $this->s('PERMISSION_UPLOAD_DESCRIPTION'),
'rate' => $this->s('PERMISSION_RATE_DESCRIPTION'),
'download' => $this->s('PERMISSION_DOWNLOAD_DESCRIPTION'),
'edit' => $this->s('PERMISSION_EDIT_DESCRIPTION'),
'delete' => $this->s('PERMISSION_DELETE_DESCRIPTION'),
);
}
function permissionsGetRoles() {
$roles['moderator']['label'] = $this->s('AGENDA_MODERATOR');
$roles['moderator']['values'] = array( 'admin' =>'deny',
'edit' =>'allow',
'delete'=>'deny'
);
$roles['administrator']['label'] = $this->s('AGENDA_ADMINISTRATOR');
$roles['administrator']['values'] = array( 'admin' =>'allow',
'edit' =>'allow',
'delete' => 'allow'
);
return $roles;
}