Support/PlatformEngineering: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(category -> Support Archive)
 
(20 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Draft}}
= Overview =
= Overview =
We need to come up with a plan for engineering a sustainable platform for SUMO.  The goals are:
This document is a plan for engineering a sustainable platform for SUMO.  The goals are:
* Evaluate the updated Tiki platform for suitability as a codebase that can continue to grow and improve with SUMO and with other projects using it for support
* Evaluate the updated Tiki platform for suitability as a codebase that can continue to grow and improve with SUMO and with other projects using it for support
* Improve code platform quality to
* Improve SUMO code platform quality to
** Increase robustness and performance
** Increase robustness and performance
** Increase developer happiness
** Increase developer happiness
** Reduce time to implement new features
** Reduce time to implement new features


= Tiki Upgrade =
= Tiki Evaluation =  
As [[https://wiki.mozilla.org/Support/TikiWikiUpgrade|decided]] in Q3 2009, Q1 2010 will be occupied with getting SUMO running on Tiki 5.1.  We have both a [[Support/TikiUpgradePlan|high level plan]] and a [[Support/TikiUpgradeImplementation|detailed implementation plan]].
[[Support/PlatformEngineeringTikiEvaluation]] discusses our evaluation of TikiWiki 5.1 as a possible future development platform. We arrived at a decision to rewrite the SUMO platform from scratch.
 
= Evaluation =
In Q2 2010 we will develop our first releases based on top of TikiWiki 5.1.  This will enable us to evaluate the success of our upgrade.
 
The evaluation criteria are as follows:
* Is the new codebase easier to understand and develop further?  That is, is it easier/more enjoyable for our webdevs to do their jobs? 
* Can we get more done in a release cycle? This requires more than one release cycle, as the first one will be testing a new process.
* Is the new codebase more robust?
* Is the new codebase at least as performant as the old one?
 
= Option 1: continue with Tiki =
 
== Refactoring ==
We need to identify which parts of Tiki we plan to rewrite or refactor. The criteria for choosing these are as follows:
* Existing poor code quality and/or fragility
* Impact of refactoring: choose areas that will have the biggest impact for users and developers
* Ease of refactoring: While this would never be the only criteria, there is certainly value in choosing low hanging fruit


= Kitsune =
[[Support/Kitsune]] is our project to reimplement SUMO.


= Option 2: redevelop SUMO platform code =
= Frameworks =  
The outcome of the option matrix we developed in Q3 2009 ([[https://spreadsheets.google.com/ccc?key=0Ao5KB_TZOvbVdDgtSEdRNnNyeDBvWUtJOUZYZnU0Rnc&hl=en]]) was that none of the other existing platforms look significantly better than TikiWiki.  If we go down this path we would be looking at reimplementing SUMO from scratch.
[[https://spreadsheets.google.com/ccc?key=0Ao5KB_TZOvbVdGhxNVlad2YxSW55Qy1wRnhWZmhJX1E&hl=en Framework Matrix]] looks at possible languages and frameworks for building the new SUMO.


When considering this option we should remember the pros and cons of porting to a new platform that [https://wiki.mozilla.org/Support/TikiWikiUpgrade#Port we analyzed previously].
[[Category:Support Archive]]

Latest revision as of 09:13, 14 July 2021

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Overview

This document is a plan for engineering a sustainable platform for SUMO. The goals are:

  • Evaluate the updated Tiki platform for suitability as a codebase that can continue to grow and improve with SUMO and with other projects using it for support
  • Improve SUMO code platform quality to
    • Increase robustness and performance
    • Increase developer happiness
    • Reduce time to implement new features

Tiki Evaluation

Support/PlatformEngineeringTikiEvaluation discusses our evaluation of TikiWiki 5.1 as a possible future development platform. We arrived at a decision to rewrite the SUMO platform from scratch.

Kitsune

Support/Kitsune is our project to reimplement SUMO.

Frameworks

[Framework Matrix] looks at possible languages and frameworks for building the new SUMO.