DevTools/Features/Workspaces: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
<section begin="status" /> | |||
{| class="fullwidth-table" | {| class="fullwidth-table" | ||
|- | |- | ||
| style="font-weight: bold; background: #DDD;" | Feature | | style="font-weight: bold; background: #DDD;" | Feature | ||
| style="font-weight: bold; background: #DDD;" | Status | | style="font-weight: bold; background: #DDD;" | Status | ||
| style="font-weight: bold; background: #DDD;" | ETA | | style="font-weight: bold; background: #DDD;" | ETA | ||
| style="font-weight: bold; background: #DDD;" | Owner | | style="font-weight: bold; background: #DDD;" | Owner | ||
|- | |- | ||
| [[DevTools/Features/Workspaces|Workspaces]] | |||
| [[DevTools/Features/Workspaces|Workspaces]] | | {{StatusHealthy|status=Main patch landed, a bit more needed}} | ||
| {{StatusHealthy|status=Main patch landed, a bit more needed}} | SDR: N || SIR: N | ||
| 2011-04-30 | | 2011-04-30 | ||
| Kevin Dangoor | | Kevin Dangoor | ||
<section end="status" /> | <section end="status" /> | ||
|} | |} | ||
== Summary == | == Summary == | ||
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) | |||
to | |||
== 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 | |||
== | == 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. | |||
== | == 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: | |||
* a | *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__ | |||
__NOTOC__ | |||
[[Category:Feature]] | [[Category:Feature]] [[Category:Firefox]] [[Category:DevTools]] [[Category:Priority_1]] | ||
[[Category:Firefox]] | |||
[[Category:DevTools]] | |||
[[Category: | |||
Revision as of 21:39, 26 April 2011
| Feature | Status | ETA | Owner |
| Workspaces | Main patch landed, a bit more needed
SDR: N || SIR: N |
2011-04-30 | Kevin Dangoor
|
Summary
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
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
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.
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