How to debug GeoNetwork
Debugging Java
The easiest way to debug Java code is to add some logging statements to the code.
Debugging XSLT scripts
Much of GeoNetwork's functionality is implemented through XSLT scripts
that are applied to the XML output of some Java code.
It is possible to see that XML output and run an XSLT script
on it independently.
The best way to do this is to enable Jeeves debugging.
In web/geonetwork/WEB-INF/config.xml
, in the <general>
section, set <debug>true</debug>
and restart GeoNetwork. Then
you can add an exclamation mark (!
) to the end of the
name of a service to view the intermediate XML.
For example, if you bring up the GeoNetwork home page in your
browser, the URL will end in ...main.home
. Edit the
URL to ...main.home!
and press Enter. The intermediate
XML for this page will (eventually) be displayed. You
can save this to a file and then use the command-line
version of Saxon on it. (For main.home
, the script
to use is main-page.xsl
, as specified in the
config.xml
file.)
Debugging JavaScript and HTML in the browser
Changes/additions to layout and interactivity have to be tested in browsers. The means of testing and debugging in a browser varies from browser to browser.
Firefox
- Firebug gives you tools to debug HTML, CSS, JavaScript - far too many to list here
- Web Developer is great for debugging the visual aspects of GeoNetwork output, e.g., the layout of forms and tables
Internet Explorer
- Firebug Lite gives you just the console from Firebug, which might be enough to fix a problem
- Internet Explorer Developer Toolbar provides some Firebug-like tools, but no JavaScript debugger
- Microsoft Script Editor, which comes with Office, provides a full JavaScript debugger like the one in Firebug. This tool takes up a lot of screen real estate; it's much easier to use if you have a second display.