TextGridLab's Core Plug-ins
TextGridLab's plug-in structure mainly aims at providing a
stand-alone application, based on the Eclipse Rich Client Platform
framework. Additionally, it should be possible to use TextGridLab's
features inside a usual Eclipse installation, possibly with some quirks.
This is reflected in the plug-in structure.
Guidelines
Basically, one job, one plug-in.
Central Plug-ins and their Jobs
Lab Core
- info.textgrid.lab.core.model
- Classes modelling the basic TextGridRep resources – objects
(TextGridObject), projects (TextGridProject) and the like.
- info.textgrid.lab.core.efs.tgcrud
- Implementation of the TextGridRep access. Generally
interesting for clients who should use the stuff in
info.textgrid.lab.core.model
.
- info.textgrid.lab.core.browserfix
- Small plugin responsible for fixing the browser problems.
Client implementations who need a browser control please use
TextGridLabBrowser.createBrowser(Composite).
- info.textgrid.lab.core.swtutils
- Various utility implementations to deal with SWT and Eclipse
specific stuff. Might be interesting for everyone, doesn't contain
TextGrid specific stuff. Never introduce dependencies to other lab
plugins here!
- info.textgrid.utils
- Utility classes that don't contain TextGrid- or Lab-specific
stuff.
- info.textgrid.lab.core.application
- Contains the Application
class that controls our lifecycle, but more interestringly
various advisor classes that set up the main workbench window of the
stand-alone application. The menus and toolbars are set up to be
compatible with the Eclipse Workbench. This plugin also contains the
product definition for deploying the Lab application.
- info.textgrid.lab.ui.core
- Contains common user interface code (like the new dialog
etc.). Here are the global menu items, perspectives, handlers and some
utility classes that might be interesting for other plugins. There
should be no tool specific code here – this plugin should not depend on
other UI plug-ins.
- info.textgrid.lab.core.metadataeditor
- The component for displaying and manipulating TextGridObjects'
metadata.
Infrastructure Frontends
These plug-ins provide frontend code to the TextGridLab
infrastructure. You should use them whenever you want to access a
utility and the classes in the model aren't enough.
When you write infrastructure frontends, please separate user
interface and model / implementation, and please do not leak ADB or Axis
classes … (AXIOM is fine).
- info.textgrid.lab.conf
- Access to the configuration server. Use this to retrieve the
URIs to the other utilities (and services).
- info.textgrid.lab.authn
- Access to the authentication functionality. You'll usually
want to call
RBACSession.getInstance().getSID(boolean)
to
retrieve the session ID used for authentication.
- info.textgrid.lab.log
- TextGrid-wide logging facility. You can retrieve the log ID
used by several utilities here, and the user can display the remote
log. Do not confuse this with the eclipse logging facility used for
logging client-side events (StatusManager etc.)
- info.textgrid.lab.search
- Frontend to TG-search. Use these classes if you need a
specific search that you visualize yourself.
- info.textgrid.lab.search.ui
- The search user interface.
- info.textgrid.lab.navigator
- The navigator UI to browse through TextGrid.
- info.textgrid.lab.projectadmin
- User and project administration GUI. This is a UI for some of
the stuff in info.textgrid.lab.core.model.
These are the frontends for various lab tools.
- info.textgrid.lab.workflow
- The preliminary workflow editor. The plug-in info.textgrid.lab.workflow.external contains
some libraries the workflow editor uses.
- info.textgrid.lab.templateeditor
- Project managers can use the template editor to define which
metadata shall be defined for objects in their respective projects.
- info.textgrid.lab.dictionarysearch
- Plugin to search the Wörterbuchnetz.
Also contains the
Dictionary Results View
that displays
dictionary entries for the word currently selected in the XML editor –
you might find inspiration here.
- info.textgrid.lab.dictionarysearchmask
- Plugin to manually search the Wörterbuchnetz.
You can narrow the search down to a single dictionary or a group of dictionaries. You can also
freely choose the desired dictionaries within the Wörterbuchnetz.
You can define the type of search, limit the count of search results, that were shown at once
in the Dictionary Search Results View and decide, if only entries should be shown,
that were linked with other dictionaries.
- info.textgrid.lab.lemmatizer.serviceclient,
info.textgrid.lab.lemmatizer.ui
- Frontend code for the lemmatizer.
XML Editor
The XML editor integrates the XML editor from the Eclipse Web Tools Platform
with a WYSIWYM component based on Vex
and functionality specific for TextGrid.
- info.textgrid.lab.xmleditor.mpeditor
- This is the core plug-in, it contains the multipage editor as
well as integration code and TextGrid specific implementation.
- net.sf.vex.toolkit
- Contains all backend functionality for the WYSIWYM part,
especially the data model (see net.sf.vex.dom.linked)
and the layout code (net.sf.vex.layout).
- net.sf.vex.editor
- Contains the EditorPart for Vex, i.e. the Eclipse interfacing
part.
- de.textgrid.efrontend.charbrowser
- A unicode character browser. TODO this code needs to be
updated …
Text Image Link Editor
The Text Image Link Editor is a tool to link a digitized image
of, e.g., a manuscript with its transcription on the level of image
areas.
- info.textgrid.lab.linkeditor.controller
- info.textgrid.lab.linkeditor.model
- Controller and model for managing the links
- info.textgrid.lab.linkeditor.mip
- info.textgrid.lab.linkeditor.mip.component
- Contains the image view and associated functionality. Parts of
this origin at the ArchWay projects EPT.
- info.textgrid.lab.linkeditor.rch.ept.libraries
- Libraries used by the link editor.
- info.textgrid.lab.linkeditor.rcp_linkeditor
- contains the text view that is currently used for the Text
part of the links. In the future, we will probably use the XML editor
for this.
Various GUI and Help stuff
- info.textgrid.lab.help
- The end user documentation for TextGridLab (in English).
- info.textgrid.lab.doc.baseline
- The documentation for the TextGrid Baseline Encoding. Do not
edit here – this is generated from the LaTeX code elsewhere in the SVN.
- info.textgrid.lab.doc.programmer
- The developers' documentation you are currently reading. This
plugin contains script to generate the Lab javadoc (executed at compile
time) and HTML pages with the guide text you're currently reading.
- info.textgrid.lab.welcome
- The welcome screen, as well as some perspectives that should
be factored out of here.
- info.textgrid.lab.eyecandy
- Some icons etc.
- info.textgrid.lab.feedback.ui
- The report-a-bug dialogue.
Stubs and libraries
The plugins
- info.textgrid.lab.core.projectfile.stubs
- info.textgrid.lab.core.tgcrud.client.adb
- info.textgrid.middleware.tgauth.rbacstubs
contain various web service stubs used by other plugins.
The plugins
contain libraries repackaged for use in TextGridLab.
Finally, we're deploying XULrunner 1.8 with TextGridLab for
various architectures:
- org.mozilla.xulrunner.carbon.macosx
- org.mozilla.xulrunner.gtk.linux.x86
- org.mozilla.xulrunner.win32.win32.x86