|
|
| Line 1: |
Line 1: |
| {| class="fullwidth-table"
| |
| |-
| |
| | style="font-weight: bold; background: #DDD;" | Feature
| |
| | style="font-weight: bold; background: #DDD;" | Status
| |
| | style="font-weight: bold; background: #DDD;" | ETA
| |
| | style="font-weight: bold; background: #DDD;" | Owner
| |
| <section begin="status" />
| |
| |-
| |
| | [[DevTools/Features/Workspaces|Scratchpad]]
| |
| | Landed
| |
| SDR: C || SIR: N
| |
| |
| |
| | Kevin Dangoor
| |
| <section end="status" />
| |
|
| |
|
| |}
| |
|
| |
| == Summary ==
| |
|
| |
| After input from the localizers, this feature has been renamed "Scratchpad".
| |
|
| |
| The Workspace concept began with Smalltalk environments and has been ported to a Firefox add-on. We believe that Workspaces provide a more pleasant way to experiment with code than the current tools which mimic a command line environment.
| |
|
| |
| The prototype will allow us to get experience with this different work style and also give other people a chance to comment on it.
| |
|
| |
| The basic idea behind creating a Workspace is that the Workspace gives you a convenient mechanism for running and rerunning snippets of code. If you're writing a new function, for example, you can keep redefining that function until you have one that works correctly. Then, you can just copy and paste it into your editor to become a part of your application.
| |
|
| |
| Another example use would be to have a collection of utility functions that you use in debugging your application. Those functions aren't really a part of the application, and you don't want to deliver them to your users. You can keep them in a file that you load into the workspace whenever you're working on that particular app.
| |
|
| |
| Most often, the files you save from a workspace are not complete script files and the snippets of code in a workspace may not run in all contexts (they may depend on variables that are defined on the page for which the workspace was created).
| |
|
| |
| == Release Requirements ==
| |
|
| |
| *Convert the add-on into a browser feature with tests
| |
| *Add a pref to remove the content/chrome switch from view
| |
|
| |
| Aurora backout strategy: there is a pref to turn off the feature (devtools.workspace.enabled)
| |
|
| |
| == Next Steps ==
| |
|
| |
| *l10n review, ux review
| |
| *finish landing the tests and pref
| |
|
| |
| == Related Bugs & Dependencies ==
| |
|
| |
| [http://mozilla.github.com/devtools/2011/status.html#workspaces Workspaces Status]
| |
|
| |
| == Team ==
| |
|
| |
| The Workspaces idea is new, so we're happy to get more input and help. Talk to us in #devtools on irc.mozilla.org
| |
|
| |
| *Mihai Sucan (irc: msucan): current lead developer
| |
| *Rob Campbell (irc: robcee): initial developer
| |
| *Curtis Koenig: security contact
| |
| *Kevin Dangoor (irc: kdangoor): PM
| |
| *Alex Lakatos (irc: AlexLakatos): QA contact
| |
|
| |
| == Goals/Use Cases ==
| |
|
| |
| '''Handy snippets''': When working on an application, it's not uncommon to have a collection of common bits of code that you run against the page to test things. The Workspaces feature lets you load and save JavaScript files, which is a convenient way to keep track of these snippets.
| |
|
| |
| '''Working on new code''': You can use Workspaces to work on a new function. Write a little code, execute it and repeat. Once it works, you can copy/paste that code into your main program files.
| |
|
| |
| === Basic Use Cases ===
| |
| *Run JavaScript against your web content
| |
| *Run JavaScript against your chrome content
| |
| *Develop a new feature of your already online webapp without having to close it down for maintenance.
| |
| *Test a fix for your addon without having to repackage and re-install it.
| |
| *Inspect the outcome of a code snippet without having to actually run it against the page.
| |
| *Better comment your code using Display, without running the code against your content.
| |
|
| |
| == Test Plans ==
| |
| [https://wiki.mozilla.org/QA/Waverley/Developer-Tools/Workspaces/TestPlan Test Plan]
| |
|
| |
| == Non-Goals ==
| |
|
| |
| For this initial step, we're leaving off some obvious features:
| |
|
| |
| *a better editor (Ace)
| |
| *external editor integration of any sort
| |
| *autocompletion
| |
|
| |
| == Security ==
| |
|
| |
| Date Discussion occurred: 2011.04.14 Security Concerns:
| |
|
| |
| *Feature could be used run arbitrary code
| |
|
| |
| Responses to concerns:
| |
|
| |
| *Interaction is one way and code only runs in a sandbox
| |
| *Sandbox inherits from content window
| |
| *Chrome settings preferences are off by default
| |
| *No collaboration built-in, scripts have to be shared out of band
| |
| *Scripts can not autorun
| |
| *No built-in interaction with web console
| |
|
| |
| Outstanding issue / Next steps:
| |
|
| |
| *None at this time
| |
|
| |
| __NOTOC__
| |
|
| |
| [[Category:Feature]] [[Category:Firefox]] [[Category:DevTools]] [[Category:Priority_1]]
| |