Re: greenstone customization

From Stefan Boddie
DateSun, 06 Apr 2003 20:25:14 +1200
Subject Re: greenstone customization
In-Reply-To (001301c2fa23$8b9f7dc0$980b6480-PW)
Peter Wong wrote:
> I installed greenstone and have it working. I wanted to customize the
> interface but I couldn?t find much information about what each .dm file
> does. I?ve checked the developer?s manual but it does not give details
> of what files are for what. For example, if I want to change the look
> of the page after doing a query, what file would I be modifying?
>
>
>
> Thanks for your help in advance,
>

All I can suggest is trial and error and that you ask on the
mailing list about any specific parts of the interface that
you can't locate.

Where changing the look of the page following a query is
concerned you should probably begin with query.dm. Be aware
of the following points however:

1. The separation of the various macro definitions into
separate files is quite loose and informal. That is,
generally speaking the content of the "about" page is in
about.dm, the content of the "preferences" page is in
pref.dm etc. but you can't rely heavily on it. For example,
base.dm contains the "Global" macro package which defines
many macros used by lots of pages. style.dm also contains
important macros that define the basic structure of most
pages. It's also possible to have multiple macro packages in
the same file (as in english.dm and french.dm for example).

2. Some macros have their values generated dynamically by
the C++ code. If you're searching for a macro that appears
to be used in the macro files but is never defined try
searching the *.cpp files in gsdl/src/recpt.

3. A small amount of the structure of the greenstone
interface is generated directly by the C++ code rather than
by the macro files. You can normally work around these
issues without editing the C++ code but it's worth keeping
in mind.

4. Some parts of the interface (for example the query
results list) are generated by format statements rather than
by the macro language (though the format statements
themselves can contain macros). There's a section on format
statements in the developer's guide.

Stefan.