Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
req:app_store [2010/05/20 16:09] glenn Add 1st draft of significant content |
req:app_store [2010/12/18 17:35] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== App Store for Modules ====== | + | === Requirements === |
+ | ====== App Store for Sahana | ||
- | ====== | + | ====== Summary of Ideas and Evolving Consensus ====== |
===== Background ===== | ===== Background ===== | ||
- | The design and implementation plan for a Sahana App Store is being done in conjunction with a Google Summer of Code 2010 project for an Agasti Module Manager. | + | The design and implementation plan for a Sahana App Store is being done in conjunction with a Google Summer of Code 2010 project for an Agasti Module Manager. |
- | The extent to which the App Store roadmap discussed here is product-specific (e.g., Agasti) will have to be defined, as will the evolution of Module Managers to support it. The server-side of the store can in theory be implemented in any convenient language and framework, separate from those used in Eden (Python/ | + | The extent to which the App Store roadmap discussed here is product-specific (e.g., Agasti) will have to be defined, as will the evolution of Module Managers to support it. The server-side of the store can in theory be implemented in any convenient language and framework, separate from those used in Sahana-Eden (Python/ |
- | ===== Features and Architecture ===== | + | Ideally, an App Store could be built in such a way that it is generic and should work with both Agasti, Eden, and (further on) mobile components. |
+ | |||
+ | ===== Features and Architecture | ||
A Sahana App Store could broadly emulate the Android Marketplace and iPhone App Store. | A Sahana App Store could broadly emulate the Android Marketplace and iPhone App Store. | ||
Line 15: | Line 18: | ||
* Version updates and change-logs | * Version updates and change-logs | ||
* Automatic download / installation (and uninstallation) | * Automatic download / installation (and uninstallation) | ||
- | * Automatic module upgrades (similar to what Android 2.2) | + | * Automatic module upgrades (as with Android 2.2) |
- | * Manual module upgrades (like Wordpress | + | * Manual module upgrades (as with Wordpress) |
* User feedback and ratings | * User feedback and ratings | ||
* Version compatibility check with client framework and implementation ( filtered listing of apps) | * Version compatibility check with client framework and implementation ( filtered listing of apps) | ||
Line 25: | Line 28: | ||
* the server that will host the app store centrally. | * the server that will host the app store centrally. | ||
* the client libraries (specific to Agasti, Eden, etc.) that will install/ | * the client libraries (specific to Agasti, Eden, etc.) that will install/ | ||
+ | |||
+ | ===== Eventual Support For Additional Store Offerings ===== | ||
+ | After modules are well-supported, | ||
+ | |||
+ | * GUI themes | ||
+ | * Language packs | ||
+ | * Database initial content (e.g., geographic place names and locations. | ||
+ | * Specialized tools (e.g., to quickly configure an instance for a particular type of disaster) | ||
+ | * Mobile apps | ||
+ | * T-shirts and other swag? | ||
+ | |||
+ | ===== Policy and Process for App Store Contributions ===== | ||
+ | |||
+ | An App Store needs to be considered from the new-module creator' | ||
+ | |||
+ | It may be advantageous to follow the Android policy, giving the freedom to the administrator on what modules to install from the app store. | ||
+ | |||
+ | The pending-ratification release strategy [link?] covers much of this, especially the parts pertaining to packaging/ | ||
+ | |||
+ | Even with a generally open approach to modules, there' | ||
+ | |||
+ | * manage the module | ||
+ | * commit to certain standards (e.g., keep it up to date, respond to issues in a timely manner) | ||
+ | * provide SFF with a great way of recognising organisational contributions. | ||
===== Store Server Implementation Ideas ===== | ===== Store Server Implementation Ideas ===== | ||
Line 30: | Line 57: | ||
The App Store would ideally be hosted on sahanafoundation.org | The App Store would ideally be hosted on sahanafoundation.org | ||
- | In theory, an off-the-shelf e-commerce system could be used for the app store. | + | In theory, an off-the-shelf e-commerce system could be used for the app store. |
+ | |||
+ | //Drupal// | ||
Perhaps more appealing would be a more general purpose, but module-rich, | Perhaps more appealing would be a more general purpose, but module-rich, | ||
+ | |||
+ | There' | ||
+ | |||
+ | Looking at Drupal modules, there are two main ecosystems of ecommerce store modules, " | ||
+ | |||
+ | The general rap on Drupal seems to be that it's very flexible, but requires knowledgeable developers in order to make use of that flexibility. | ||
+ | |||
+ | One possible roll-your-own Drupal implementation approach to an App Store would be to create a custom ' | ||
+ | |||
+ | // | ||
+ | |||
+ | Another alternative to Drupal would be to use Launchpad. | ||
+ | |||
+ | This approach could be viewed as a complement to the App Store rather than an alternative. | ||
+ | |||
+ | ===== Initial Experimentation ===== | ||
+ | In June, 2010, GSoC student Kusum Kumar Madarasu, working on the Agasti Module Manager project, started learning about Drupal 6/7 and its modules of potential pertinence to an App Store. | ||
===== Conjectured Timeframe ===== | ===== Conjectured Timeframe ===== | ||
Line 39: | Line 85: | ||
//Summer 2010// | //Summer 2010// | ||
- | - Complete stand-alone Agasti Module Mangager, with some awareness of App Store issues. | + | - Complete stand-alone Agasti Module Mangager, with some awareness of App Store issues. |
- | - Develop design and implementation plan for App Store. | + | - Develop design and implementation plan for App Store, with experimental prototypes. |
//Fall 2010// | //Fall 2010// | ||
- | - Begin App Store implementation (if developers available). | + | - Based on findings, move to real App Store implementation (if developers available). |
- Revise Agasti Module Manager as needed to interact with App Store. | - Revise Agasti Module Manager as needed to interact with App Store. | ||
- | - If new Agasti framework determined, begin to develop Module Manager for it. | + | - Begin to develop Module Manager for Symfony framework. |
- Test. | - Test. | ||
Line 52: | Line 98: | ||
- Launch. | - Launch. | ||
- | ===== Agasti - For More ===== | + | ===== Agasti - For Much More ===== |
- | See ideas under [[dev: | + | See ideas, links under [[dev: |