Skip to content

Releases: ctron/package-drone

package-drone-0.5.0

23 Mar 16:26
Compare
Choose a tag to compare

New features

Add an aspect upgrade process, #52

Channel aspects now have a version. And the system can detect when this version changes (compared to the last applied aspect version on the channel). If the channel is older than the most recent channel aspect, the system will ask you to upgrade and provide a way to do so.

The UI (the number of tasks) is still a bit rough, but allows for manual processing on each update, or a complete update of the full system in the background.

Support for PostgreSQL, #53 #59

Thanks to support from @CptMauli there is now support for PostgreSQL. So when setting up a database you will now have the choice between MySQL/MariaDB and PostgreSQL.

Also see "Known limitations" below

Backup and restore of channel data

It is possible to backup the channel data. Including aspects, provided metadata and the artifacts with their BLOBs. Either on a "per-channel" basis or a full system backup.

Please note: the user database and deployment keys cannot be backed up this way.

Changes

  • The open tasks view now shows panels instead of a table
  • There is a default job visualization now
  • upgrade to EclipseLink 2.6.0
  • blobs are now processed by default using stream accessors instead of blob instances with streaming
  • the create.sql now contains pre-processor statements for different databases

Improvements and bug fixes

  • #55 set package drone specific user header for aether
  • #57 feature does not show same bundle with different versions
  • #51 Add support for sending e-mail over TLS
  • #58 validate OSGi versions in feature generator

Known bugs and issues

Both MySQL and PostgreSQL suffer from a problem with streaming BLOBs. Although the JDBC API allows to stream large data BLOBs, instead of processing these in one block, both MySQL and PostgreSQL ignore this API and process BLOBs as a single memory block. Even when the streaming API is used.

PostgreSQL is a bit better when it comes to streaming since if handling insertions correct. But when reading a BLOB the server side will automatically push the BLOB on the socket which the client has to read into memory.

This problem will be addressed in the next Package Drone version by adding a file system storage layer for BLOBs.

Screenshots

pd050_001
pd050_002
pd050_003

package-drone-0.5.0-rc1

20 Mar 15:56
Compare
Choose a tag to compare
Pre-release

This is a release candidate towards the 0.5.0 release

New features

  • Add an aspect upgrade process, #52
  • Support for PostgreSQL, #53 #59
  • Backup and restore of channel data

Changes

  • The open tasks view now shows panels instead of a table
  • There is a default job visualization now
  • upgrade to EclipseLink 2.6.0
  • blobs are now processes by default using stream accessors instead of blob instances with streaming
  • the create.sql now contains pre-processor statements for different databases

Improvements and bug fixes

  • #55 set package drone specific user header for aether
  • #57 feature does not show same bundle with different versions
  • #51 Add support for sending e-mail over TLS
  • #58 validate OSGi versions in feature generator

package-drone-0.4.0

13 Mar 14:26
Compare
Choose a tag to compare

New features

Unzipping of zipped P2 repositories

It is now possible to add the "P2Unzipper" aspect to a channel, which will extract plugins and features from a zipped P2 repository. Categories are not extracted and binaries additions are skipped as well. This will change in the future.

Building up categories based on category.xml

Uploading an Eclipse category.xml file using the P2 Category Generator now allows one to re-use these categories files and let Package Drone build up P2 categories as defined in the file, using the Eclipse PDE toolchain.

Collapsible tree view

The tree view has been enhanced to allow expanding/collapsing of child element, and also show some information about the type of an artifact (classifier).

Channel aspect dependencies

Channel aspects now can declare which other aspects they require. These can be added in one step to the channel. This should help everyone not reading the text (like myself 😉 ) to not forget adding required aspects. Also can the description now contain HTML text.

Binary channel level cache

There is a persistent cache feature on the channel level. This can be used by channel aggregators to store output for later use. For example the P2 repository aspect creates the full meta data information during the aggregation run, stores it in the cache so that the P2 adapter later can re-use this information for serving the P2 repository and does not need to build up the channel view again. This bring a great improvement of the loading speeds for the P2 adapter.

The reason that this information was not stored as artifact itself simply is that this would change the channel again, so one aggregation run would trigger the next one. Also can cache entries be referenced by ID and therefore loaded much quicker.

Changes

  • The default view for artifacts is the tree view now
  • All aspects create a classifier information now. This will only be visible if the channel aspects get refreshed at least once.

Improvements and fixed issues

  • There were a few locations where the active flag of UI elements was not rendered correctly
  • The loading of artifact information with meta data has been improved
  • There is a "classifier" column in the tree view which show which type of artifacts this is
  • Byte sizes are now also reported as KiB, MiB and GiB
  • The job view now has a progress meter

Known bugs and issues

Although Package Drone uses streaming API to send data over to the database, MySQL seems to simply implement the JDBC streaming API by allocating huge memory arrays. This can result in a OutOfMemory exceptions. Although this is not an issue of Package Drone, but the MySQL JDBC driver, it is a problem since MySQL currently is the only supported database. Hopefully this will change in the future (@CptMauli).

So for know, the solution is to increase the amount of memory assigned to Package Drone (using good old -Xmx).

Screenshots

pd040_001
pd040_002
pd040_003
pd040_004
pd040_005
pd040_006

package-drone-0.3.0

10 Mar 10:10
Compare
Choose a tag to compare

New features

Maven locator for unzip adapter

The unzip adapter got a new locator which allows to search for latest artifact, version prefix and perfect version match. Also see the documentation: http://doc.packagedrone.org/book/unzip_adapter.xhtml#ra_unzip_maven

This allows one to upload full P2 zipped repositories and construct URLs like:

http://localhost:8080/unzip/maven/prefixed/<channel>/group.id/artifact.id/1.x
http://localhost:8080/unzip/maven/perfect/<channel>/group.id/artifact.id/1.1.2
http://localhost:8080/unzip/maven/latest/<channel>/group.id/artifact.id

Which directly works in other P2 tools.

Improvements and fixed issues

  • There were two bugs in the mail sender configuration, thanks @tvvocold
  • There was a bug using the HTTP Importer

package-drone-0.3.0-rc2

09 Mar 12:24
Compare
Choose a tag to compare
Pre-release

This is RC2 of Package Drone 0.3.0

New features

Added a maven locator to the unzip adapter

The Unzip adapter got a "maven" locator which allows searching for a few maven specific rules.

Fixed issues

  • Fixed an issue setting the username of the mail server settings

Testing using OpenShift

This pre-release can be tested using the OpenShift "next" branch of the Package Drone OpenShift cartridge: https://github.com/ctron/package-drone-openshift#using-next

package-drone-0.2.5

09 Mar 10:07
Compare
Choose a tag to compare

Another small bug fix release

  • Fix a null pointer exception in the maven adapter
  • Fix the menu bar active setting
  • Allow finding only ZIP files in the unzip adapter (method "newestZip")
  • Allow providing the default site prefix

package-drone-0.2.4

05 Mar 13:46
Compare
Choose a tag to compare

This release only provides minor fixes and improvements for deploying on OpenShift.

  • Fix the handling of the external admin token (was broken in 0.2.3)
  • Allow triggering the schema creation while provisioning
  • Adapt the database schema to be compatible with the MySQL configuration on OpenShift
  • Add a note about the admin token when a user wants to log in and no user base is present

Also see the following links for information on the OpenShift integration:

package-drone-0.2.3

03 Mar 18:48
Compare
Choose a tag to compare

New features

Export & import configuration

It is now possible to export and re-import the system configuration (database link and mail service). Also can the configuration be imported (also during initial setup) so that an easier bootstrapping of the system is possible.

Also is there a provisioning URL, which can be used from the command line using e.g. wget to import the configuration:

wget --http-user=admin --http-password=<admin-token> --post-file configurations.xml http://localhost:8080/system/backup/provision

See the wiki for an explanation on the configurations.xml file.

External admin token

Use the system property package.drone.admin.token or the environment variable PACKAGE_DRONE_ADMIN_TOKEN it is now possible to provide the admin token, from outside package drone. Still there will also be the generated one. Both work at the same time.

Changes

  • The default action for creating a channel now uses a form to ask for an initial channel alias

Fixed issues and improvements

  • Pages were not reporting the content type which was present in the JSP
  • A channel can be created with an initial alias
  • Clean up the deploy keys view
  • Upgrade selenium to 2.45 in order to be able to use firefox 36

Screenshots

pd023_001

package-drone-0.2.2

27 Feb 13:31
Compare
Choose a tag to compare

New features

Unzip adapter

The idea of "deep linking" into an artifact is not new. And so the unzip adapter was added. It can be used in various scenarios (also see the next section).

When it comes to P2 and Maven Tycho, it can also be used like the Nexus Unzip Plugin. It is now possible to upload a full P2 repository ZIP and access it directly using:

http://myserver/unzip/artifact/<artifactId>/path/to/file

Or, you simple want the newest file in a channel (instead of directly referencing to an artifact by id):

http://myserver/unzip/newestByName/<channelIdOrName>/<name>/path/to/file

Putting this URL directly into you Eclipse P2 dialog allows you to install directly from the uploaded P2 zip.

The unzip adapter is always enabled and does not need any configuration.

Deep linking of URLs

Thanks to the unzip adapter it is also possible now to directly link to embedded license files (like about.html) in Eclipse features.

Javadoc generation

The build was also enhanced to generate Java doc. However, due to some issues when using the maven javadoc plugin and java 8, this is currently done manually using an simple ant task.

Nevertheless the documentation is online at: http://doc.packagedrone.org/javadoc

Fixed issues and improvements

  • Possibly dangerous operations (like deleting a channel) will now ask for confirmation
  • Several minor UI cleanups
  • Fix regeneration buttons in channel aspects view
  • Handle more complex Bundle-License values

Screenshots

pd022_001

package-drone-0.2.1

25 Feb 14:46
Compare
Choose a tag to compare

This is mostly a bug fix release for 0.2.0.

Fixed issues and improvements

  • Added a maintenance task when the mail service is not found
  • Upgrade Jetty to 9.2.9, see also https://bugs.eclipse.org/bugs/show_bug.cgi?id=460642
  • Use Version class for extracting versions from bundles and features. Fixes a bug where a short version string did not match the actual version.
  • Allow deleting deploy groups
  • Replace the suffix “.qualifier” with the current time stamp when creating features
  • Fix a bug where the user roles could be visible multiple times
  • Added the two OSGi console commands allConfigs and listConfigs <filter>

Known bugs and limitations

Upgrade issue

During the upgrade of package drone it could happen that it is no longer possible to configure the system since the system thinks it already is configured. But the OSGi configuration manager does not bind the configurations to the services.

If started from the command line, the OSGi console and the command allConfigs can be used to check for this. If the output is as follows, and the location string of package.drone.database is empty then you ran into this issue.

osgi> allConfigs
Factory           PID                                   Changes  Location                                                            
=====================================================================================================================================
                  de.dentrassi.pm.mail.service.default  1                                                                            
                  package.drone.database                1                                                                            
gemini.jpa.punit  gemini.jpa.punit-1424778489137-6      1        initial@reference:file:plugins/org.eclipse.gemini.jpa_1.2.0.M1.jar  
gemini.jpa.punit  gemini.jpa.punit-1424778489143-7      1        initial@reference:file:plugins/org.eclipse.gemini.jpa_1.2.0.M1.jar  
gemini.jpa.punit  gemini.jpa.punit-1424778489154-8      1        initial@reference:file:plugins/org.eclipse.gemini.jpa_1.2.0.M1.jar  

In order to solve this issue you have to re-configure the system. Clear the whole configuration by starting the server with ./server -clean (when installed via DEB or RPM the full command is /usr/lib/package-drone-server/instance/server -clean).

This will reset the configuration and you can re-configure package drone.

Tests