Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev:fk_requirements [2009/04/18 01:19] gavintreadgold |
dev:fk_requirements [2010/03/24 17:47] (current) charlesw |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | This page is designed to capture ongoing discussion about possible moves to a new framework on which to base the next version of Sahana. | + | ====== |
- | ===== High Level Requirements ===== | ||
- | The requirements section is designed to capture the high-level desires and requirements. | ||
- | Following is a list of requirements | + | **//This page has been reformatted. |
- | * ORM, | + | |
- | * - Connection Pooling Support, so that multiple access doesn' | + | ====== Introduction ====== |
- | * - Data versioning, Audit trail support | + | Throughout early 2010 the Sahana Community has engaged in an open discussion of potential frameworks for future program development. |
- | * Form Validation, | + | |
- | * Database Abstraction | + | We invite anyone with relevant information to share it with the Community. |
- | * Web Services SOAP/ RSS / REST | + | |
- | * Security | + | If you would like to provide details on a framework |
- | * Logging, Backup | + | |
- | * Strong Web2.0 | + | ====== Goal ====== |
- | * Easily integratable with existing Portal Frameworks, such as Yahoo Pipes, iGoogle. ( I think this would go with web services & REST) (Optional) | + | Host a structured discussion within the Sahana community to evaluate PHP frameworks for future Sahana development. |
- | * Mobile Device | + | |
- | * Easy installation and deployability, | + | ====== Framework Requirements ====== |
- | * Less bulky. | + | This section is intended to document high level requirements for potential frameworks. |
- | * More modularity with low coupling. | + | |
- | * MVC ? | + | **Wiki Best Practises** |
- | * Should we go with SOA ? | + | Please keep these tips in mind when adding new criteria: |
- | * Scalability and performance. | + | * Categorize the requirement |
- | * Large developer ecosystem | + | * Link to an external site for additional information if relevant or necessary |
- | * Less complex | + | * Add additional details for any generic or easily mis-interpreted terms. |
- | * Unit Testing of framework | + | |
+ | Feel free to copy this text and use it to add any new categories: | ||
+ | < | ||
+ | ===== Category Header (name your new category here) ===== | ||
+ | * Describe the essentials of this category using two spaces and a bullet point | ||
+ | * For bullets with more detail just use two additional spaces at the beginning | ||
+ | </ | ||
+ | |||
+ | ===== Data/ORM ===== | ||
+ | * Database Engine Support | ||
+ | * ORM Engine Support | ||
+ | * Object Views | ||
+ | * Transaction History with rollback | ||
+ | * Auditing and Statistics | ||
+ | * Custom Data Types | ||
+ | * Triggers and constraints | ||
+ | |||
+ | ===== Development ===== | ||
+ | * Error Handling/Exception Handling | ||
+ | * Uniform Exception Framework | ||
+ | * Proper/ | ||
+ | * Transparency | ||
+ | * Verbosity easily transfigurable | ||
+ | * QA/Testing | ||
+ | * Usability/integration testing | ||
+ | * Custom test definition | ||
+ | * Integration (automation) | ||
+ | |||
+ | ===== Documentation ===== | ||
+ | * External (by the framework' | ||
+ | * Quality | ||
+ | * Depth/Expansiveness (How detailed is it?) | ||
+ | * Are their published reference texts? | ||
+ | * How current is the documentation? | ||
+ | * Integration on framework developers site | ||
+ | * Wiki generation | ||
+ | * Internal (within the framework itself) | ||
+ | * Function/ | ||
+ | * Generated code has meaningful in line documentation | ||
+ | |||
+ | ===== Administration ===== | ||
+ | * Security | ||
+ | * Framework' | ||
+ | * Long term support and highly stable framework versions offered | ||
+ | * Framework' | ||
+ | * Testing | ||
+ | * Support | ||
+ | * Built in code validation | ||
+ | * ACL support/ | ||
+ | * Server security integration with 3rd party authorization (ex. Apache) | ||
+ | ===== Features ===== | ||
+ | *Standards Validation Library | ||
+ | *ISO | ||
+ | *IEEE | ||
+ | *W3C compliance | ||
+ | *XML | ||
+ | *XHTML (version & strictness) | ||
+ | *WCAG | ||
+ | *Other | ||
+ | *Other standards bodies | ||
+ | *Custom validation library support (eg, Regex) | ||
+ | *Code sanitation | ||
+ | *Modularity | ||
+ | *Ease of development of modular applications | ||
+ | *Supports template modules for rapid development of additional modules | ||
+ | *Ability enable / disable independent of removal | ||
+ | *Versioning & compatibility support (eg, works with Sahana v 1.0 --> 1.5.x) | ||
+ | *Upgradability | ||
+ | *Client support | ||
+ | *Browser support | ||
+ | *Graceful Degradation | ||
+ | *Not dependent on AJAX | ||
+ | *Web Services | ||
+ | *SOAP | ||
+ | *JSON | ||
+ | *ATOM | ||
+ | *REST | ||
+ | *Community support & interest in RESTful | ||
+ | *RSS | ||
+ | *Custom | ||
+ | *Geospacial Capabilities | ||
+ | *Standards | ||
+ | *Engines | ||
+ | *Modular data abstraction | ||
+ | *3rd party data provider support | ||
+ | *Database Migration/ | ||
+ | *Features | ||
+ | *How does it compare to Rails RAKE? | ||
+ | *Templating | ||
+ | *Support | ||
+ | *Support for a number of pre-defined template styles within a single app | ||
+ | *Ease of development of templates | ||
+ | *Template inheritance | ||
+ | *Template flexibility | ||
+ | *Performance | ||
+ | *Statistics & conclusions | ||
+ | *Test bed specification | ||
+ | *Relevant software versions | ||
+ | *Date of testing | ||
+ | *Tester / reporter | ||
+ | *Scalability | ||
+ | *Statistics & conclusions | ||
+ | *Test bed specification | ||
+ | *Relevant software versions | ||
+ | *Date of testing | ||
+ | *Tester / report | ||
+ | |||
+ | ===== Optimization/ | ||
+ | *Caching features | ||
+ | *Indexing | ||
+ | *Automatic / trained index features | ||
+ | *Manual tuning | ||
+ | *Options for pre-computing data | ||
+ | *Other efficiency features | ||
+ | ===== Installation ===== | ||
+ | *Requirements | ||
+ | *Resource requirements | ||
+ | *Complexity/ | ||
+ | *Tools / libraries needed for installation | ||
+ | *Packaging | ||
+ | *How are updates handled? | ||
+ | *Language Support | ||
+ | *Out-of-box OS support | ||
+ | *Red-Hat | ||
+ | *Ubuntu Server LTS | ||
+ | *Suse Linux Enterprise Server | ||
+ | *Windows Server 2008 | ||
+ | *Licensing | ||
+ | ====== Potential Frameworks ====== | ||
+ | Each of these pages links to a potential frameworks evaluation page stub. Please feel free to flesh out the page for any framework that you have tested or have knowledge of to facilitate conversation with the rest of the Community. | ||
+ | |||
+ | If you would like to add an additional framework for discussion, please use [[dev: | ||
+ | |||
+ | * [[dev: | ||
+ | * [[dev: | ||
+ | * [[dev: | ||
+ | * [[dev: | ||
+ | * [[dev: | ||
+ | * [[dev: | ||
+ | ====== Discussion ====== | ||
+ | Please feel free to use this section | ||
- | ===== Framework Options ===== | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * [[http:// | ||
- | * Drupal 7 (no decent web link yet) |