Deprecated/0.9/ReleasePlans

Warning! This page has the following tags:

  • This page is deprecated, and is only useful for developers using Agavi 0.9.
  • This page exists for reference purposes only.

Release plans

unofficial roadmap brainstormings..

  • Initial release will be 0.9.0, includes:
    • small fixes, recursive global model locations, ability to make a paramter required w/o needing an actual validator
    • new validators: email, date
    • console controller
    • console request
    • ability to configure more than one type of controller for an application via the multiple controller factory config.
    • propel support
    • automation/build tool using phing
    • unit test framework utilizing simpletest
    • the beginnings of unit tests for the framework
    • the beginnings of tutorials/guides
  • post announcment will focus on the 1.0 release, which should include:
    • focus on community development, get the word out! get people involved!
    • More complete unit test coverage
    • More complete documentation
    • Evolving the context into a registry (?) see SmellsAndItches?
    • smoothing out any bumps

Todo:

  • open module repository(?) We could use the forum for this for now, but it sure would be nicer if there were a real directory to look at than to have to wade through forum posts. Maybe this is something post announcement to work out.
  • double check all phpdoc strings for version markers and appropriate copyright notices, etc. see #21 and a late comment about the version in packaging in #12
  • #23 is pretty important to at least have a better understanding of what is entailed. I might even call it a show stopper.
  • ... announce, announce, announce?

Announcement Text

Where do we intend to post/send the announcement?

some references to other fork announcements:


Places We Should Get Agavi Listed


Announcing Agavi, a fork of Mojavi3

What is Mojavi?

Mojavi is an open-source MVC (model-view-controller) php framework, licensed under the LGPL. Developing with Mojavi php framework enables you to easily divide your web application into tiers, allowing for independent custom web application development.

Sounds great, so why fork it?

Mainly just differences in objectives and in development approach. The Agavi development process emphasizes open developer access to the codebase, as well as to use and contribute back to 3rd party projects such as Simpletest, Phing, Propel, Creole, etc in preference to custom solutions. Mojavi by in large is the work of one man, Sean Kerr, and most of the development happens in the dark. As impressive as Sean's efforts have been, we believe a project of this scale can be better managed by the community of developers using it.

I'm using Mojavi's 3.x development version now, will I have to make a bunch of changes to use Agavi?

Agavi 0.9.x should more or less be a drop in replacement for Mojavi's 3.0.0-DEV branch, at least it is at the time of this writing. (M3 revision 775). Basically, you will need to:

  • Adjust your factories.ini to look more like this:
    [Controller]  
    request          = "WebRequest"  
    storage          = "SessionStorage"  
    user             = "BasicSecurityUser"  
    security_filter  = "BasicSecurityFilter"  
    
    [ConsoleController]  
    request          = "ConsoleRequest"  
    storage          = "SessionStorage"  
    user             = "BasicSecurityUser"  
    security_filter  = "BasicSecurityFilter" 
    
  • Change the [config/settings.ini] section of config/config_handlers.ini to look like this:
    [config/settings.ini]
        class        = "DefineConfigHandler"
        param.prefix = "AG_"
    
  • rename any MO_* constant reference to AG_*
  • repoint any references to the mojavi.php {webapp/config.php,www/index.php} to wherever you installed Agavi.
  • so, ok, we concede that it might not be as drop-in as we'd have liked, but should be well worth the effort none-the-less. :)

So What are some differences between Agavi 0.9 and Mojavi3?

  • Some internal refactoring to make testing easier and improve code clarity, most if not all of which should not be noticable by users of the framework.
  • Changes to the factory configuration allowing multiple controllers to be configured (re: Zimba's posting to the Mojavi forums: http://forum.mojavi.org/index.php?showtopic=958)
  • Unit tests for the framework (written using SimpleTest), albeit many more to be written.
  • A command line tool using Phing for a variety of tasks to remove some of the overhead of developing with the framework.
  • Installable using PEAR
  • A few other items not yet implemented in Mojavi3 that we felt were both easy to complete and important to have

What are the long-term goals for Agavi?

Please take a look at our Trac Roadmap, but briefly:

  • As close to 100% code coverage for our unit tests as possible.
  • To be open to feedback, be it positive or negative.
  • To encourage other developers to contribute.
  • To build community love.

Hot damn, this all sounds great! But, where is it???

Everything you need can be found at http://www.agavi.org/.


feti version

Greetings, 

  First and foremost, we would like to thank you for the contributions you
have made to the PHP community.  The 3.0.0-DEV branch of Mojavi is impressive
to say the least.  At the same time, we find ourselves wanting something more.
To that end, a small team has joined together in an effort to fill in the gaps
and perhaps even take development off into a slightly different direction than
what you had originally intended.

  Our goals and focus at this point are quite simple:
	 
  * Community based development.  Existing developers vote on accepting 
    patches and developers. It is our hope that our work will encourage
    others to get involved and join our efforts to make Agavi the best
    it can be.
	
  * Open development.  It's pretty disheartening as a developer to not be 
    informed about what potential plans or changes are going on in the 
    development of a fundamental library which you are committed to using. 
    Development and discussion thereof will be completely in the open, no 
    'behind the scenes'/'in the dark' black magic sillyness. 

  * Promote Test Driven Development.  We are firm believers in Test First
    coding practices and are comitted to providing as close to 100% unit test
    coverage for the framework and encourage a test first coding practice by
    developers using the framework.

  Though many more exist, we believe these to be the major points which
seperates Agavi from Mojavi.  We encourage you to take a more in-depth
look at our project and goals, and additionally welcome any feedback
(positive or negative) from you.

The Agavi Foundation
http://agavi.org/


default version

Greetings, 

  First and foremost, we would like to openly thank Sean Kerr and the entire
Mojavi development team for their contributions to the PHP community.
The 3.0.0-DEV branch of Mojavi is impressive to say the least.  At the same
time, some of us find ourselves wanting something more.  To that end, a
small team has joined together in an effort to fill in the gaps and perhaps
even take development off into a slightly different direction than what was
originally intended.

  Our goals and focus at this point are quite simple:
	 
  * Community based development.  Existing developers vote on accepting 
    patches and developers. It is our hope that our work will encourage
    others to get involved and join our efforts to make Agavi the best
    it can be.
	
  * Open development.  It's pretty disheartening as a developer to not be 
    informed about what potential plans or changes are going on in the 
    development of a fundamental library which you are committed to using. 
    Development and discussion thereof will be completely in the open, no 
    'behind the scenes'/'in the dark' black magic sillyness. 

  * Promote Test Driven Development.  We are firm believers in Test First
    coding practices and are comitted to providing as close to 100% unit test
    coverage for the framework and encourage a test first coding practice by
    developers using the framework.

  Though many more exist, we believe these to be the major points which
seperates Agavi from Mojavi.  We encourage you to take a more in-depth
look at our project and goals, and additionally welcome any feedback
(positive or negative).

The Agavi Foundation
http://agavi.org/