canmove, Confirmed users, Bureaucrats and Sysops emeriti
6,906
edits
m (clearing in prep for migration to new feature page format (will be done momentarily)) |
mNo edit summary |
||
| Line 1: | Line 1: | ||
{{FeatureStatus | |||
|Feature name=Scratchpad | |||
|Feature stage=Landed | |||
|Feature version=Firefox 6 | |||
|Feature health=OK | |||
|Feature status note=SDR: C || SIR: N | |||
}} | |||
{{FeatureTeam | |||
|Feature product manager=Kevin Dangoor | |||
|Feature feature manager=Kevin Dangoor | |||
|Feature lead engineer=Mihai Sucan (msucan), Rob Campbell | |||
|Feature security lead=Curtis Koenig | |||
|Feature qa lead=Alex Lakatos (AlexLakatos) | |||
}} | |||
{{FeaturePageBody | |||
|Feature overview=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). | |||
|Feature users and 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. | |||
|Feature 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) | |||
|Feature non-goals=For this initial step, we're leaving off some obvious features: | |||
*a better editor (Ace) | |||
*external editor integration of any sort | |||
*autocompletion | |||
|Feature security review=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 | |||
|Feature qa review=* [https://wiki.mozilla.org/QA/Waverley/Developer-Tools/Workspaces/TestPlan Test Plan] | |||
|Feature implementation notes=* [http://mozilla.github.com/devtools/2011/status.html#workspaces Workspaces Status] | |||
}} | |||
{{FeatureInfo | |||
|Feature priority=P1 | |||
|Feature roadmap=Developer Tools | |||
|Feature list=Desktop | |||
|Feature engineering team=DevTools | |||
}} | |||
{{FeatureTeamStatus | |||
|Feature products status=tbd | |||
|Feature engineering status=tbd | |||
|Feature security status=tbd | |||
|Feature privacy status=tbd | |||
|Feature localization status=tbd | |||
|Feature accessibility status=tbd | |||
|Feature qa status=tbd | |||
|Feature ux status=tbd | |||
}} | |||