FlexicaCMS v0.3 released

I think you could just scan a directory for modules sub-directory when opening a "Manage modules" admin page, then you could have an "Enable" link which add the module to the array (well, there could be a JSON or serialized structure in the db containing the modules list/properties, then at run-time you fill the array from db).

Better approaches?

I don’t like to be limited on scanning the modules folder.

For example, i have modules that have allot of properties and config items, that really needs "installed".

In theory, through the install process, the database tables are created, the permissions are assigned for that module to the user roles and finally the module is marked as installed BUT not enabled. It is enabled from the admin interface . As long as a module is not enabled, it cannot be accessed by a user.

Maybe creating a separate file for modules config, make it writable and write in it every time a module is added/removed and require it in the main config array ?

Develop a "Manage modules" admin page

  • Install (call an install() function to create db tables etc.) and enable (explained in my previous message)

This CMS requires the ability to create VIEW which most hosting won’t allow so this CMS won’t be usable at all on all the share hosting that I can see.

I am not sure which type of view you mention.

CDbException

Description

CDbCommand failed to execute the SQL statement: SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE VIEW command denied to user ‘dbuser’@‘localhost’ for table ‘view_categories’

Source File

/home/user/public_html/mvc/framework/db/CDbCommand.php(227)

00215: $n=$this->_statement->rowCount();

00216:

00217: if($this->_connection->enableProfiling)

00218: Yii::endProfile(‘system.db.CDbCommand.execute(’.$this->getText().’)’,‘system.db.CDbCommand.execute’);

00219:

00220: return $n;

00221: }

00222: catch(Exception $e)

00223: {

00224: if($this->_connection->enableProfiling)

00225: Yii::endProfile(‘system.db.CDbCommand.execute(’.$this->getText().’)’,‘system.db.CDbCommand.execute’);

00226: Yii::log('Error in executing SQL: '.$this->getText().$par,CLogger::LEVEL_ERROR,‘system.db.CDbCommand’);

00227: throw new CDbException(Yii::t(‘yii’,‘CDbCommand failed to execute the SQL statement: {error}’,

00228: array(’{error}’=>$e->getMessage())));

00229: }

00230: }

00231:

00232: /**

00233: * Executes the SQL statement and returns query result.

00234: * This method is for executing an SQL query that returns result set.

00235: * @param array input parameters (name=>value) for the SQL execution. This is an alternative

00236: * to {@link bindParam} and {@link bindValue}. If you have multiple input parameters, passing

00237: * them in this way can improve the performance. Note that you pass parameters in this way,

00238: * you cannot bind parameters or values using {@link bindParam} or {@link bindValue}, and vice versa.

00239: * binding methods and the input parameters this way can improve the performance.

Stack Trace

#0 /home/user/public_html/mvc/protected/modules/Install/controllers/DefaultController.php(146): CDbCommand->execute()

#1 /home/user/public_html/mvc/framework/web/actions/CInlineAction.php(32): DefaultController->actionStep3()

#2 /home/user/public_html/mvc/framework/web/CController.php(300): CInlineAction->run()

#3 /home/user/public_html/mvc/framework/web/CController.php(278): CController->runAction(Object(CInlineAction))

#4 /home/user/public_html/mvc/framework/web/CController.php(257): CController->runActionWithFilters(Object(CInlineAction), Array)

#5 /home/user/public_html/mvc/framework/web/CWebApplication.php(320): CController->run(‘Step3’)

#6 /home/user/public_html/mvc/framework/web/CWebApplication.php(120): CWebApplication->runController(‘Install/default…’)

#7 /home/user/public_html/mvc/framework/base/CApplication.php(135): CWebApplication->processRequest()

#8 /home/user/public_html/mvc/install.php(9): CApplication->run()

In your dev environment or at the time you deploy the CMS to your production server, you should be able to create table and view in your DB. Most of the hosting providers use cPanel and you should be given enough privileges.

The translation mechanism in FlexicaCMS allow you to dynamically adding multi-language feature into any new type of content you have. When you use this tool to create translation table and view, of course you need create view privilege.

Anyway, we can only focus on the the ease for you in building your site, handling this type of DB privilege is not our intention.

as I said before CREATE VIEW is not allowed on share hosting that I know.

FlexicaCMS looks good and ease of install but the use of CREATE VIEW and the requirement of the mod_rewrite will make this offering not usable site that on share hosting and to those that do not have mod_rewrite support like Windows hosting.

I’ve had a lot of shared hosting plans and in all of them I had mod_rewrite access as well as full access to my own databases including CREATE and VIEW permissions (assuming CREATE VIEW written together is nothing special)

Edit, ok, CREATE VIEW is indeed something special, chanh is right.

[b]The site is Down for a long time.

When it will back?

I wanna Try it.[/b]