AMO/FlightDeck/Roadmap: Difference between revisions
< AMO | FlightDeck
Jump to navigation
Jump to search
Dandonkulous (talk | contribs) No edit summary |
Dandonkulous (talk | contribs) No edit summary |
||
| Line 85: | Line 85: | ||
| Share AMO sessions via OAuth | | Share AMO sessions via OAuth | ||
| FlightDeck should use AMO’s OAuth service to share sessions, thus eliminating the need for the user to login multiple places with the same credentials. | | FlightDeck should use AMO’s OAuth service to share sessions, thus eliminating the need for the user to login multiple places with the same credentials. | ||
| HARD | |||
|} | |||
</onlyinclude> | |||
== CLIENT-SIDE EDITING & TESTING == | |||
'''Allow the Builder to edit and test add-ons locally''' | |||
<onlyinclude> | |||
{| class="fullwidth-table sortable" | |||
|- style="background:#efefef" | |||
| '''Summary''' | |||
| '''Details''' | |||
| '''Difficulty''' | |||
|- | |||
| Sync, edit, and save data locally | |||
| Enable the app to CRUD add-on/library data on the local file system. | |||
| HARD | |||
|- | |||
| Compile add-on XPIs locally | |||
| Allow for client-side creation of XPIs using a TBD JavaScript version of the CFX build tool | |||
| HARD | |||
|- | |||
| Enable offline use of the app | |||
| Handle the offline state so that the app runs normally and syncs any necessary changes when a connection is acquired. | |||
| HARD | |||
|} | |||
</onlyinclude> | |||
== EDITOR ENHANCEMENTS == | |||
'''Augment the editor in the Builder with new add-on specific development features''' | |||
<onlyinclude> | |||
{| class="fullwidth-table sortable" | |||
|- style="background:#efefef" | |||
| '''Summary''' | |||
| '''Details''' | |||
| '''Difficulty''' | |||
|- | |||
| Code completion for official API modules | |||
| Code completion should be added for all the add-on kit and api-utils modules. This shall include object and method completion for any public objects/functions provided by the module. | |||
| MEDIUM | |||
|- | |||
| Code completion for third-party libraries | |||
| Code completion should be extended to support third-party. It should be aware of when a library has been introduced into the environment with the require() statement and load the associated completion data into ACE. | |||
| HARD | |||
|- | |||
| Code completion for require() calls | |||
| Code completion will be offered for all modules accessible via require(). This feature will be context dependant. | |||
EXAMPLE: If Library A is packaged with Modules B and C, the require() string values for Modules B and C should show up in code completion when the developer user types “require(“ into the ACE editor. | |||
| MEDIUM | |||
|- | |||
| API Stubs | |||
| Create a UI that allows developers to auto-populate stubs for APIs to the editor that add appropriate code templates and files for the API in question. Comments should optionally be included within the skeleton to describe the various parts of the code and what developers need to input in the unpopulated areas. | |||
| HARD | | HARD | ||
|} | |} | ||
</onlyinclude> | </onlyinclude> | ||
Revision as of 23:59, 27 June 2011
APP HARDENING
Refactor client-side code and the related server-side pieces that support it
| Summary | Details | Difficulty |
| Retrofit the site’s JS code with client-side MVC model | The JavaScript needs a major refactoring and integration of a cleaner JS MVC system. | HARD |
| Revision queue for editor actions | Create a back-end mechanism that organizes and executes revisions in the proper order, regardless of how or when various async, revision-creating events finish processing. | HARD |
| Refactor and clean-up CSS | The CSS across the site is redundant and sub-optimal. We will refactor and slim down all the style sheets that need it. | MEDIUM |
| Increase page load performance | Minify and gzip all assets, integrate a legit dependency system in FlightDeck. | EASY |
| Package build speed optimization | Look into both software and hardware options for decreasing build times and increasing stability of the service. | UNKNOWN |
| Update ACE editor to latest stable version | Update the ACE editor and ensure that it recognizes and correctly handles debugging suggestions for the advanced ES5 keywords and methods found in Firefox. | MEDIUM |
ADVANCED SEARCH
Provide advanced search facets/filters and better fuzzy search
| Summary | Details | Difficulty |
| Add advanced facets/filters | FlightDeck search should allow for more advanced facets and filters that allow developers a more convenient way to find the result set they are looking for.
filter: author/owner filter: dependencies facet: number of forks facet: most active (recency of last update in ratio to # of total commits divided by age) facet: size of the add-on/library facet: number of dependencies |
MEDIUM |
| Enhance fuzzy search | The full-text search should be augmented to allow for fuzzy search in the same vein as other full-text search engines like Solr. | UNKNOWN |
| Develop a system for elevating user libraries | We need to analyze and discuss the best way to expose well made user libraries to the community. Will this be a search-based solution, some kind of repository that is managed, or something else that we haven’t considered? | UNKNOWN |
AMO INTEGRATION
Make it easy for developers to use/view AMO features from the Builder
| Summary | Details | Difficulty |
| Ability to push add-ons to AMO | FlightDeck should allow developers to push their add-ons to AMO with any associated meta data pre-populated. | HARD |
| Provide AMO status messages | FlightDeck should sync messages from AMO that let the developer know at what stage in the add-on life-cycle a given add-on is at. | MEDIUM |
| Share AMO sessions via OAuth | FlightDeck should use AMO’s OAuth service to share sessions, thus eliminating the need for the user to login multiple places with the same credentials. | HARD |
CLIENT-SIDE EDITING & TESTING
Allow the Builder to edit and test add-ons locally
| Summary | Details | Difficulty |
| Sync, edit, and save data locally | Enable the app to CRUD add-on/library data on the local file system. | HARD |
| Compile add-on XPIs locally | Allow for client-side creation of XPIs using a TBD JavaScript version of the CFX build tool | HARD |
| Enable offline use of the app | Handle the offline state so that the app runs normally and syncs any necessary changes when a connection is acquired. | HARD |
EDITOR ENHANCEMENTS
Augment the editor in the Builder with new add-on specific development features
| Summary | Details | Difficulty |
| Code completion for official API modules | Code completion should be added for all the add-on kit and api-utils modules. This shall include object and method completion for any public objects/functions provided by the module. | MEDIUM |
| Code completion for third-party libraries | Code completion should be extended to support third-party. It should be aware of when a library has been introduced into the environment with the require() statement and load the associated completion data into ACE. | HARD |
| Code completion for require() calls | Code completion will be offered for all modules accessible via require(). This feature will be context dependant.
EXAMPLE: If Library A is packaged with Modules B and C, the require() string values for Modules B and C should show up in code completion when the developer user types “require(“ into the ACE editor. |
MEDIUM |
| API Stubs | Create a UI that allows developers to auto-populate stubs for APIs to the editor that add appropriate code templates and files for the API in question. Comments should optionally be included within the skeleton to describe the various parts of the code and what developers need to input in the unpopulated areas. | HARD |