Structure elisa plugins some_plugin models controllers views elements plugin_controller.py plugin_model.py models data_sources controllers components [ reusable blocks of controller logic avaiable to controllers when specified ] views elements [ mini reusable views for any view ] app_controller.py app_model.py #Components Are made avaiable to all controllers excluding plugins ( optional ) via the app_controller # Data Sources Abstrations for adodb , xml etc... # ELEMENTS view-elements can be reused in all views eg: elements.render('element_name',data) even plugins and are view logic only ( good for time / date ... or reusable gui elements # MODELS Models could be used in other controllers by adding a uses = ['video','some_other']