public function install()
    {
        if ($this->extension->getId() != 'generis') {
            throw new common_ext_ExtensionException('Tried to install "' . $this->extension->getId() . '" extension using the GenerisInstaller');
        }
 
        $this->installLoadDefaultConfig();
        
        $model = new \core_kernel_persistence_smoothsql_SmoothModel(array(
            \core_kernel_persistence_smoothsql_SmoothModel::OPTION_PERSISTENCE => 'default',
            \core_kernel_persistence_smoothsql_SmoothModel::OPTION_READABLE_MODELS => array('1'),
            \core_kernel_persistence_smoothsql_SmoothModel::OPTION_WRITEABLE_MODELS => array('1'),
            \core_kernel_persistence_smoothsql_SmoothModel::OPTION_NEW_TRIPLE_MODEL => '1',
            \core_kernel_persistence_smoothsql_SmoothModel::OPTION_SEARCH_SERVICE => ComplexSearchService::SERVICE_ID,
            \core_kernel_persistence_smoothsql_SmoothModel::OPTION_CACHE_SERVICE => common_cache_Cache::SERVICE_ID
        ));
        $model->setServiceLocator(ServiceManager::getServiceManager());
        ModelManager::setModel($model);
        
        $this->installOntology();
        // $this->installLocalData();
        // $this->installModuleModel();
        $this->installRegisterExt();
        
        common_cache_FileCache::singleton()->purge();
        
        $this->log('d', 'Installing custom script for extension ' . $this->extension->getId());
        $this->installCustomScript();
    }