Yii Framework Forum: Installazione Moduli Automatica - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Installazione Moduli Automatica mmmm.... mumble mumble Rate Topic: -----

#1 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 11 October 2012 - 03:54 AM

Salve a tutti.
La mia idea è realizzare un gestionale dove si possano aggiungere dei moduli oltre quelli base, diciamo sulla tipologia di Wp o Joomla.
Il problema è che Yii richiede la modifica del config per inserire il nome del modulo per l'installazione e questo sarebbe d'ostacolo a quegli utenti senza conoscenze informatiche.

Mi è venuta questa idea, che al momento funziona:

Ho aggiunto al config.php questa funzione:
function getModules() {
    return array(
         'anagrafica'
        ,'archivio'
        ,'aziende'
        ,'acquisti'
        ,'administration'
        ,'contabilita'
        ,'magazzino'
        ,'vendite'
    );
}

includendola poi nell'array di config con
'modules' => getModules(),

L'idea è questa: scrivere i moduli installati su un file di testo.
Questa funzione leggerebbe i moduli installati (farglieli leggere dal db direi che ancora non si può fare) e farebbe poi il return dell'array.
Che ne pensate?
0

#2 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 11 October 2012 - 04:26 AM

Io salverei nel db, per caricare i moduli puoi usare la init della CApplication (con un behavior). La init arriva prima del'analisi dell'url, quindi fai in tempo.
0

#3 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 11 October 2012 - 06:06 AM

Avevo scritto del codice, tempo fa, che risolveva questo problema. La mia logica era questa:

Se io ho un file come questo:
<?php return array();

vorrei avere la possibilità di aggiungere e togliere elementi a piacimento.

Supponiamo quindi di avere una sorta di interfaccia grafica in cui indicare il nome del modulo (userò un nome di fantasia) da installare: 'pulcinella'. Il file qui sopra dovrà diventare
<?php return array(
    'pulcinella'
);


Supponiamo, quindi, di avere un file di configurazione del tipo:
<?php return array(
    'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..',
    'name' => '[[appname]]',
    'preload' => array('log'),
    'import' => require 'import.php',
    'modules' => require 'modules.php',
    ...


E di avere un'interfaccia grafica che ci permette di aggiungere e togliere moduli a piacimento ....

E' questo che ti potrebbe servire? Anzichè usare il DB come suggerisce zaccaria, io ho pensato direttamente al file php. Cambia di poco.
0

#4 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 11 October 2012 - 06:08 AM

Dimenticavo di dire che per eliminare tutte le require, si potrebbe anche rigenerare ad ogni modifica il file "renderizzato" protected/config/main.php
0

#5 User is offline   emafer 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 23-February 12
  • Location:Amandola

Posted 11 October 2012 - 11:19 AM

In effetti l'idea che avevo era questa, penso che generare un file modules.php o .conf sia più rapido che effettuare una chiamata al db per sapere quali i moduli da installare.

Ciò che non mi è chiaro è questo:
Yii inizializza l'app leggendo la configurazione, ma in che ordine?
Se per esempio so che sono già disponibili i models degli utenti potrei richiedere solo i moduli a cui l'utente ha accesso.
D'altra parte se il collegamento al db avviene dopo che io chiamo i models bloccherei il tutto.
Poi - sono confuso lo so - da quanto ho capito Yii carica all'occorrenza i file necessari, oltre quelli che vengono fissati nel config (aplication.modules.anagrafica.models.*), pertanto che la mia lista di moduli sia limitata solo a quelli diponibili per l'utente ha in realtà poca utilità.



o no?
0

#6 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 11 October 2012 - 08:16 PM

Se tu nel file di configurazione ci metti 1000 moduli ma sei in un controller che ne carica uno, yii ne carica uno.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users