NIH | National Cancer Institute | NCI Wiki  

Plugins.repository

The Protege client references a file called "plugins.repository" to determine which plugins should be installed on the client.  The default location for the plugins.repository for the production client is at https://raw.githubusercontent.com/ncievs/autoupdate/master/plugins.repository. This repository points to the location of the individual plugin configuration files.

Example plugins.repository:

// ***** CURRENT PLUG-INS (alphabetical ordering) *****

// NCI Edit Tab
https://raw.githubusercontent.com/ncievs/nci-edit-tab/master/src/main/resources/prod/update.properties

// NCI Search Tab
https://raw.githubusercontent.com/ncievs/lucene-search-tab/master/src/main/resources/prod/update.properties

.....

There are currently 7 plugin projects referenced by the plugins.repository

NCI Edit Tab: https://github.com/ncievs/nci-edit-tab

NCI Search Tab: https://github.com//ncievs/lucene-search-tab

Metaproject Admin: https://github.com//ncievs/metaproject-admin

Revision History: https://github.com//ncievs/revision-history

SPARQL Query: https://github.com//ncievs/sparql-query-plugin

EVS History: https://github.com//ncievs/evs-history

Curator: https://github.com//ncievs/nci-curator

Update.properties

The individual update.properties files will contain information about each plugin including, name, version and jar location.

Example from the NCI Edit Tab update.properties:

id=nci-edit-tab
version=1.3.4
download=https://github.com/ncievs/nci-edit-tab/releases/download/nci-edit-tab-1.3.4/nci-edit-tab-1.3.4-SNAPSHOT.jar
name=NCI Edit Tab
readme=https://raw.githubusercontent.com/ncievs/nci-edit-tab/master/src/main/resources/readme.html
license=https://raw.githubusercontent.com/ncievs/nci-edit-tab/master/LICENSE
author=Bob Dionne


Each individual plugin has this update.properties structure.  It is intended to allow use and testing of plugins on different tiers without cross-interference.

/src/main/resources/update.properties

/src/main/resources/dev-qa/update.properties

/src/main/resources/stage/update.properties

/src/main/resources/prod/update.properties


Plugin deployment practices

When the developer checks in a new plugin they will update the src/main/resources/update.properties for that individual plugin in github.

They will then notify the protege admin when it is ready for testing.  Upon notification, the protege admin will copy the src/main/resources/update.properties into src/main/resources/dev-qa/update.properties.

When the project enters User Acceptance testing on the Stage tier, the update.properties should be copied into src/main/resources/stage/update.properties

When the plugin is ready to go into production, the update.properties should be copied into src/main/resources/prod/update.properties


  • No labels