Packages cleanup

  Status: implemented,  Mon Nov 20 21:29:49 CET 2006
  • Created: 2006-10-22 13:40:39+0200
  • Categories: <core>
  • Author: friebe
  • Contributors: kiesel

Scope of Change

The domain-specific packages in the XP framework will be moved from the skeleton/ directory to ports/classes/. The domain-specific org.json- package and all other webservice-related packages will be joined into one new package, webservices; unittests will become top-level, deprecated packages will be removed and other (should-be domain-specific) packages will be renamed and moved to ports/classes/.


Rationale

Clean up the core distribution; make it consistent.

Functionality

Quite a bit of reorganizing will be done, not limited to moving the domain- specific packages but rethinking what will be core and what will be moved.

  1. The following packages will have incompatible changes:

Current name            New name           Action
----------------------- ------------------ -----------------------------
gui.gtk                 org.gnome          M

org.json                webservices.json   S

xml.xmlrpc              webservices.xmlrpc S
xml.soap                webservices.soap   S
xml.wddx                webservices.wddx   S
xml.uddi                webservices.uddi   S
xml.xp                  (n/a)              R

io.cca                  (n/a)              R

util.profiling.unittest unittest           S
util.archive            org.gnu.tar        M
util.adt                (n/a)              R
util.registry           (n/a)              R
util.mp3                de.fraunhofer.mp3  M

peer.ajp                org.apache.ajp     M
peer.cvsclient          org.cvshome        M (joined w/ existing)

text.apidoc             (n/a)              R
text.translator         net.schweikhardt   M

net.planet-xp           (n/a)              R

Legend: S: stays in skeleton but gets a new name there M: moved to ports/classes under a new name R: removed completely

In all cases, XAR files retaining the old classes will be created.

  1. The following packages will be moved as-is to ports/classes
ch ~~

* ch.ecma
  STLI telephony

com

* com.capeconnect
  GlobalWeather webservices

* com.flickr  
  FlickR api

* com.google  
  Google search webservices

* com.microsoft  
  Windows Scripting / COM automation / Registry

* com.simpy
  Simpy API

* com.sun
  Java Webstart

* com.xmlrpc
  MetaWeblogApi

net

* net.xmethods
  Babelfish webservices
  
* net.xp_framework
  XP framework website / Unit tests / Interop Webservices

org

* org.bugzilla
  Bugzilla email gateway / O/R mapping classes / constants

* org.cvshome
  CVS binary wrappers

* org.dia
  Gnome Dia classes

* org.dict
  Dict protocol implementation

* org.fpdf
  PDF creation

* org.gnu
  Gettext / readline classes

* org.htdig
  ht://dig search client

* org.ietf
  PunyCode / UUID

* org.imc
  VCal implementation

* org.isbn
  ISBN support

* org.nagios
  NSCA client / O/R mapping classes

* org.tigris
  Subversion binary wrappers

* org.webdav
  WebDAV client and server

us ~~

* us.icio
  del.icio.us client

After the changes are applied, the packages will be distributed as follows:

skeleton

  Package       Contents
  ------------- ----------------------------------------------------------
  gui           (no subpackages)
  img           convert, chart, graph, shapes, io, fonts, util, filter
  io            dba, cca, sys, collections
  lang          reflect, types, archive
  peer          http, ldap, mail, ftp, server, webdav, sieve, news, irc
  rdbms         pgsql, sybase, sqlite, mysql, util, criterion
  remote        protocol, reflect, beans
  sapi          soap, compat, gui, xmlrpc, scriptlet
  scriptlet     xml, rpc
  security      crypto, auth, sasl, checksum, cert
  text          format, doclet, parser, util, encode
  unittest      gui, coverage
  util          semaphore, profiling, cmd, telephony, log, io, collections
  webservices   soap, xmlrpc, wddx, json, uddi
  xml           dom, uddi, xp, parser, soap, xmlrpc, wddx, rdf, meta

ports/classes

  Package       Contents
  ------------- ----------------------------------------------------------
  ch            ecma
  com           simpy, capeconnect, sun, microsoft, xmlrpc, google, flickr
  de            document-root, uska, thekid, fraunhofer, schweikhardt
  name          kiesel 
  net           xp_framework, xmethods
  org           fpdf, htdig, nagios, tigris, dict, cvshome, ietf, webdav, imc, 
                gnu, bugzilla, isbn, json, dia, gnome
  us            icio 



Security considerations

n/a

Speed impact

n/a

Dependencies

Users of the packages moved to ports/classes will need to add the /path/to/xp/trunk/ports/classes/ directory to their include path.

Users of packages moved within skeleton can either change their source- code (a migration script will be provided) or use of the BC xars which retain the old class names, adding them to their include path.

Related documents

- http://xp-framework.net/rfc/contrib/rfc0084/manifests/ Manifests for XAR files

- http://xp-framework.net/downloads/rfc0084/ BC XARs

Comments

- friebe, Sun Oct 22 16:59:23 2006 The JSON API should probably stay part of the core distribution. I'd suggest to create a new top-level "webservices" package and stuff it there; but this should be a new RFC.

- friebe, Thu Nov 16 10:36:44 2006 The creation of a top-level webservices package will be included in this RFC after all.

- friebe, Thu Nov 16 11:07:35 2006 As soon as an upgrade advisor and a migration script are available, I'll set this to discussion.

- friebe, Fri Nov 17 11:05:37 CET 2006 contrib/rfc0084/migrate contains reporting and migration scripts. See http://xp-framework.info/xml/xp.en_US/news/view?131 on how to use them. <EOF>


Table of contents