KarmicFusa

Differences between revisions 2 and 3
Revision 2 as of 2009-06-26 03:17:57
Size: 4794
Editor: pool-71-96-223-196
Comment: First pass
Revision 3 as of 2009-06-26 03:37:18
Size: 4843
Editor: pool-71-96-223-196
Comment:
Deletions are marked like this. Additions are marked like this.
Line 35: Line 35:
Architecture Diagram, Dot file. {{attachment:architecture_diagram.png}}
{{attachment:architecture_diagram.dot}}
  • Launchpad Entry: dx-karmic-fusa

  • Packages affected: gnome-panel, gdm, ubuntu-desktop

Summary

The FUSA applet in Jaunty is tied closely to the GDM that is shipped in Jaunty. There are several large patches that Ubuntu has shipped as distro patches to add functionality into the FUSA applet including status switching for IM applications and session management support. These functionalities must be combined with the ability to switch users on the new GDM in Karmic to ensure that users do not see a regression when using the Ubuntu Desktop in Karmic.

Release Note

  • FUSA applet was replaced with a new applet enabling the same functionality but working with the upgraded infrastructure elsewhere in the release.

Rationale

  • Updated GDM changes the control interface greatly

User stories

  • Jim is getting ready for lunch and he wants to signal to his colleagues and friends that he's not at his desk. He quickly reaches for the menu and sets his status to "Away."
  • Jacque has a friend that would like to use her computer. Her settings are specific to her, but she doesn't want to close all her applications. She goes to the menu and chooses "Guest Session" in order to let her friend use her computer for a little while.
  • Alvin is done for the day and would like to shutdown his computer. He reaches for the menu, but because he has just played a mind numbing game of solitaire selects "Restart." He realizes this as the dialog pops up, which he closes and then properly selects "Shutdown."
  • It's Billy's turn on the computer but his brother was working in his homework. He selects his name from the menu so that he can use his Superman background while he's playing games without messing with his brother's session (which would get him in BIG trouble).
  • Jean is working at a customer's site which frankly she doesn't trust that much. She needs to go get a drink of water and uses the menu to quickly lock her screen before leaving her desk.

Assumptions

  • Empathy will be the default IM client, thus interfacing with Telepathy and Mission Control
  • gnome-session will allow for shutting down and restarting with session support
  • Rebooting into another OS is not a required feature
  • Updates on shutdown is currently not part of FUSA.

Design

architecture_diagram.png architecture_diagram.dot

The design consists of making three smaller modules that implement each set of fuctionality. Mostly these smaller modules will translate them into a set of menu items that will be then communicated to the small visual element that is in the panel.

Implementation

UI Changes

Besides small tweeks the UI will remain stable.

Code Changes

The development will reuse the current libraries and infrastructure that was developed as part of the messaging indicator project. This includes a mechanism for loading the applet and also the dbusmenu project for passing simple menus over DBus. It will then build on these adding the specific functionality required for the functionality. Hopefully, the patches already built for FUSA can be pillaged for the majority of this functionality.

Migration

The largest migration issue with the new applet will be handling GNOME Panel settings. Previous development on the FUSA applet used the same namespace, as it was patches to an existing applet. This made it difficult for the vanilla-GNOME effort as it was difficult to excise the new features from the applet itself. It is then desirable to use a new namespace, which leads to panel configuration issues.

Fortunately, in this case, the applets should be interchangable visually. So it is only a matter of replacing the applet's settings with a pointer to a new applet. As soon as the new applet is available this migration should be attempted to figure out any possible issues with the migration. The migration will be done with a packaging script similar to other gnome-panel settings migrations that have been done in the past.

Test/Demo Plan

Testing will occur at multiple levels using different techniques. To test the individual logic components unit tests will be written using dbus-test-runner to allow for testing them in an isolated testing environment. Further tests will be integrated into the ubuntu-desktop-testing project and use the mago tool that is being developed as part of that project. This also includes some IM stubs for testing networking related protocols.

Unresolved issues

  • Details of the migration
  • How possible updates on shutdown will be handled
  • Migration of gnome-panel patch removing System settings


CategorySpec

DesktopTeam/Specs/KarmicFusa (last edited 2009-09-18 17:46:19 by 174-20-169-204)