DevTools/Features/Workspaces: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
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
}}
canmove, Confirmed users, Bureaucrats and Sysops emeriti
6,906

edits

Navigation menu