Dear Eli,
The instructions I received from Markus is actually already included here below as included in your email. I have also added the instructions from Tim, as also posted to the IPT mailing list.
Basically what (I think) the IPT does is to contact the registry as defined in "ipt.properties". By default the GBIF registry in Copenhagen is defined here, but you may modify this to point to your own registry. I did not mimic the complete features of the registry - ONLY the list of extensions "extensions.json" to add the new draft germplasm extension I made. You may want to add your own thesaurus "thesauri.json" of controlled vocabulary or more features in the similar way. After loading my new extension to my IPT at NordGen, I modified the "properties.ipt" back to point to the GBIF registry in Copenhagen again.
To mimic the registry feature for adding the extension, I made a copy of the file from "http://gbrds.gbif.org/registry/ipt/extensions.json" and added my application schema from the extension as you will see at "http://wwwdev.ngb.se/portal/rs/ipt/extensions.json".
The application schema (as defined in "extensions.json") and online from: "http://wwwdev.ngb.se/portal/rs/ipt_germplasm.xml", creates a namespace (for the use by IPT) as well as inclides the URL for the actual draft germplasm extension I made:
"http://ipt.gbif.org/extension/germplasm/ http://wwwdev.ngb.se/portal/rs/dwc_germplasm.xsd"
The application schema itself (ipt_germplasm.xml) only lists the terms I want to use in IPT, with the property name to be displayed in the IPT mapping interface. To create this file I started with one of the other extensions "http://gbrds.gbif.org/resources/extensions/vernacularName.xml". I just made a copy of this file and replaced the names and terms for vernacular name extension with the terms I wanted from the draft germplasm extension.
I hope that my description of what I think it was I did is more or less correct. I copy the IPT mailing list so that Markus and Tim may have a chance to correct me or to add more information to the procedure.
Cheers
Dag Terje
From: Eli Agbayani [mailto:eagbayani@eol.org]
To: Dag Terje Filip Endresen [mailto:dag.endresen@nordgen.org]
Sent: Tue, 26 May 2009 22:52:35 +0200
Subject: Re: Adding an extension for germplasm to IPT
Dear Tag,
Thanks for your email. Can you please forward to me the instructions you said you followed in testing your own extension. That is the instructions the GBIF guys gave you.
Thanks.
Eli
----- Original Message -----
From: "Dag Terje Filip Endresen" <dag.endresen@nordgen.org>
To: "\"Markus Döring (GBIF)\"" <mdoering@gbif.org>, "Eli Agbayani" <eagbayani@eol.org>
Cc: ipt@lists.gbif.org
Sent: Friday, May 15, 2009 9:07:29 AM (GMT-0500) America/New_York
Subject: Adding an extension for germplasm to IPT
Hi Markus and Tim,
Thanks a lot for your help! I followed your instructions and successfully added my DRAFT version of a DarwinCore extension for germplasm to the IPT. I have listed a brief summary of each of the steps I followed below.
If you are interested, you may visit the IPT from NordGen with a DEMO dataset mapped to terms from this DRAFT Darwin Core extension for germplasm at:
http://atlas.nordgen.org/ipt/occResource.html?resource_id=77
1. Schema
I built a suggestion to a DRAFT Darwin Core extansion for germplasm
http://code.google.com/p/darwincore/source/browse/trunk/xsd/profiles/germplasm/dwc_germplasm.xsd
http://wwwdev.ngb.se/portal/rs/dwc_germplasm.xsd
2. XML definition for IPT
Listing the terms to use from the suggested DRAFT DarwinCore extension
http://wwwdev.ngb.se/portal/rs/ipt_germplasm.xml
3. Add this XML definition to a copy of extensions.json
Starting with " http://gbrds.gbif.org/registry/ipt/extensions.json "
Add text {"title":"Germplasm","url":" http://wwwdev.ngb.se/portal/rs/ipt_germplasm.xml ","id":9}
Saved as: http://wwwdev.ngb.se/portal/rs/ipt/extensions.json
4. Modify ipt.properties
PATH_TO_TOMCAT_WEBAPPS/ipt/WEB-INF/classes/ipt.properties
Line 7: "registryUrl= http://gbrds.gbif.org/registry " modified to
"registryUrl= http://wwwdev.ngb.se/portal/rs "
5. Restart Tomcat (reload ipt)
The new ipt.properties settings does not seem to be loaded without restart of tomcat
6. Add/load the new extension to IPT
Login with admin permissions
http://your_server_name/ipt/admin/extensions.html
Click "Check for all available extensions"
Select the name of the new extension
Select "install" and "Done"
7. Mapping of terms to your data
Select the new extension under "Add New Mapping"
Click "Add" button to the right
Select and map terms
I selected the "publish" button and hope that this will not cause this dataset to be registered at the GBIF registry...? Without selecting the "publish" button the dataset is not listed from the menu item "explore". I was missing the option to publish a dataset under this "explore", but not not to register with the GBIF registry...? Should there not be one more step to this procedure?
Cheers
Dag Terje
PS. I have noticed that the right side context menu is very sensitive to missing data (Navigate Taxonomy, Navigate Geography). If some of the higher taxonomic levels is missing I get an error message instead of the context menu. For example I did not have phylum for the genebank dataset and the error message on "Navigate Taxonomy" untill I added data for this term. Similar I did not have continent causing the "Navigate Geography" context menu to start at country. When continent and/or country is missing, the "Navigate Geography" context menu creates a top node for the lowest level available - sometimes even the coordinate is displayed as the top node here. Would be cute if the IPT could default to "unknown continent", "unknown country"; "unknown phylum", ... or something similar.
PPS. NB! This DRAFT extension for germplasm is still under development and I am sure that I still duplicate some terms from DarwinCore or other extensions! I did not yet work much with the terms for trait observations on germplasm, but added most of the terms from the new proposed draft standard for these data for the European genebank community.
From: "Markus Döring (GBIF)" [mailto: mdoering@gbif.org ]
To: Dag Terje Filip Endresen [mailto: dag.endresen@nordgen.org ], Eli Agbayani [mailto: eagbayani@eol.org ]
Cc: ipt@lists.gbif.org
Sent: Wed, 13 May 2009 00:05:33 +0200
Subject: Re: [IPT] IPT connection problem
Dag, Eli,
I've checked the IPT code again for the extension registry URL and I was actually wrong.
The current version *does* make use of the ipt.properties settings.
The standard GBIF URL that is used in the ipt.properties should be:
registryUrl= http://gbrds.gbif.org/registry
The registry then returns a JSON list of all known extensions located at:
http://gbrds.gbif.org/registry /ipt/extensions.json
So to test your own extensions you can modify this json list to include entries for your own (pointing to your extension xml definitions hosted on some URL), upload that json file to some http server and modify the ipt.properties setting to point to your registry, e.g.:
registryUrl= http://dev.eol.org/ipt
that will finally point to the file
http://dev.eol.org/ipt/ipt/extensions.json
To get everything working this registry base URL should also deal with other things, e.g. the registry of resources, organisations, services, etc.
But in order to test the extensions this should still work.
If you give it a try, please report your findings back to this list.
cheers,
Markus
On May 12, 2009 , at 6:05 PM, Markus Döring (GBIF) wrote:
PS. I agree with Jörg that a convenient way to keep the old data directory when upgrading the IPT would be cute.
This is indeed the case. We will aim wherever possible to make upgrading as simple as it can be.
For bug fix releases, such as this snapshot, with no structural change the data directory can be migrated directly. In future releases, we might require a "one time" migration task be run. I anticipate the first one being required when the DwC standard is ratified.
if you look into your ipt.properties file you can modify the following settings:
dataDir= ${ipt.datadir}
registryUrl= ${ipt.registry.url}
the dataDir should be an absolute path pointing to your data dir (defaults to the ipt webapp data subfolder).
the registry URL can point to a development registry - unfortunately the extensions and vocabs currently dont use this setting, only the UDDI style registration of resources and organisations. We will make sure that the IPT uses this setting also for the extension registration, so you can easily point it to an alternative extension site for testing.
markus
---------------------------------------------------------------------
-------- Some more useful instructions from Tim -----------
---------------------------------------------------------------------
From: Tim Robertson [mailto:trobertson@gbif.org]
To: Dag Terje Filip Endresen [mailto:dag.endresen@nordgen.org]
Cc: ipt@lists.gbif.org
Sent: Tue, 12 May 2009 15:11:10 +0200
Subject: Re: [IPT] IPT connection problem
Hi all,
PS. I agree with Jörg that a convenient way to keep the old data directory when upgrading the IPT would be cute.
This is indeed the case. We will aim wherever possible to make upgrading as simple as it can be.
For
bug fix releases, such as this snapshot, with no structural change the
data directory can be migrated directly. In future releases, we might
require a "one time" migration task be run. I anticipate the first one
being required when the DwC standard is ratified.
PPS.
And a convinient way to add a thematic extension to the DwC (for
testing and demonstration) would also be very useful. I am thinking of
the draft DwC germplasm extension - as well as a new draft for
germplasm trait observation data I have started to work on. I assume
this perhaps could be done as an addition in the IPT code somewhere
around "WEB-INF/classes/org/gbif/provider/model/" ...?
A good suggestion. We should look at setting up some sandbox repository for exactly this purpose.
Dag,
for testing and demonstration you could do the following, but please be
very careful not to register these datasets with GBIF.
-
The response is fairly self explanatory, and for a test, you could
override gbrds.gbif.org in you host file, and put up a different
version locally for example referencing your test extensions.
- Then simply update your extensions through the IPT.
-
Sorry, not the easiest work around, but might get you able to
demonstrate how you can start to build your community without waiting
for the sandbox repository.
Best wishes,
Tim