IMPORTANT: This article is being preserved for historical purposes and likely no longer reflects the state of AT-SPI over D-Bus.

ATSPI to D-Bus Migration tasks

  1. D-Bus:
    1. Standardise Telepathy dbus introspection extentions (rough description, example)

      • - Estimated effort: 2 man weeks, given agreement between binding authors and dbus maintainers.
    2. Create initial D-Bus specification using telepathy extensions
      • - Estimated effort: 1 man week
  2. ATK-Bridge:
    1. Write method for sending a subtree of the accesible object tree with varying levels of object properties
      • - Estimated effort: 1 man month
    2. Write marshalers for AT-SPI method calls and implement using ATK.
      • - Estimated effort: 1 man month.
    3. Implement signals for updating client-side caches
      • - Estimated effort: 1 man week
    4. Put it all together....
      • - Estimated effort: 2 man weeks
  3. cspi:
    1. Write client side marshalers for invoking AT-SPI methods.
      • - Estimated effort: 1 man month
    2. GObject-based implementation of AT-SPI API, complete with caching infrastructure.
      • - Estimated effort: 2 man months
    3. Implementation of current cspi abi.
      • - Estimated effort: 1 man month
    4. Test GOK, fix any outstanding issues.
      • - Estimated effort: 1 man month
  4. pyatspi:
    1. Python binding to gobject-based AT-SPI API
      • - Estimated effort: 1 man month
    2. Test with Accerciser, fix any issues
      • - Estimated effort: 2 man weeks
    3. Test with Orca, fix any issues
      • - Estimated effort: 1 man month
  5. Registry daemon
    1. Implement the registry deamon as a process for registering applications. A subset of the Accessibility-Registry interface.
      • - Estimated effort: 2 man weeks
    2. Implement a subset of the DeviceEventController interface and the DeviceEventListener Interface in D-Bus

      • - Estimated effort: 1 man month.
  6. Qt:
    1. support for Q_PROPERTY change notification, and support in QDBusAbstractAdaptor
    2. AT-Server implementation using dbus spec.
  7. Java:
    1. DBus Java bindings exist, are known good and are maintained.
    2. com.sun.java.accessibility
      • Should be implementable with dbus-java
    3. AWT
      • Unknown
    4. SWT
      • Unknown - does this fully expose everything with ATK on GTK backend?
    5. Swing
      • Unknown
  8. OpenOffice.org:

    1. Uses ATK, so should mostly work.

First Stage Work

Tasks 1-5 form the first stage of the work. The following work units can *optimistically* be performed in parallel

1.i

2.i

2.ii

3.i, 2.iii, 4.i

4.i

5.i

4.ii

5.i, 5.ii

4.iii

-

5.iii

6.i

5.iv

6.ii, 6.iii

Total time:

8 man months

8 man months

Total when parallised is 8.5 man months.

Accessibility/Documentation/GNOME2/ATSPI2-Investigation/MigrationBreakdown (last edited 2011-07-21 18:14:01 by JoanmarieDiggs)