xp-framework / rfc

One of the major deficiencies in the development of many projects is that there is no roadmap or strategy available other than in the developers' heads. The XP team publishes its decisions by documenting change requests in form of RFCs.
2 stars 1 forks source link

Packages cleanup #84

Closed thekid closed 12 years ago

thekid commented 12 years ago

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.

2) 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

thekid commented 12 years ago

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, Sun, 22 Oct 2006 16:59:23 +0200

thekid commented 12 years ago

The creation of a top-level webservices package will be included in this RFC after all.

friebe, Thu, 16 Nov 2006 10:36:44 +0100

thekid commented 12 years ago

As soon as an upgrade advisor and a migration script are available, I'll set this to discussion.

friebe, Thu, 16 Nov 2006 11:07:35 +0100

thekid commented 12 years ago

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.

friebe, Fri, 17 Nov 2006 11:05:37 +0100