Features/AtSpiTwo

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(initial draft)
 
(Current status)
 
(23 intermediate revisions by 4 users not shown)
Line 5: Line 5:
  
 
== Owner ==
 
== Owner ==
 
 
* Name: [[User:mclasen| Matthias Clasen]]
 
* Name: [[User:mclasen| Matthias Clasen]]
 
* Email: mclasen@redhat.com
 
* Email: mclasen@redhat.com
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/13 | Fedora 13 ]]
+
* Targeted release:  
* Last updated: 2009-12-09
+
* Last updated: 2010-02-03
* Percentage of completion: 10%
+
* Percentage of completion: 50%
  
 
Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi.
 
Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi.
 +
The packages have been updated to the 0.1.4 releases, and can now coexist with
 +
the old accessibility stack, with runtime switching between the two.
 +
 +
at-spi2-core, at-spi2-atk and pyatspi2 have been built for F13.
 +
 +
caribou is under review.
 +
 +
 +
This feature is being subsumed by the larger [[Features/Gnome3 | GNOME3]] feature, and will not be tracked as a standalone feature any longer.
  
 
== Detailed Description ==
 
== Detailed Description ==
The current at-spi accessibility framework is based on CORBA and ORBit; technologies which are being deprecated and phased out in the GNOME stack. Some features of CORBA (such as remote reference counting, reentrancy) make the current accessibility support fragile. The Linux Foundation is leading an effort to port th
+
The current at-spi accessibility framework is based on CORBA and ORBit; technologies which are being deprecated and phased out in the GNOME stack. Some features of CORBA (such as remote reference counting, reentrancy) make the current accessibility support fragile. The Linux Foundation is leading an effort to port the accessibility framework to D-Bus. The new stack is planned to debut in GNOME 2.30.  
accessibility framework to D-Bus. The new stack is planned to debut in GNOME 2.30.  
+
  
 
The current at-spi package is being replaced by three components:
 
The current at-spi package is being replaced by three components:
Line 26: Line 33:
 
There is no replacement for the cspi 'C bindings' at the moment. The current users of cspi are being ported to use D-Bus directly (mousetweaks) or replaced (gok being replaced by [http://live.gnome.org/Caribou Caribou]). Other components that use cspi and whose status is unknown (to me): dasher.
 
There is no replacement for the cspi 'C bindings' at the moment. The current users of cspi are being ported to use D-Bus directly (mousetweaks) or replaced (gok being replaced by [http://live.gnome.org/Caribou Caribou]). Other components that use cspi and whose status is unknown (to me): dasher.
  
To make the transition phase less painful, there are some efforts to allow the old and new stacks to coexist. The CORBA-based at-spi stuff will install its atk-bridge module and Python bindings somewhere else, and there will be a desktop file that sets the GTK_PATH environment variable and a pyatspi.pth Python module that sets some Python path. These path-tweaks will be triggered by a GConf key, allowing both stacks to be installed at the same time and allowing users and testers to switch back and forth between the stacks.
+
To make the transition phase less painful, there are some efforts to allow the old and new stacks to coexist. The CORBA-based at-spi stuff will install its atk-bridge module and Python bindings somewhere else, and there will be a desktop file that sets the GTK_PATH environment variable and a pyatspi.pth Python module that sets some Python path. These path-tweaks will be triggered by a GConf key, allowing both stacks to be installed at the same time and allowing users and testers to switch back and forth between the stacks. [https://bugzilla.gnome.org/show_bug.cgi?id=606251 bug 606251] has more details.
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
Line 32: Line 39:
  
 
== Scope ==
 
== Scope ==
* Package at-spi2-core. [http://bugzilla.redhat.com/show_bug.cgi?id=544628 review]
+
* Package at-spi2-core. [http://bugzilla.redhat.com/show_bug.cgi?id=544628 review]. Done
* Package at-spi2-atk. [http://bugzilla.redhat.com/show_bug.cgi?id=544629 review]
+
* Package at-spi2-atk. [http://bugzilla.redhat.com/show_bug.cgi?id=544629 review]. Done
* Package pyatspi. [http://bugzilla.redhat.com/show_bug.cgi?id=544630 review]
+
* Package pyatspi. [http://bugzilla.redhat.com/show_bug.cgi?id=544630 review]. Done
* Rebuild at-spi with support for parallel installation
+
* Rebuild at-spi with support for parallel installation. Done
* Package caribou
+
* Package caribou. [http://bugzilla.redhat.com/show_bug.cgi?id=561225 review].
 
* Port cspi users to D-Bus: mousetweaks, dasher
 
* Port cspi users to D-Bus: mousetweaks, dasher
  
 
== How To Test ==
 
== How To Test ==
#. Make sure accessibility support is turned on
+
# Make sure accessibility support is turned on
#. Install at-spi2-core, at-spi2-atk, pyatspi
+
# Install at-spi2-core, at-spi2-atk, pyatspi
#. Set the GConf key /desktop/gnome/interface/at-spi-corba to false
+
# Set the GConf key /desktop/gnome/interface/at-spi-corba to false
#. Log in again
+
# Log in again
#. Verify that at-spi-registry is not running
+
# Verify that at-spi-registry is not running
#. Start an accessibility tool, e.g orca
+
# Start orca
#. Verify that at-spi-registryd2 has been activated
+
# Verify that at-spi-registryd2 has been activated
#. Verify that speech support in orca works
+
# Verify that speech support in orca works as it does with the old stack
  
 +
Repeat these steps with other accessibility technologies
  
 
== User Experience ==
 
== User Experience ==
Line 62: Line 70:
 
* Don't make them obsolete at-spi and gok
 
* Don't make them obsolete at-spi and gok
 
* Undo the porting of mousetweaks and dasher to D-Bus
 
* Undo the porting of mousetweaks and dasher to D-Bus
 
  
 
== Documentation ==
 
== Documentation ==
Line 68: Line 75:
  
 
== Release Notes ==
 
== Release Notes ==
* Fedora 13 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.
+
* Fedora 14 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
 
* See [[Talk:Features/AtSpiTwo]]  
 
* See [[Talk:Features/AtSpiTwo]]  
 
  
 
[[Category:FeaturePageIncomplete]]
 
[[Category:FeaturePageIncomplete]]

Latest revision as of 23:11, 22 June 2010

Contents

[edit] At-Spi 2

[edit] Summary

The at-spi accessibility framework gets ported to D-Bus

[edit] Owner

[edit] Current status

  • Targeted release:
  • Last updated: 2010-02-03
  • Percentage of completion: 50%

Initial packaging has been done for at-spi2-core, at-spi2-atk and pyatspi. The packages have been updated to the 0.1.4 releases, and can now coexist with the old accessibility stack, with runtime switching between the two.

at-spi2-core, at-spi2-atk and pyatspi2 have been built for F13.

caribou is under review.


This feature is being subsumed by the larger GNOME3 feature, and will not be tracked as a standalone feature any longer.

[edit] Detailed Description

The current at-spi accessibility framework is based on CORBA and ORBit; technologies which are being deprecated and phased out in the GNOME stack. Some features of CORBA (such as remote reference counting, reentrancy) make the current accessibility support fragile. The Linux Foundation is leading an effort to port the accessibility framework to D-Bus. The new stack is planned to debut in GNOME 2.30.

The current at-spi package is being replaced by three components:

  • at-spi2-core - protocol definitions and registry daemon
  • at-spi2-atk - the atk-bridge GTK+ module
  • pyatspi - Python bindings for at-spi

There is no replacement for the cspi 'C bindings' at the moment. The current users of cspi are being ported to use D-Bus directly (mousetweaks) or replaced (gok being replaced by Caribou). Other components that use cspi and whose status is unknown (to me): dasher.

To make the transition phase less painful, there are some efforts to allow the old and new stacks to coexist. The CORBA-based at-spi stuff will install its atk-bridge module and Python bindings somewhere else, and there will be a desktop file that sets the GTK_PATH environment variable and a pyatspi.pth Python module that sets some Python path. These path-tweaks will be triggered by a GConf key, allowing both stacks to be installed at the same time and allowing users and testers to switch back and forth between the stacks. bug 606251 has more details.

[edit] Benefit to Fedora

Fedora stays close to upstream in the area of accessibility. Some long-standing problems with the CORBA-based accessibility stack will hopefully be solved as a side-effect of the move to D-Bus. By making the new stack available in parallel to the old one early on in rawhide, we help to provide the necessary testing and feedback to the upstream accessibility developers.

[edit] Scope

  • Package at-spi2-core. review. Done
  • Package at-spi2-atk. review. Done
  • Package pyatspi. review. Done
  • Rebuild at-spi with support for parallel installation. Done
  • Package caribou. review.
  • Port cspi users to D-Bus: mousetweaks, dasher

[edit] How To Test

  1. Make sure accessibility support is turned on
  2. Install at-spi2-core, at-spi2-atk, pyatspi
  3. Set the GConf key /desktop/gnome/interface/at-spi-corba to false
  4. Log in again
  5. Verify that at-spi-registry is not running
  6. Start orca
  7. Verify that at-spi-registryd2 has been activated
  8. Verify that speech support in orca works as it does with the old stack

Repeat these steps with other accessibility technologies

[edit] User Experience

Accessibility tools will work as well as (or hopefully better than) they used to. The onscreen keyboard will no longer be gok, but caribou, which may offer a slightly different user experience.

[edit] Dependencies

  • at-spi needs to be rebuilt 'relocation' changes outlined above
  • mousetweaks and dasher need to be ported to D-Bus (upstream)

[edit] Contingency Plan

  • Do not install the at-spi2 packages and caribou
  • Don't make them obsolete at-spi and gok
  • Undo the porting of mousetweaks and dasher to D-Bus

[edit] Documentation

[edit] Release Notes

  • Fedora 14 is one of the first distributions to include the D-Bus-based at-spi2 accessibility framework.

[edit] Comments and Discussion