Envolution Vision / Roadmap Outline

Date: 04, August, 2002

Purpose: To Outline the Envolution CMS Vision and Roadmap


I. Preamble
This is a rough draft only, and is highly likely to change. It serves as a basis to lay down some techincal aspirations, goals for the project and our Vision of the Envolution Content Management System.



II. Our Vision
Our Vision is to build the ultimate Content Management System. This new CMS is called Envolution, and will initially be based on the Postnuke 0.7x code base. We intend to greatly reduce the amount of core code, improve the Application Programming Interface and promote the infusion of ideas from the Community and Third-Party developers. From the initial screen, we want Envolution to be the easiest, most refined and configurable CMS in the market. A truly modular architecture combined with a rock solid core foundation, a powerful API and a well implemented Template system will undoubtedly accomplish this task. However, we also want to further simplify the entire process for Webmaster and Site Administration by providing an on-demand Help system, Wizards and first-class documentation. 

We also want to involve the Community in every aspect of this project. For us to build something for the Community without their constant input would be nearly impossible. As a direct result, we want to have the most dedicated Community in the CMS market. We want to embrace the Third-Party developers, who we know, expand the CMS beyond its original power. They are a vital part of our project as well, and we will extend our support and assistance to realize the power of a true Open Source project. We want to stabilize the rapid growth tendencies of Open Source projects in order to save users from constant breaking of their sites because of incompatiability changes due to rushed code and/or no thought for backwards compatability.




III. Our Goals
The following represents an overview of the goals of the Envolution Content Management System. Of course, they do need to be expanded upon and clarified further.

- Easy installation, with Step by Step Wizards and Help
- Configuration at Install, choices to install/activate needed modules from the beginning
- Enhanced Admin Interface, designed for the new user, powerful enough for veterans
- Stability, provides the Webmaster with rock-solid reliability
- Extensibility, ability to add, replace or drop Modules with a "Plug-n-Play" type of system
- Modular, built to only have what the Webmaster uses
- Small core, built as the foundation of the system
- Enhanced API, streamlined inter-process communication
- Template based system, promotes the seperation of logic and presentation
- Logical structure, things are organized and not scattered all over the system
- Point and Click control for every aspect of your site




IV. Technical Overview
Here is a basic overview of what I would like to see implemented eventually for the Core System and the processes used.
- Core System is basically the foundation, used to support the remainder of the modular system
- API is the language for all Modules to interface with the Core, the Theme System and each other
- Modules are the building blocks of the entire CMS, without them there is no visible functionality
- Themes control any and all things related to displaying the content
- Blocks are the frames of data, displayed at will by the Theme System
- Compatability Bridges to use the vast resources of Third-Party Modules available for different systems
- Forward looking direction to include breaking edge Web Technologies
- 




V. Structure
The overall final structure for Envolutuon is based on logic and simplicity. It redefines the role of the Core, Modules, the Application Programming Interface and the directory file structure as well. These are explained in turn below.

                                   -----------------------------
                                   OVERALL CORE/MODULE STRUCTURE
                                   -----------------------------
The Core is redefined to be only the foundation of Envolution. Everything else is built and runs upon the Core. It loads further components to expand its functionality by loading first the Modules module, then the API module. After these are loaded, the core modules are loaded. These include db connectivity, sessions management, security and so on. All modules use the API system to communicate with each other via the Core. The core is simply the conduit connecting all of the modules in this type of setup.

Benefits of this setup will be relaized both by our project and third-party developers. If someone wants to use an "EZCMS" type of Content Management system, it can be plugged in and replace the News module with no ramifications. The principal idea is a completely customizable/hackable system for any developer or Webmaster which requires no Core editing. This will not only makes things easier for them to install custom components, it will also make upgrades of customized systems much easier. It also promotes third-party development by reducing its dependencies on all put the bare essentials of the system.


core --> modules[modules]
               |
          modules[API] <--> modules[core]
				                  | |
			                   -----------
                               ADOdb     |
                               Sessions  |
			       Security  | <--> modules[optional] <--> blocks[various]
			       Settings  |             |                     |
                               Languages |             |                     |
			       Users     |             |                     |
			       -----------        -------------        ---------------
                                                  News        |        Past Articles |
                                                  Downloads   |        Who's Online  |
                                                  Web Links   |        Poll          |
						  Sections    |        Main Menu     |
						  FAQ         |        Search Box    |
                                                  Compat Layer|        ...           |
						  User Points |                      |
						  ...         |                      |
					          -------------        ---------------
                                                       |                     |
                                                       |                     |
                                                       -----------------------
                                                                  |
                                                                  |
                                                             ------------
                                                             Encompass  |
                                                             ...        | <---> Web Page
                                                                        |
                                                             ------------


                                      ----------------------------
                                      PROPOSED DIRECTORY STRUCTURE
                                      ----------------------------
The directory structure has been reorganized to prmote a more logical placement of files, images and templates. This removes the problem of having these files scattered all over the file system plus allows them to be found easier by Webmasters. The illustration below demosrates this, albiet it is only an incomplete example to show the structure only, it does not show all files that will be in the system.


web root/
	config.php
	index.php
	cache/
		[misc temp files]
	docs/
		license-gpl.txt
		license-lgpl.txt
		blocks/
			whosonline/
				credits.txt
				readme.txt
		modules/
			news/
				hacks.txt
				readme.txt
	images/
		logo.gif
		blocks/
			whosonline/
				bullet.gif
				left-border.gif
				yin-yan.gif
		modules/
			downloads/
				label.gif
				bullet.gif
				star.gif
	install/
		help/
			config.html
		lang/
			eng/
				global.php
		templates/
			splash.tpl
	language/
		blocks/
			whosonline/
				eng/
					global.php
		modules/
			news/
				eng/
					global.php
	modules/
		api/
			api.php
		adodb/
			adodb-error.php
		news/
			adminapi.php
			userapi.php
	templates/
		blocks/
			whosonline/
				default/
					whosonline.tpl
		modules/
			news/
				antithesis/
					article.tpl
					index.tpl
	themes/
		antithesis/
			css.php
			funcs.php
			swapper.js




VI. Envolution Roadmap
This is a very broad roadmap for the Envolution project, listing each area to be addressed per each release cycle. This is very highly subject to revision, modification or outright chage as the Envolution project profresses.

---------------------------------------------------------------------
Version			Major Changes				Notes
---------------------------------------------------------------------
0.10			Encompass expanded,		Existing PN Bugs Fixed,
			Installer rewrite,		"Legacy" code removed,
			Enhanced Modules		PN code removal/cleanup

0.20			New Core code,			Introduction of the
			API enhanced/refined,		Compatability Bridge

0.30			API final version,		Compatability Bridge
			Module methods,			enhanced, directory
			Block methods			structure changes

0.40			Security,			First Major Milestone
			Sessions,
			Users,
			Error Handling

0.50			Languages,
			new Admin system,
			Encompass rewrite

0.60			Full template system,		Second Major Milestone
			Content Publishing,
			Sections,
			Advanced Installer

0.70			Help module,			Third Major Milestone
			Downloads,
			Web Links,
			Reviews

0.80			Advanced Admin functions,
			API refinement & expansion,
			remaining modules rewrite

0.90			Final code base
			Testing, final touches
			and refinements

1.00			All of our hard work
			pays off.



VII. Summary
As you can see, we have a lot of ground to cover in order to achieve the ultimate CMS system. Althought there is much work to do, we as a Community can accomplish these goals and more with great effeciency through complete interaction.

If you have any ideas, thoughts, suggestions or input as to this document, please contact any member of the Envolution staff. We are always here to serve you and your opinion and thoughts do indeed matter.

Thank you for considering our product, we hope to see you as a member of our Community in the very near future.

The Envolution Team



Version 1.0  02-August-2002
MADHATter7