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

Separate contrib & framework versions #210

Closed thekid closed 11 years ago

thekid commented 13 years ago

Scope of Change

The classes in xp.contrib should have their own, independent versioning. Currently, all former "ports" classes are released together with the framework with the same version, see: http://xp-framework.net/downloads/releases/5.8.4RC1/lib/

Rationale

Especially for experimental packages this leads to blockers in development of the package and might even force framework releases where none are planned.

Functionality

A module.xp will be added to each library in xp.contrib and will include the module name, version and dependencies. The version number and ChangeLog will be determined from the library's SVN and git commit history.

ecma

<?php
 /**
  * Telephony classes
  *
  * @see http://www.ilink.de/home/de/cti/products/TeamCallServer
  */
  module ecma(2.1.2) requires core(5.9.0*) {
  }
?>

Note: This sould be named "teamcall-stli" or something not after the ECMA standards it's related to (ECMA is a big standards organization far better known for their ECMAScript - this would be like naming something "DIN" or "ISO").

opensearch

<?php
 /**
  * XML Wrapper types for OpenSearch
  *
  * @see http://www.opensearch.org/Specifications/OpenSearch/1.1
  */
  module opensearch(1.0.1) requires core(5.9.0*) {
  }
?>

flickr

<?php
 /**
  * FlickR client
  *
  * @see http://www.flickr.com/services/api
  */
  module flickr(2.0.2) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

google

<?php
 /**
  * Google search client
  *
  * @see http://www.google.com/cse/docs/resultsxml.html
  */
  module google(3.1.2) requires core(5.9.0*) {
  }
?>

Note: This should be named google-search, there's more Google APIs out there!

microsoft

<?php
 /**
  * COM Client
  *
  * @see http://www.microsoft.com/Com/resources/comdocs.asp
  */
  module microsoft(2.3.0) requires core(5.9.0*) {
  }
?>

Note: This should be renamed to ms-com

simpy

<?php
 /**
  * Simpy Client
  *
  * @see http://www.simpy.com/simpy/service/api/rest
  */
  module simpy(2.0.1) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

java-webstart

<?php
 /**
  * Java Webstart
  *
  * @see http://lopica.sourceforge.net/ref.html
  */
  module java-webstart(2.0.1) requires core(5.9.0*) {
  }
?>

xmlrpc

<?php
 /**
  * MetaWeblog API
  *
  * @see http://www.xmlrpc.com/metaWeblogApi
  */
  module xmlrpc(2.0.1) requires core(5.9.0*) {
  }
?>

Note: This should be named metaweblog-api. Also, this library is unmaintained and should most probably be deprecated

mp3

<?php
 /**
  * MP3 ID-Tags
  *
  * @see http://www.rit.edu/~jlh0956/projects/jd3lib
  */
  module mp3(2.0.1) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

swabian

<?php
 /**
  * Swabian translator
  *
  * @see http://www.schweikhardt.net/schwob
  */
  module swabian(2.0.1) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

ajp

<?php
 /**
  * AJP
  *
  * @see http://jakarta.apache.org/tomcat/tomcat-3.2-doc/AJPv13.html
  */
  module swabian(0.0.3) requires core(5.9.0*) {
  }
?>

Note: This library is experimental and should most probably be removed

bugzilla

<?php
 /**
  * Bugzilla database classes and email gateway
  *
  * @see http://bugzilla.org/
  */
  module bugzilla(2.1.0) requires core(5.9.0*) {
  }
?>

db-bugzilla

<?php
 /**
  * Bugzilla database classes
  *
  * @see http://bugzilla.org/
  */
  module db-bugzilla(2.0.2) requires core(5.9.0*) {
  }
?>

stomp

<?php
 /**
  * STOMP Protocol
  *
  * @see http://stomp.codehaus.org/Protocol
  */
  module stomp(1.2.1) requires core(5.9.0*) {
  }
?>

cvs

<?php
 /**
  * CVS client
  *
  * @see http://www.cvshome.org
  */
  module cvs(3.0.2) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

cyrus

<?php
  /**
   * Cyrus admin connection class. Used to perform
   * administrative tasks on a Cyrus IMAP server.
   *
   * @see      http://cyrusimap.web.cmu.edu/imapd/specs.html
   */
  module cyrus(1.0.2) requires core(5.9.0*) {
  }
?>

Note: This should be named cyrus-admin

dia

<?php
  /**
   * DIA UML modelling classes
   *
   */
  module dia(2.0.4) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

dict

<?php
  /**
   * DICT client
   *
   */
  module dict(2.0.3) requires core(5.9.0*) {
  }
?>

fpdf

<?php
  /**
   * PDF writer library
   *
   * @see   http://fpdf.org/
   */
  module dict(3.1.2) requires core(5.9.0*) {
  }
?>

gnome

<?php
  /**
   * Gnome UI library
   *
   * @see   http://gnome.org/
   */
  module dict(3.1.3) requires core(5.9.0*) {
  }
?>

readline

<?php
  /**
   * Readline
   *
   * @ext readline
   */
  module readline(2.1.0) requires core(5.9.0*) {
  }
?>

htdig

<?php
  /**
   * HT://dig search
   *
   */
  module htdig(2.0.2) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

ietf

<?php
  /**
   * Punycode and UUID support
   *
   */
  module ietf(3.0.3) requires core(5.9.0*) {
  }
?>

Note: This library consists of two unrelated APIs and should most probably be splitted

imc

<?php
  /**
   * VCard, VCalendar
   *
   * @see   http://www.imc.org/pdi
   */
  module imc(3.0.6) requires core(5.9.0*) {
  }
?>

Note: This library should be renamed to vformat or something

isbn

<?php
  /**
   * ISBN numbers
   *
   */
  module isbn(2.0.1) requires core(5.9.0*) {
  }
?>

nsca

<?php
  /**
   * NSCA client
   *
   * @see  http://nagios.org/
   */
  module nsca(2.1.7) requires core(5.9.0*) {
  }
?>

db-nagios

<?php
  /**
   * Nagios database classes
   *
   * @see  http://nagios.org/
   */
  module db-nagios(2.0.0) requires core(5.9.0*) {
  }
?>

subversion

<?php
  /**
   * NSCA client and nagios database classes
   *
   * @see  http://subversion.tigris.org/
   */
  module subversion(2.1.4) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

webdav

<?php
  /**
   * Webdav scriptlets
   *
   */
  module webdav(4.1.3) requires core(5.9.0*) {
  }
?>

delicious

<?php
  /**
   * Delicious client
   *
   */
  module webdav(2.0.2) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and should most probably be deprecated

dba

<?php
  /**
   * Berkeley DB
   *
   */
  module dba(2.1.1) requires core(5.9.0*) {
  }
?>

Note: This library is unmaintained and has been deprecated since almost two years and should most probably be removed

tar

<?php
  /**
   * TAR Archives
   *
   */
  module tar(0.0.4) requires core(5.9.0*) {
  }
?>

Note: This library is experimental and should most probably be removed

gettext

<?php
  /**
   * GetText wrapper
   *
   */
  module gettext(0.0.4) requires core(5.9.0*) {
  }
?>

Note: This library is experimental and should most probably be removed

hudson-api

<?php
  /**
   * Hudson / Jenkins Client API
   *
   */
  module hudson-api(1.1.2) requires core(5.9.0*) {
  }
?>

Security considerations

n/a

Speed impact

n/a

Dependencies

This should be addressed in a major XP framework version as it means breaking BC.

Related documents

Depends on RFC #204 : Module versions and RFC #220 : Modules - Classpath meta information & initializers

thekid commented 12 years ago

Created an xp5_9 branch in the xp.contrib repository - https://github.com/xp-framework/xp-contrib/branches/xp5_9