Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
dev:home [2009/04/20 14:00] glenn |
dev:home [2010/10/10 19:14] (current) |
====== Sahana development WIKI ====== | ====== Sahana Development WIKI ====== |
Welcome to the Sahana development WIKI. The purpose of this repository is to host the development guidelines, standards and programming tips for Sahana. | |
| Welcome to the Sahana Development WIKI. The purpose of this repository is to host the development guidelines, standards and programming tips for Sahana. |
| |
If you are a new contributor please first read the [[dev:orientation_new_developer| New Developer Orientation Guide ]] | If you are a new contributor please first read the [[dev:orientation_new_developer| New Developer Orientation Guide ]] |
| |
| |
| ===== Sahana Policy and Conventions ===== |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
===== Sahana Policy and Conventions ===== | |
The following are policy and conventions that are a must for all Sahana developers | The following are policy and conventions that are a must for all Sahana developers |
| |
* Sahana code will use an [[http://www.gnu.org/licenses/lgpl.html | LGPL]] license. | * Sahana code will use an [[http://www.gnu.org/licenses/lgpl.html | LGPL]] license. |
* Sahana [[dev:dependencies | dependencies and pre-requisites ]] for operation | * Sahana [[dev:cvs_convention| Code Commit and CVS Reference]] |
* Sahana [[dev:cvs_convention| Code Commit and CVS Convention]] | * Sahana [[Bug tracking process | Bug and Enhancement Tracking ]] Process |
* Sahana [[dev:module_acceptance_policy | Module acceptance policy]] | * Sahana [[dev:module_acceptance_policy | Module acceptance policy]] |
* Sahana [[dev:release_process | Release Process ]] | |
* Sahana [[dev:merge_process | Merge Process ]] | * Sahana [[dev:merge_process | Merge Process ]] |
* Sahana [[Bug tracking process | Bug and Enhancement Tracking ]] Process | |
* Sahana [[dev:SWAT | Quality Standards / SWATS]] | |
* [[dev:gui_standards | GUI Standards ]] | * [[dev:gui_standards | GUI Standards ]] |
* [[dev:mailing_list_policy | Mailing list policy ]] | * [[dev:mailing_list_policy | Mailing list policy ]] |
* [[dev:monthly_reporting_policy | Monthly reporting policy]] - ([[dev:project_report_200810 | Oct-08 ]] ) | * [[dev:monthly_reporting_policy | Monthly reporting policy]] - ([[dev:project_report_200810 | Oct-08 ]] ) |
| * Sahana [[dev:dependencies | dependencies and pre-requisites ]] for operation |
| |
| ==== Development Conventions ==== |
| |
| === Languages === |
| |
__Development Conventions__ | |
* [[dev:php_coding_convention| PHP coding convention]] | * [[dev:php_coding_convention| PHP coding convention]] |
* [[dev:css_convention | CSS convention and identifiers]] | * [[dev:css_convention | CSS convention and identifiers]] |
* [[dev:html_convention | HTML coding convention]] | * [[dev:html_convention | HTML coding convention]] |
* [[dev:js_convention | JavaScript convention]] | * [[dev:js_convention | JavaScript convention]] |
| |
| === Other === |
| |
* [[dev:directory_convention | directory structure ]] - knowing where to place development files | * [[dev:directory_convention | directory structure ]] - knowing where to place development files |
* [[dev:sqlpolicies | Database schema convention ]] | * [[dev:sqlpolicies | Database schema convention ]] |
* [[dev:3rd_party | Approved 3rd Party Libraries]] | * [[dev:3rd_party | Approved 3rd Party Libraries]] |
| |
__Proposed Conventions__ | ==== Proposed Conventions ==== |
| |
* [[dev:coding_convention_changes | Changes to coding convention]] | * [[dev:coding_convention_changes | Changes to coding convention]] |
| |
| |
| ===== Design and Development Guides ===== |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
===== Design and Development Guides ===== | |
Below is a list of conventions and guides we follow as a development team. | Below is a list of conventions and guides we follow as a development team. |
Some of these conventions have [[dev:automated_check | automated checks]]. Click [[dev:automated_check | here]] to find out how to use the automated checks as you write code. | Some of these conventions have [[dev:automated_check | automated checks]]. Click [[dev:automated_check | here]] to find out how to use the automated checks as you write code. |
| |
* [[dev:CVS| Getting Sahana from the CVS]] | * [[dev:bzrlp#getting_started_-_downloading_a_series_branch_to_your_computer| Getting Sahana from the BZR]] |
* [[dev:sourceforge | Using sourceforge ]] | * [[dev:sourceforge | Using sourceforge ]] |
| |
__Quality Assurance__ | ==== Quality Assurance ==== |
* [[dev:qa_webpage | QA Checklist]] - A check list to test each web page that is produced by the system | * [[dev:qa_webpage | QA Checklist]] - A check list to test each web page that is produced by the system |
* [[dev:qa_testcases | QA Test Case Guide]] - Guide to writing QA test cases | * [[dev:qa_testcases | QA Test Case Guide]] - Guide to writing QA test cases |
* [[dev:qa_testlink | QA Test Link Guide]] - Guide to do testing with TestLink | * [[dev:qa_testlink | QA Test Link Guide]] - Guide to do testing with TestLink |
* [[dev:qa_webpage | QA test matrix]] (Deprecated for SWATs) | |
* [[dev:Selenium_process | Selenium Process]] - Scripts and guide lines for Selenium Process | * [[dev:Selenium_process | Selenium Process]] - Scripts and guide lines for Selenium Process |
* [[dev:Load Testing/Stress Testing | Load Testing/Stress Testing]] - Load and Stress testing process and results | * [[dev:Load Testing/Stress Testing | Load Testing/Stress Testing]] - Load and Stress testing process and results |
* [[dev:GuidelinesandChecklistforTesting | Guidelines and Checklist for Testing]] - Guidelines and Checklist for Testing | * [[dev:GuidelinesandChecklistforTesting | Guidelines and Checklist for Testing]] - Guidelines and Checklist for Testing |
__Performance__ | |
| ==== Performance ==== |
* [[dev:perf_profiling | Profiling Results]] - SAHANA Profiling results and Recommendations | * [[dev:perf_profiling | Profiling Results]] - SAHANA Profiling results and Recommendations |
| |
__Design__ | ==== Design ==== |
* [[dev:architecture | Architecture and Framework]] | * [[dev:architecture | Architecture and Framework]] |
* [[dev:security | Data Security and Privacy]] | * [[dev:security | Data Security and Privacy]] |
* [[dev:module_convention | module developers guide ]] | * [[dev:module_convention | module developers guide ]] |
* [[dev:configuration | working with configuration settings ]] | * [[dev:configuration | working with configuration settings ]] |
* [[dev:release_naming_convention | CVS Release Naming Convention ]] & [[http://www.tldp.org/REF/CVS-BestPractices/html/index.html | CVS Best Practices ]] | |
__Sahana API__ | |
* [[http://www.sahana.lk/phpdoc]] is where you find the latest Sahana API documented by | |
| |
__Database__ | === Sahana API === |
| |
| * [[http://www.sahana.lk/phpdoc]] is where you find the latest Sahana API documentation. |
| |
| === Database === |
* [[dev:SQLSchema |SQL Schema and Database Library]] | * [[dev:SQLSchema |SQL Schema and Database Library]] |
* [[dev:dbschema_convention | DB Schema with AXMLS]] | * [[dev:dbschema_convention | DB Schema with AXMLS]] |
* [[http://cvs.sourceforge.net/viewcvs.py/sahana/sahana-phase2/inst/ | Main SQL Schemas]] | |
* [[dev:Database Transactions |Database Transactions]] | * [[dev:Database Transactions |Database Transactions]] |
* [[postgreSQL]] | * [[postgreSQL]] |
| * [[dev:sahana_adodb | ADODB abstraction in Sahana]] |
| |
| === PHP === |
| |
__PHP__ | |
* [[dev:sysconf | system configuration workings ]] | * [[dev:sysconf | system configuration workings ]] |
* [[dev:L10N | I18N and L10N]] design | * [[dev:L10N | I18N and L10N]] design |
| |
| |
__GIS__ | === GIS === |
* [[dev:gis:home | GIS Home ]] | * [[dev:gis:home | GIS Home ]] |
* [[dev:GisApi | GIS API (Geographic Information Systems) ]] | * [[dev:GisApi | GIS API (Geographic Information Systems) ]] |
* [[dev:gis_infra | GIS Infrastructure Roadmap ]] | * [[dev:gis_infra | GIS Infrastructure Roadmap ]] |
* [[dev:gis_umn_mapserver | UMN/Mapserver Guide -- installation ]] | * [[dev:gis_umn_mapserver | UMN/Mapserver Guide -- installation ]] |
* [[http://sahanacentral.iosn.telehealth.ph/index.php?title=MapServer_for_Sahana|UMN/Mapserver Guide -- usage/configuration: courtesy of IOSN]] | * [[http://sahanacentral.iosn.telehealth.ph/index.php?title=MapServer_for_Sahana|UMN/Mapserver Guide -- usage/configuration: courtesy of [[wp>IOSN]]]] |
* [[dev:gis:gheat | GHEAT ]] | * [[dev:gis:gheat | [[wp>GHEAT]] ]] |
| |
__MESSAGING__ | === Messaging === |
* [[dev:msg_archi | Messaging Architecture ]] | |
| * [[dev:msg_archi | Messaging Module & Architecture ]] |
| * [[dev:msg_arch_gsoc | Messaging - SMS Menus ]] |
* [[dev:msg_kannel_comp | Kannel Compatibility ]] | * [[dev:msg_kannel_comp | Kannel Compatibility ]] |
* [[dev:msg_smstools_comp | SMSTools Compatibility ]] | * [[dev:msg_smstools_comp | SMSTools Compatibility ]] |
* [[dev:binary_sms | Binary SMS format and SMS compression ]] | * [[dev:binary_sms | Binary SMS format and SMS compression ]] |
| |
__ADVANCED WEB SETUP__ | === Advanced Web Setup === |
* [[dev:saws | Sahana Advanced Web Setup ]] | * [[dev:saws | Sahana Advanced Web Setup ]] |
| |
__ABOUT PAGE__ | === About Page === |
* [[dev:abt | About Sahana page, and module information pages ]] | * [[dev:abt | About Sahana page, and module information pages ]] |
| |
__Sahana Mobile__ | ==== Sahana Mobile ==== |
* [[dev:sahana_mobile_Intro | Introduction to Sahana Mobile ]] | * [[dev:sahana_mobile_Intro | Introduction to Sahana Mobile ]] |
* [[dev:sahana_mobile_specs | Technologies & Specifications ]] | * [[dev:sahana_mobile_specs | Technologies & Specifications ]] |
* [[http://ajuonline.net/academics/ | Sahana Mobile for Openmoko™ Smartphones [under development] ]] | * [[http://ajuonline.net/academics/ | Sahana Mobile for Openmoko™ Smartphones [under development] ]] |
| |
__Packaging__ | === Packaging === |
* [[dev:sahana_packaging_rpm | Packaging Sahana RPM ]] | * [[dev:sahana_packaging_rpm | Packaging Sahana RPM ]] |
* [[dev:sahana_packaging_deb | Packaging Sahana deb ]] | * [[dev:sahana_packaging_deb | Packaging Sahana deb ]] |
Shell script to create all packages : {{dev:packaging_script.sh.tar.gz|}} | Shell script to create all packages : {{dev:packaging_script.sh.tar.gz|}} |
| |
__Framework Migration R&D__ | === Framework Migration R&D === |
* [[dev:fk_requirements | Framework Requirements ]] | * [[dev:fk_requirements | Framework Requirements ]] |
| * [[dev:sahanazf | Experiment with Zend Framework ]] |
| |
===== Sahana Module Guide ==== | ===== Sahana Module Guides ==== |
| |
Below are links to page discussing development/ideas for existing and new modules included in Sahana. | Below are links to page discussing development/ideas for existing and new modules included in Sahana. |
* [[dev:modules:User_Preferences | User Preferences]] | * [[dev:modules:User_Preferences | User Preferences]] |
* [[dev:modules:Administration | Administration]] | * [[dev:modules:Administration | Administration]] |
* [[dev:dvimodule | Fatality Management and Victim Identification]] | * [[dev:vita:home | Victim Identification, Tracking and Tracing (VITA)]] |
| [[Proposed Module Packaging guidelines]] |
| |
| ===== Sahana Contributors ===== |
| |
| |
===== Sahana Contributors ===== | |
* [[dev:team | Main Sahana II contributors and core team ]] | * [[dev:team | Main Sahana II contributors and core team ]] |
* [[dev:swat_teams | Action oriented SWAT teams]] | * [[dev:swat_teams | Action oriented SWAT teams]] |
| |
| |
| |
| |
===== Sahana Google Summer of Code ===== | ===== Sahana Google Summer of Code ===== |
| |
| * [[dev:sahana_gsoc10_ideas | Ideas: GSOC 2010]] |
| * [[dev:sahana_gsoc09_participants | Participants: GSoC 2009]] |
* [[dev:sahana_gsoc09_ideas | Ideas: GSoC 2009]] | * [[dev:sahana_gsoc09_ideas | Ideas: GSoC 2009]] |
* [[dev:sahana_gsoc08_participants | Participants: GSoC 2008]] | * [[dev:sahana_gsoc08_participants | Participants: GSoC 2008]] |
* [[dev:sahana_gsoc07_ideas | Ideas: GSoC 2007]] | * [[dev:sahana_gsoc07_ideas | Ideas: GSoC 2007]] |
* [[dev:sahana_gsoc06_participants | Recipients: GSoC 2006]] | * [[dev:sahana_gsoc06_participants | Recipients: GSoC 2006]] |
| * [[dev:sahana_gsoc_future_ideas | Ideas for future]] |
| |
===== User Interface Refresh ===== | ===== User Interface Refresh ===== |
* [[dev:qa_webpage | QA test matrix and ownership ]] | * [[dev:qa_webpage | QA test matrix and ownership ]] |
* [[dev:trackers | Old process Bug tracking process]] | * [[dev:trackers | Old process Bug tracking process]] |
| * Sahana [[dev:SWAT | Quality Standards / SWATS]] |
| |
===== Sahana Graphic Design ===== | ===== Sahana Graphic Design ===== |