Re: Namespacing issues ...



Michael Meeks <michael helixcode com> writes:

> 	I have been recently looking into the issues of namespacing.
> Clearly it is not really possible for Gnome to play a serious part in
> the wider OMG / CORBA community, particulary in partnership with large
> companies, without getting a sensible set of Namespacing guidelines.
> 
> 	Now; in order to save Gnome people as much pain as possible,
> Miguel and I have agreed on the following strategy:

Hi Michael,

this sounds like a really good idea - however, I have some comments:

1.) The registration authority

    First of all, I think we need to "control" the GNOME/ and Bonobo/
    namespaces a bit. I mean, we should have some kind of registration
    authority for it.

    This means that we'll have some database or something which maps all
    names in the 2nd-level GNOME/ namespace to the application/project/author.

    For instance, if someone develops a cool nice GNOME application and wants
    to use GNOME::HisAppName in his IDL, he registers this with this
    registration authority and then "ownes" the `GNOME::HisAppName' name.

    This should make sure we don't get any clashes within the GNOME/ namespace
    when we start getting a lot of third-party applications.

2.) The OAFIID and .oafinfo issue

    Currently we have "OAFIID:eog_image_viewer:..." - I think we should also
    change all of them to something like "OAFIID:GNOME:EOG_image_viewer" so
    that all OAFIID's contain `GNOME:' and the application name `EOG_'.

    Same applies for the file/directory names of the .oafinfo files.

    Things like "OAFIID:control:html-editor:..." are just must-nots, same
    for filenames like $(prefix)/share/oaf/audio-ulaw.oafinfo.

    I think ideally, we should install all .oafinfo files in
    $(prefix)/share/oaf/gnome/.

> 	We register two toplevel domains with the OMG ( if at all
> possible ) NB. Toplevel domains are a valuable commodity. These are:
> 
> 	GNOME/		and
> 	Bonobo/

Great !

> 	Bonobo/ is reserved for the component model and various
> standard Gnome component services. Everything else goes in GNOME/
> 
> 	Hence we have:
> 
> 	GNOME/
> 		Evolution/
> 		Nautilus/
> 		Eog/
> 		GnomeDB/
> 		GDA/
> 
> 	or whatever.
> 
> 	Whilst a lot of IDL already obeys this conventions; there
> are unfortunately a number of things that will need changing, the
> sooner the better really. A pernicious drop off eg. is in gnome-core
> the help_browser interface seems to have been added just outside the
> GNOME module that the rest of the interfaces are ( correctly ) in.
> 
> 	Similarly, it would be good to move gnome-lib's desktop
> interfaces into GNOME/Desktop.
> 
> 	So; Please can people make a start at sorting these problems;
> mostly they can be done by simple perl scripts of the form:
> 
> #!/usr/bin/perl -pi.bak
> 
>     s/Eog_/GNOME_Eog_/g;
>     s/Eog\//GNOME\/Eog\//g;
> 
> ( clearly with adding a few extra module GNOME {} 's to some IDL )

I'll do this with Eog this afternoon.

> 	As if this mail was not controversial enough; might I suggest
> that if you are running such a script over your IDL, that it might
> be a good time to migrate to the new API naming convention as outlined
> in bonobo/doc/FAQ.

I don't want to start another flameware here, but this looks like you
now want to get studlyCapsification everywhere in GNOME through the
backdoor ..... ?

-- 
Martin Baulig
martin gnome org (private)
baulig suse de (work)




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