Bug #1986
closedsystem_id of xml_catalog table points to knb.ecoinformatics.org for a new metacat installation
0%
Description
After new installation of metacat, administrator should registor known dtd or
schema files in xml_catalog. In xml_catalog table, public_id and system_id is
for this feature. The public_id will points to the namespace and system_id will
points to physical location(url) of the dtd or schema file.
Before metacat 1.4.0 installation, the system_id will point to local dtd or
schema file. For example, if user installed memtacat in
http://some.nceas.ucsb.edu/knb, the system_id for eml200 will be
http://some.nceas.ucsb.edu/knb/schema/eml-2.0.0/eml.xsd
But in metacat 1.4.0 release, no matter where the user installed metacat, the
system_id will point to http://knb.ecoinformatics.org/knb/. I think this is not
a good idea. If the server in nceas was down, the other metacats couldn't work.
So it is better to make the system_id to point to local machine.
Updated by Jing Tao almost 20 years ago
In register-schemas target, file loaddtdschemasql will be called. In
loaddtdschema.sql, there are tokens for server name. During the process to creat
distribution package, the loaddtdschema.sql will be copied from src to another
directory and those server name tokens were replaced by default server name -
knb metacat. So in the distribution package, the loaddtdschema.sql file wouldn't
have any token but have the static default server name.
At the distribution process, I added an additional step to copy the
loaddtdschema.sql file form source directory to distribution package without
filtering. It fixed the bug. I also write a sql script to fix existed metacat
installation. The sql script will be called in build target "upgrade15".