The MIRC Module

From MircWiki
Jump to navigation Jump to search


The MIRC module (MIRC.jar) contains the code of the CTP plugin that implements TFS, the RSNA Teaching File System. This article describes the theory of operation of the packages and files contained in the MIRC module. The intended audience for this article is software engineers extending or maintaining any of that software.

See Setting Up a MIRC Development Environment for information on obtaining and building the MIRC module. It will be helpful to get the source code and build it so you can reference the Javadocs as you go along.

1 Overview

The MIRC module contains many packages. In general, major system functions (as well as some minor ones) are encapsulated in their own packages, but because many functions interact, this principle is not universally maintained. Most system functions have classes and files that are contained in the jar file. Often, the files are XSL programs used for the generation of web pages or Javascript and CSS files referenced by the web pages. These files are served directly from the jar file without having to be installed on the disk. See The Util Module for a description of how the server serves files from the classpath.

2 The TFS-installer

The TFS-installer uses the same installer program as CTP. It includes a full installation of CTP, but it includes a different config.xml file snd additional libraries.

To prevent the loss of site-specific configuration information, the installer does not overwrite the config.xml file during an upgrade installation. The standard TFS config.xml file includes the MIRC plugin and pipelines for the File Service, the DICOM Service, and the TCE Service.

The additional libraries include the Apache XML libraries because the standard Java XML libraries don't support passing DOM objects as parameters to XSL transforms. This capability is used widely in TFS, but not CTP, so they are only included in the TFS installer.

3 The MIRC Plugin

4 The MIRC Configuration File

5 The MIRC Base Servlet

6 Users, Roles, and Preferences

6.1 MircUserManagerServlet

6.2 PreferencesServlet

7 QueryService

7.1 QueryServiceAdmin

7.2 CaseNavigatorService

8 StorageService

8.1 StorageServiceAdmin

8.2 Support Services

8.2.1 AddImagesService

8.2.2 SortImagesService

8.2.3 CommentService

8.2.4 RevertService

8.2.5 PublishService

9 Conference Service

10 The Author Services

10.1 The Advanced Author Service

10.2 The Basic Author Service

10.3 The Submit Service

10.4 The Zip Service

10.5 Author Summary

11 The MIRC Pipelines

11.1 The File Service

11.2 The DICOM Service

11.3 The TCE Service

12 ResetSerice

13 DownloadService

14 Activity Report

15 RadLexSuggest

16 Utility Classes

16.1 MircDocument

16.2 RadLexIndex