DevTools/Features/Workspaces: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 24: Line 24:
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.  
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).  
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.  
|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.  


Line 73: Line 73:
|Feature products status=tbd
|Feature products status=tbd
|Feature engineering status=tbd
|Feature engineering status=tbd
|Feature security status=tbd
|Feature security status=sec-review-complete
|Feature privacy status=tbd
|Feature privacy status=tbd
|Feature localization status=tbd
|Feature localization status=tbd

Revision as of 20:27, 11 July 2011

Please use "Edit with form" above to edit this page.

Status

Scratchpad
Stage Landed
Status `
Release target Firefox 6
Health OK
Status note SDR: C SIR: N

Team

Product manager Kevin Dangoor
Directly Responsible Individual Kevin Dangoor
Lead engineer Mihai Sucan (msucan), Rob Campbell
Security lead Curtis Koenig
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Alex Lakatos (AlexLakatos)
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

`

Stage 1: Definition

1. 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).

2. Users & 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.

3. Dependencies

`

4. 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)

Non-goals

For this initial step, we're leaving off some obvious features:

  • a better editor (Ace)
  • external editor integration of any sort
  • autocompletion

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

`

8. Reviews

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

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

Operations review

`

Stage 4: Development

9. Implementation

Stage 5: Release

10. Landing criteria

`


Feature details

Priority P1
Rank 999
Theme / Goal `
Roadmap Developer Tools
Secondary roadmap `
Feature list Desktop
Project `
Engineering team DevTools

Team status notes

  status notes
Products tbd `
Engineering tbd `
Security sec-review-complete `
Privacy tbd `
Localization tbd `
Accessibility tbd `
Quality assurance tbd `
User experience tbd `
Product marketing ` `
Operations ` `