ingo@259: 2011-05-13 RELEASE 1.2 ingo@259: ingo@259: NEW: ingo@259: ingo@259: * Introduced "facets" as a new concept to select only parts/concrete ingo@259: types of an Artifact's output. E.g. a computation might return data ingo@259: that is used to draw two curves into a chart. With a "facet", just a ingo@259: single curve might be selected to be drawn into the chart. ingo@259: ingo@259: * New REST interfaces to set/get attributes of an ArtifactCollection. ingo@259: ingo@259: * Artifacts that live in ArtifactCollections don't die (because of their ingo@259: last_access time). A database trigger is used to update their ingo@259: last_access time if their owner ArtifactCollection is updated. ingo@259: ingo@259: * DatabaseCleaner removes outdated ArtifactCollections. ingo@259: ingo@259: * XML documents stored aside users, collections and collection items are ingo@259: compressed to reduce i/o costs. ingo@259: ingo@259: * Introduced a listener mechanism that is called if a context is ingo@259: created/closed. This listener might be implemented in concrete ingo@259: artifact packages. ingo@259: ingo@259: * Improvements in the ClientProtocolUtils: new functions to create ingo@259: special xml documents ingo@259: ingo@259: ingo@259: FIXED: ingo@259: ingo@259: * flys/issue8 (Cleanup des DatabaseCleaner schlägt fehl) ingo@259: ingo@259: * flys/issue9 (Fehler beim Laden von Artefakten - NO SUCH ARTIFACT obwohl Artefakt in DB vorhanden) ingo@259: ingo@259: ingo@259: 2011-03-30 RELEASE 1.1 ingo@259: ingo@96: 2010-04-28 RELEASE 1.0 ingo@96: ingo@96: New: ingo@96: ingo@96: * The path to database in the configuration can be relative to the ingo@96: central configuration document using ${artifacts.config.dir} as ingo@96: root. ingo@96: ingo@96: * New interfaces to export and import artifacts: ingo@96: ingo@96: HTTP GET '/export/{uuid}' returns an xml document representing ingo@96: the state of an artifact ingo@96: HTTP POST '/import' takes an xml document that have ingo@96: been created by /export before ingo@96: ingo@96: The export mechanism uses a secret configured in the configuration ingo@96: to sign export documents. An artifact import fails if the ingo@96: signature of the xml document is not valid. ingo@96: ingo@96: * The time to live of an artifact is queriable at the CallContext ingo@96: object. ingo@96: ingo@96: ingo@96: Added: ingo@96: ingo@96: * JavaDoc documentation ingo@96: ingo@96: ingo@96: ingo@96: 2010-03-08 RELEASE 0.5 ingo@96: ingo@96: hans@74: 2010-01-27 RELEASE 0.4 hans@74: hans@74: New: hans@74: hans@74: * Extended XML helper utilities a bit more hans@74: * Added a new interface describing services hans@74: via XML documents via /services hans@74: hans@74: sascha@63: 2009-12-17 RELEASE 0.3 sascha@63: sascha@63: New: sascha@63: sascha@63: * Extended XML helper utilities a bit sascha@63: * Added a new general proxy artifact. sascha@63: sascha@63: FIXED: sascha@63: sascha@63: * issue106: Konfiguration der GNV-Chart-Templates gehört nicht in das Artefakt-Framework sascha@63: hans@57: 2009-11-13 RELEASE 0.2 hans@57: hans@57: New: hans@57: hans@57: * Configuration documents can be made relativ to hans@57: ${artifacts.config.dir} hans@74: hans@57: * Splitting up configuration of artifacts in depence to the hans@57: product. hans@57: hans@57: * Added a first HOWTO for setting up the environemt and the hans@57: artifact server hans@57: sascha@53: 2009-10-07 RELEASE 0.1 sascha@53: sascha@53: New: sascha@53: sascha@53: * Two sub projects: 'artifacts' and 'artifact-database' sascha@53: sascha@53: - 'artifacts' is a set of generic interfaces modelling sascha@53: the workflow to parameterize a process and producing sascha@53: outputs. sascha@53: sascha@53: An artifact is created via factories. It describes sascha@53: itself via 'describe', it is parameterized via sascha@53: 'feed' and brought to new states with 'advance'. sascha@53: Once able to produce output 'out' returns the sascha@53: requested product. sascha@53: sascha@53: - 'artifact-database' is the default implemention sascha@53: of the workflow described with 'artifact'. sascha@53: sascha@53: * artifact-database persists artifacts with a H2-database sascha@53: [http://www.h2database.com] (default) or a sascha@53: PostgeSQL 8.3+ database [http://www.postgresql.org/] (optional) sascha@53: sascha@53: * artifacts may spawn background threads to copy with long running sascha@53: processes. After finishing work they are able to re-synchronize sascha@53: themselves to the artifact database. sascha@53: sascha@53: * artifact-database is accessible via an HTTP REST server sascha@53: implemented on top of the Restlet API http://www.restlet.org/ sascha@53: It has to be started as a service. Default TCP port: 8181 sascha@53: sascha@53: HTTP GET '/factories' returns list of available factories. sascha@53: HTTP GET '/create' creates new artifact. sascha@53: HTTP GET '/artifact/{uuid}' returns a description of an artifact. sascha@53: HTTP POST '/artifact/{uuid}' modifies an artifact ('feed', 'advance') sascha@53: HTTP POST '/artifact/{uuid}/{out}' delivers output for an artifact. sascha@53: sascha@53: * artifact-database is configured with as XML file named conf.xml sascha@53: (default placement in directory $HOME/.artitactdb, directory sascha@53: may be changed with system property "artifact.database.dir")