DevTools/Features/Workspaces: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
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
|-
|-
<section begin="status" />
| [[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


The Workspace concept began with Smalltalk environments and has been ported
Aurora backout strategy: there is a pref to turn off the feature (devtools.workspace.enabled)
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
== Next Steps  ==
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.
*l10n review, ux review
*finish landing the tests and pref


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.
== Related Bugs &amp; Dependencies  ==


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).
[http://mozilla.github.com/devtools/2011/status.html#workspaces Workspaces Status]


== Release Requirements ==
== Team  ==


* Convert the add-on into a browser feature with tests
The Workspaces idea is new, so we're happy to get more input and help. Talk to us in #devtools on irc.mozilla.org
* 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)
*Mihai Sucan (irc: msucan): current lead developer
*Rob Campbell (irc: robcee): initial developer
*Curtis Koenig: security contact
*Kevin Dangoor (irc: kdangoor): PM


== Next Steps ==
== Goals/Use Cases  ==


* l10n review, ux review
'''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.
* finish landing the tests and pref


== Related Bugs & Dependencies ==
'''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.  
[http://mozilla.github.com/devtools/2011/status.html#workspaces Workspaces Status]


== Team ==
== Non-Goals  ==


The Workspaces idea is new, so we're happy to get more input and help. Talk to us in #devtools on irc.mozilla.org
For this initial step, we're leaving off some obvious features:


* Mihai Sucan (irc: msucan): current lead developer
*a better editor (Ace)  
* Rob Campbell (irc: robcee): initial developer
*external editor integration of any sort
* Curtis Koenig: security contact
*autocompletion
* Kevin Dangoor (irc: kdangoor): PM


== Goals/Use Cases ==
== Security  ==


'''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.
Date Discussion occurred: 2011.04.14 Security Concerns:


'''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.
*Feature could be used run arbitrary code


== Non-Goals ==
Responses to concerns:  
For this initial step, we're leaving off some obvious features:


* a better editor (Ace)
*Interaction is one way and code only runs in a sandbox
* external editor integration of any sort
*Sandbox inherits from content window
* autocompletion
*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


== Security ==
Outstanding issue / Next steps:  
Date Discussion occurred: 2011.04.14
Security Concerns:
* Feature could be used run arbitrary code


Responses to concerns:
*None at this time
* 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:
__NOTOC__  
* None at this time
__NOTOC__


[[Category:Feature]]
[[Category:Feature]] [[Category:Firefox]] [[Category:DevTools]] [[Category:Priority_1]]
[[Category:Firefox]]
[[Category:DevTools]]
[[Category:Priority 1]]

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

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:

  • 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