Our WebApp that will run without downtime during update/upgrade

You are viewing revision #5 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version or see the changes made in this revision.

« previous (#4)next (#6) »

How many of us wonder how we can upgrade the website without hurting the operation of our WebApp?

Even if we put new functionality, change the look and feel of the UI, fixed some bugs just discover and even if we upgrade the core (Yii Framework itself).

I come up to the idea of remodifying the file structure of the Yii.

Default Structure of the Yii Framework:

assets/
css/
framework/
images/
protected/
themes/
index.php
  • all we need is to transfer the outer folder of the default file structure of Yii Framework.

In our index.php code, we do have.

<?php

// change the following paths if necessary

$yii=dirname(__FILE__).'/framework/yii.php';

$config=dirname(__FILE__).'/protected/config/main.php';
// remove the following lines when in production mode

defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
require_once($yii);

Yii::createWebApplication($config)->run();

We can actually remodify to it like this.

assets/
css/
yii/
	1.1.8/  	
images/

webapp/
	1.0/
themes/
index.php

In our code for the index.php with the implementation of the modification of the file structure

<?php

// change the following paths if necessary

$yii=dirname(__FILE__).'/yii/1.1.8/yii.php';

$config=dirname(__FILE__).'/webapp/1.0/config/main.php';
// remove the following lines when in production mode

defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message

defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
require_once($yii);

Yii::createWebApplication($config)->run();

Explanation:

In this directory:

yii/
	1.1.8/

we move the core in the folder 1.1.8 (based on the version of the Framework), so in this way, we can upgrade the Yii Framework without hurting the operation.

In our WebApp folder:

webapp/
	1.0/

- so in this way, we are working based on the version of the WebApp, we now rename the folder 'protected' to 'webapp', and then create a folder based on the version of the webapp, in the example is '1.0' ( in this folder, we put all the subfolders we have 'models, controllers etc..'.
8 2
7 followers
Viewed: 14 844 times
Version: Unknown (update)
Category: Tutorials
Tags: tutorial
Written by: Pinoy Coderz
Last updated by: Maurizio Domba Cerin
Created on: Aug 6, 2011
Last updated: 12 years ago
Update Article

Revisions

View all history

Related Articles