Transfer of Information Summary 20th - 23rd April 2009
- Willie Walker
- Mike Gorse
- Mark Doffman
- Brad Taylor
- Li Yuan
- Ke Wang
- Rob Taylor
Two people experienced with the code-base attended. Mark Doffman gave a brief overview of the specs and code tree. There has been a 300% increase in the number of people familiar with the project code-base.
As a group we did a review of the D-Bus specification referring to the CORBA IDL specification and the code. A number of inconsistencies were found and resolved including:
- Passing of Attributes as a string rather than dictionary.
- Enums vs ints.
- Removed dead / unused API.
- Fixed bugs in pyatspi where return-values were not marshaled as requested in the specification.
- Fixed bugs in pyatspi where non-writable properties had 'write' methods.
Orca-based sanity check
As a group we tested AT-SPI D-Bus with Orca & gtk-demo. This brought up a number of previously un-discovered bugs which were resolved.
We discussed the work remaining and created a list of known problems and issues.
- Migrate AT-SPI changes made since project branch (04-2008). (1 week)
- CBindings (Unknown)
- Complete cspi API not-necessary. C Bindings should be provided for the accessible-transfer and caching mechanisms.
- Possibly gok will need re-writing or porting to the new API.
- Possibly implement Collections API on the client side. (4 weeks)
- Atk adaptor library does not handle containers with state MANAGES_DESCENDANTS.
- Gail changes can remove MANAGES_DESCENDANTS from the GailTreeView ATK implementation. (DONE)
- MANAGES_DESCENDANTS could be used to handle very large containers. Don't cache any children of a MANAGES_DESCENDANTS container. The container handles all of their method calls. (3 weeks)
- Interfaces for dealing with 'infinite space' containers. (Unknown)
- Discuss with D-Bus developers whether we should create an "X Session" bus for the purpose of accessibility. The purpose of this is to allow multi-user accessibility. (Dependency on external team, this change is a goal for Gnome 3.0 in general.)
- Discuss the 'Login Helper' interface with Jon McCann. This interface was previously part of the AT-SPI specification.
- Implement a login-helper registry as part of the AT-SPI registryd. (2 days)
- Requires changes in GOK.
- Requires changes in screen-saver.
- The Device Event Controller makes synchronous method calls blocking the application that notified it of the event. This can cause deadlock.
- Modify the 'notifyEvent' call in the atk-adaptor to be re-entrant. (DONE)
- Pyatspi makes blocking function calls. This will cause deadlock when an AT attempts to access accessibility information about itself. For example, Orca cannot access its own preferences GUI.
- Make all pyatspi D-Bus method calls re-entrant. (1 week with some external dependencies on python-dbus developers)
- New infrastructure needs to be integrated into the Gnome desktop.
- The registryd start-up process needs to be looked at. This includes the possibility of using DBus activation.
- A JHBuild module-set needs to be created for the project. (1 week)
- Gnome approval of external dependency for AT-SPI 2.
- Create documentation of the protocol / pyatspi API. D-Bus XML to HTML conversion. (1 week)
- Performance testing and improvements. (3 months)
- Improving test coverage and bug fixing. (6 months)
- Java access bridge needs converting to use the JNI and ATK adaptor. (4 months)