Update:Archive/2.0/Developers: Difference between revisions
No edit summary |
No edit summary |
||
| Line 133: | Line 133: | ||
== Project Standards == | == Project Standards == | ||
=== | The following describes the standards and tools we'll be using for the v2.0 rewrite of UMO. | ||
=== 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. | ||
Revision as of 21:18, 25 April 2005
Update: Home Page » Development »
UMO v2.0 Goals
- security
- reliability
- extensibility
- reputation
- communication
Using sound teamwork, we will develop a secure, robust, extendible application that will bolster the success of the Mozilla Foundation and the community it supports.
Team
- bsmedberg
- chip
- chrisblore
- Colin
- justdave
- kveton
- luser
- mao
- morgamic
Tentative Timeline
- Planning / Requirements (April 20-30)
- Project Standards
- Database Considerations
- Application Structure
- Libraries and Tools
- Development (May)
- Admin Tools
- Editor/Developer Tols
- Addons
- AUS
- PFS
- Public Pages
- Staging (June 1-June 7)
- Debugging (June 1-June 14)
- Beta Release (June 17)
Possible Structure - Stuff to Think About
INSTALL
README
dev
apps.php
appadd.php
appedit.php
appdelete.php
comments.php
commentedit.php
commentdelete.php
items.php
itemadd.php
itemedit.php
itemhistory.php
users.php
useradd.php
useredit.php
userdelete.php
inc
init.php
config-dist.php
config.php
img
<global images>
lib
pear
smarty
modules
user.inc.php
item.inc.php
comment.inc.php
xpi.inc.php
rss.inc.php
pfs.inc.php
vck.inc.php
pub
rss
index.php
pfs
index.php
vck
index.php
commentadd.php
history.php
index.php
list.php
search.php
view.php
sql
umo.sql
themes
default
img
css
screen.css.php
layout.inc.php
tmpl
dev
appform.tpl.php
filter.tpl.php
itemform.tpl.php
list.tpl.php
userform.tpl.php
pub
commentadd.tpl.php
history.tpl.php
list.tpl.php
view.tpl.php
common
footer.tpl.php
header.tpl.php
navbar.tpl.php
search.tpl.php
Expected Behavior (client-side)
Extensions
- If a newer version is available, display update information.
- If there is information on the current version, display information so client can update extension metadata.
- Cases where there is no output (expected error code):
- Bad inputs (1)
- Failed query or no DB connection (2)
- No results (3)
- Client extension version is greater than anything in UMO database (4)
Project Standards
The following describes the standards and tools we'll be using for the v2.0 rewrite of UMO.
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 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?
We are going to stick with the standard Mozilla coding standards where they apply and then develop our own where they do not.