This repository has been archived by the owner on Nov 21, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
Interactions
arnaud edited this page Aug 22, 2010
·
21 revisions
The following diagram is a representation of the possible interactions between each components:
There are two types of interactions:
- Browser interactions
- Dashboard interactions
Here is the complete list of interactions that exist for both types:
Browser interactions:
- Create a window
- Focus a window
- Close a window
- Attach a tab to a window
- Create a tab
- Detach a tab from a window
- Move a tab within a window
- Close a tab
- Select a tab
- Update a tab
- Click on the extension action button
- Use the extension shortcut key
Dashboard interactions:
- Create a new group
- Rename a group
- Resize a group
- Move a group
- Close a group
- Move a tab to the dashboard
- Reorder a tab within a group
- Move a tab to an existing group
- Close a tab
- Open all tabs of a group
- Open a single tab of a group
Below are listed the browser interactions that apply to main use cases:
Case A “the window opens with a normal page as a tab”:
- The user opens a new window (Ctrl+N)
- The browser sends a request to the background page
- The background page inserts the new group and its tab in the database
- The background page sends a request to the dashboard
- The dashboard creates the corresponding group and its tab
Case B “the window opens with a special page as a tab”:
Nothing happens
TBD
- The user closes a window (Alt+F4)
- The browser sends a request to the background page
- The background page deletes the corresponding group and its tabs from the database
- The background page sends a request to the dashboard
- The dashboard hides and deletes the corresponding group and its tabs
TBD
Case A “the tab opens with a normal page”:
- The user opens a new tab (Ctrl+T)
- The browser sends a request to the background page
- The background page inserts the new tab in the database
- The background page sends a request to the dashboard
- The dashboard adds the new tab into the corresponding group
Case B “the tab opens with a special page”:
Nothing happens
TBD
TBD
- The user closes a tab (Ctrl+W)
- The browser sends a request to the background page
- The background page deletes the corresponding tab from the database
- The background page sends a request to the dashboard
- The dashboard hides and deletes the corresponding tab
TBD
- The user changes the URL of a tab, navigates through a link, browse the web
- The browser sends a request to the background page
- The background page updates the corresponding tab in the database
- The background page sends a request to the dashboard
- The dashboard changes the corresponding tab display informations
TBD
TBD
Below are listed the browser interactions that apply to main use cases:
- The user creates a new group in the dashboard
- The dashboard sends a request to the background page
- The background page inserts the new group in the database
- The user renames a group in the dashboard
- The dashboard sends a request to the background page
- The background page renames the group in the database
- The user resizes a group in the dashboard
- The dashboard sends a request to the background page
- The background page updates the group sizes in the database
- The user moves a group in the dashboard
- The dashboard sends a request to the background page
- The background page updates the group coordinates in the database
- The user closes a group in the dashboard
- The dashboard sends a request to the background page
- The background page sends a request to the browser to close the corresponding window
- On success, the background page deletes the group from the database
- The user moves a tab to the dashboard
- The dashboard sends a request to the background page
- The background page sends a request to the browser to close the corresponding tab
- On success, the background page inserts a new group and updates the tab’s group id in the database
- The user reorders a tab within a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to move the corresponding tab from its current position to its new position
- On success, the background page updates the tab’s index in the database
- The user moves a tab to an existing group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to move the corresponding tab from its current window to the destination window
- On success, the background page updates the tab’s group id in the database
- The user closes a tab
- The dashboard sends a request to the background page
- The background page sends a request to the browser to close the corresponding tab
- On success, the background page deletes the tab from the database
- The user clicks on a tab within a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to create a new window with all the group tabs, and to focus the clicked tab
- The user ctrl+clicks on a tab within a group
- The dashboard sends a request to the background page
- The background page sends a request to the browser to create a new window with all the group tabs, and to focus the clicked tab