App porting document



Presently I am in the process of writing a medium length document about
porting applications from the GNOME 1 framework to GNOME 2. In the lists
below I've indicated which parts I am able to do myself based on
currently available information or my own knowledge and which bits I am
going to need help for.

The intended audience of the document I am writing is somebody who has a
functional GNOME 1 application that they wish to port to GNOME 2. So I
am assuming some existing familiarity with the GNOME 1 libraries and
with the mechanics of application writing, etc. I am just trying to lay
out in sufficient detail the list of items you would have to run over to
make your application work in the brave new world and any traps to watch
out for (based on conversations on IRC or problems I've hit myself).

If you are a maintainer of a platform package, please have a look at the
following status list ...

1. Mostly done or under control:
	- build infrastructure (includes pkg-config)
	- docs
	- glib/gtk+
	- libgnome/libgnomeui
	- libxml2
	- gconf

2. I have some clues but might need more help in a couple of days:

	- pango

3. I need a short list of major changes from 1.x to 2.x:
	- libglade

4. I have no (or very little) clue and need more complete notes:
	- libbonobo/libbonoboui
	- libgnomecanvas
	- libgnomeprint/libgnomeprintui
	- xml-i18n-tools/intltool
	- libart_lgpl
	- gnome-vfs

5. Missing for good reason:
	- ORBit2
	- accessibility modules (atk, gail, at-spi)

If your package is in section 1, there is nothing to do presently. I
will shortly have a draft of those sections available and will make it
available somehow and ask for feedback. At that time, I'd appreciate you
looking carefully at the applicable parts and ripping it to pieces, then
helpig me put it back together again.

If you are a pango person and in section 2, I _think_ I have it under
control, but I haven't actually started writing that bit yet. So when I
get to it, I may have to post "please help" email to somebody. For now,
pretend you are in section 1.

If you are James Henstridge and therefore in section 3, please send
me a short note describing what parts of the API have changed. It
doesn't have to be very long, since I know what the library does. I just
am not familiar enough with it to work out the differences.

If you are in section 4, then I really need your help. I have no
experience with most of the libraries in that section. Or, in cases like
libbonobo and friends, I didn't play with OAF enough as a child to know
what is involved in moving to a Bonobo future. Please write a page or
two on what is required for somebody to move to the latest version of
your library.

The type of things I am talking about are things like
	- All the foo_whizzo functions should now use the foo_kazzam
	  equivalents.
	- Everything should now be wrapped up in a Foo structure.
	- Functionality XYZ is no longer part of this library. Instead,
	  use ABC from this other library to achieve the same effect.
	- Initialisation has changed and is now done by .... (whatever).

This doesn't have to be too involved. An example of what I have in mind
are Daniel Veillard's libxml to libxml2 porting notes at
http://www.xmlsoft.org/upgrade.html (in fact, the section on porting to
libxml2 just points to those notes). Sending me plain text is fine --
I'm happy to do the markup. But sending nothing will make for a very
short chapter.

Oh, yeah and did I mention that _soon_ would be a good time to send me
those notes? Probably not. Ah well ... I am trying to get this out in
some sort of usable fashion within a couple of weeks. That includes a
round or two of comments from people who know stuff. So please don't
just put this off until until the Christmas break.

Finally, section 5: Do we need something on porting from ORBit to
ORBit2? For the most part, I think that people wanting to write "true"
GNOME applications that use components will be encourages to use Bonobo,
rather than work at the CORBA level. If I'm wrong about this, then
ORBit2 goes straight into section 4.

As far as the accessibility stuff goes, Bill Haneman and I have already
talked about what might be needed there, so I've just included it so
that nobody thinks I've forgotten it.

Cheers,
Malcolm

-- 
On the other hand, you have different fingers.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]