Version 5 (modified by Fran Boon, 15 years ago) ( diff )


Why a Rewrite?

Rewriting a large, working application is not something to be undertaken lightly. It is a lot of work & the payback at this stage isn't clear.

It is being done to address some real problems with the the current Sahana codebase:

  • Sahana is developed in a custom PHP framework which is based on design principles which have since become sub-optimal due to the emergence of new MVC frameworks & highly-interactive Web 2.0 UIs.
  • The current codebase has grown organically since it was originally designed - standards have broken down & the code is becoming harder to maintain.
  • It is currently hard to access data from modules via consistent methods...this is required for serious integration e.g. in GIS & Messaging.
  • Whilst there is a fairly coherent custom framework, it isn't adhered to consistently - different developers have done very different things in different modules
  • The Javascript components, especially, are very varied with lots of manual AJAX & the use of several different libraries
    • using a modern library means no issues with browser incompatibilities
    • consistency means less headers for clients to download


Note: See TracWiki for help on using the wiki.