Update:Archive/2.0/Developers: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 133: Line 133:


== Project Standards ==
== Project Standards ==
=== What language should we use? ===
Sticking with PHP seems to make the most sense at this time.  We have that skill set (both on the development and systems side) and the alternatives are not particularly attractive.  We considered both Perl and Java but decided against both at this time.  The existing UMO service is currently scaling quite well with over 3 million unique clients a day across 3 servers.


=== What tools/frameworks will we use? ===
The following describes the standards and tools we'll be using for the v2.0 rewrite of UMO.
This is an [[Update:Development:Tools|ongoing discussion]] that will hopefully yield the "best tools for the job".
 
=== Language ===
We are going to stick with PHP and make the new code base work with PHP 4.3.x.  We considered PHP 5.0 but felt that it did not tie in well with the existing MoFo infrastructure.  We also considered several other alternatives but in the end felt that the existing skill set and the ability to get up to speed quickly with PHP were the keys to success here.
 
=== Templating ===
We are going to use [http://smarty.php.net Smarty] for our template engine.  People considered writing our own but it was all a question of recreating what Smarty already did.
 
=== Database Abstraction ===
PEAR::DB (http://pear.php.net/package/DB ) is going to be our database abstraction layer.  We chose this because it is part of the PEAR suite and it's likeness to Perl's DBI.
 
=== Database Server ===
We are sticking with the MoFo standard here: MySQL 4.1.
 
=== Licensing ===
The original UMO uses a triple license: MPL 1.1/GPL 2.0/LGPL 2.1.  We will continue to do the same for v2.0 of UMO.


=== What about coding standards? ===
=== What about coding standards? ===
We are going to stick with the standard Mozilla coding standards where they apply and then [[Update:Development:Best Practices|develop our own]] where they do not.
We are going to stick with the standard Mozilla coding standards where they apply and then [[Update:Development:Best Practices|develop our own]] where they do not.
83

edits

Navigation menu