Client & WebDav
If you are using the recommended XML database eXist
(which also is bundled up with the registry),
then you may like to know you can get right into the database.
The XML database eXist provides you with a WebStartable
client allowing you to login in via a GUI and perform
numerous amounts of tasks such as changing usernames,
backups, reindex, xquery, add/remove everything
possible to manipulate the database.
Also it supports WebDav which allows you to connect
various Applications like XMLSpy or Oxygen, as well as
your typical File Manager normally support WebDav meaning
you can view the whole database just like any other
network drive on your system.
Below is the information to get you connected as well as some hints.
Requirements
-
If you are running in the default mode of eXist database
embedded internally with your webapp
because you would not wish to make your database public,
you must make a change to a JNDI environment entry (property).
Edit JNDI property called "reg.custom.restrict.IPaddresses" allowing
you to restrict who has access to the WebDav and client Gui.
Just make a comma seperated list of IP addresses you allow.
You may even do expressions if desired such as 128.9.*.
Much like changing properties during Configure go to the
'Edit Properties' in the menu to change this property.
-
The eXist database is not fully initialized until a query
happens. This can be done by simply going to almost any jsp page
such as the home (index.jsp) page of your registry or
when any component calls the registry via a web service call.
Hence if you connect via WebDav or client GUI and says the
'eXist' database is not initialized then please go to the
home page of your registry which will initialize it.
This usually happens when there is a restart of your servlet
container or eXist then you immediately tried to access it via WebDav.
-
Many people like the use of XML editors such as Oxygen or
XMLSpy to validate and edit the XML. But it is easy
just to edit the XML directly in the Database with the
Client GUI or general text editor via WebDav.
Please be sure to take caution and validate the XML.
Be sure to set schemaLocations in your XML Editor, so you
can validate or to take the XML; and by using the simple
"Enter Resource" jsp pages here at the registry put in the XML.
So it is validated and certain to go into the registry correctly.
The Client
You can launch a web start client go to
- eXist
and click on the 'Launch' button on the left hand side to
start a client and follow the options below:
-
By default the username is "admin" password is empty
-
Type: Remote
URL: xmldb:exist://{host}:{port}/{context}/xmlrpc
-
Sample URL for embedded:
-
URL: xmldb:exist://registry.astrogrid.org/astrogrid-registry/xmlrpc
-
or most likely this:
-
URL: xmldb:exist://localhost:8080/helio_registry/xmlrpc
-
Sample url for external:
-
URL: xmldb:exist://mssl.ucl.ac.uk:6080/xmlrpc
The external eXist if downloaded is by default on port 8080,
but if you download the external zip file this software gives you
which has a few of the settings already set then default is 6080 port.
This is all you need to know to get into the database and try reindexing,
xqueries, backups, setting up users and other. Do read
the next 2 important notes:
-
Be certain if you change usernames and passwords around
then you will need to change the registry JNDI properties
to reflect your changes in the database.
-
Do not rename xml files in the astrogrid collections,
the names are based on the identifier and used for getting
one single Resource directly (on the GetResource interface)
instead of querying for a Resource.
- Other Documentation
WebDAV
WebDav can be used with your database to map your
database like a regular network drive, where by you
can edit, delete, add various content. Several
popular apps that may interest you to connect via
WebDav are XMLSpy and Oxygen allowing you to get a more
easy interface to the xml documents. All of this can be
setup and is explained on the following link:
- eXist WebDav Doc
N.B. Many XML Registry Resources will not have the
schemaLocation stored in the database XML.
Which means for validation and to make an easy to use
interface with Oxygen or XMLSpy you will
need to set the schemalocation yourself. Down below
are a list of various places to obtain
the schemaLocation.
Sample Schema Location Places
-
The schemaLocations below can be found at:
-
http://software.astrogrid.org
ex: http://software.astrogrid.org/schema/vo-resource-types/VOResource/v1.0/VOResource.xsd
-
or your local registry at:
-
http://{yourhost}:{yourport}/{registry context}
ex: http://localhost:8080/helio_registry/schema/vo-resource-types/VOResource/v1.0/VOResource.xsd
---
/schema/vo-resource-types/VOResource/v1.0/VOResource.xsd
1.0 schemas.
/schema/vo-resource-types/VOResource/v1.0/VOResource.xsd
/schema/vo-resource-types/VORegistry/v1.0/VORegistry.xsd
/schema/vo-resource-types/VODataService/v1.0/VODataService.xsd
/schema/vo-resource-types/ConeSearch/v1.0/ConeSearch.xsd
/schema/vo-resource-types/SIA/v1.0/SIA.xsd
/schema/registry/RegistryUpdate/v1.0/RegistryDBStore.xsd
-
At the time of this writing these schemas were not published:
-
/schema/vo-resource-types/OpenSkyNode/v1.0/OpenSkyNode.xsd
/schema/vo-resource-types/CEAService/v1.0/CEAService.xsd