Control Room Logbook Web Application

Welcome to the Control Room Logbook Web application (CRLW). The CRLW enables you to browse and add entries from a web browser. You can also attach images, files, forms, links to previous entries, and reference URLs. There are many more features, check below.

Tablef of Contents

Index Page
  Login and Logout
  Changing the Password
The Log
  Next, Latest, Previous, and RefreshButtons
  Auto Refresh
  Search Pulldown Menu
  Sort Order
  Entry Header
  Current Search Note
Adding Entries
  Select a Topic
  Spell Checker
  Entering Text
  The Plain Text Option (tables)
  Setting the Background Color
  Inserting Images
  Attaching a File
  Inserting a Form
  Adding a Script to a Form
  Inserting a Reference to a Previous Entry
  Inserting URLs
  Attaching Keywords
  Save
  Preview
  Clear
  Done
  Session Timeout Recovery
Moving Entries
Subscriptions (automatically sending email)
Annotate
Studies
Search
  Saving a Search
  Placing a Search on the Index page
Configuring the CRLW
  Adding Users
  Closing Categories
  Adding a Memo Pad

The Index Page

The CRLW Index page displays a hyrarchy of topics. You can expend and browse the topics by clicking on the +/- icons next to the folders. To see the entries in a specific topic click on the text of the topic. This will show the last 15 entries in that topic.

 

Login and Logout

To make entries or annotate existing entries, you must have a CRL user name and password. If you are a CRL user, you probably already have one, but if you do not, contact your CRL administrator to receive one. The administrator has the ability to assign priviledges. They are 'Operator' and 'Administrator'. To make entries and annotate, the user needs 'Operator' privileges. To change the configuration, the user needs 'Administrator' priviledges in addition to 'Operator' privileges.

To log in, click on the Log In link. Once you are logged in, your name is shown at the top of the navigation bar. To log out, click on the 'Log Out' link.

Changing the Password

To change your password:

  1. If you are not logged in already, login by clicking on the login link.
  2. Go to the Index page
  3. Press 'Change Password'
  4. Enter the new password and the confirmation password. The password has to be between 4 and 8 characters long.
  5. Press 'Done'

The Entry Log

The log shows two navigation bars and the entries matching the current search.

Next, Latest, Previous, and Refresh Buttons

The four buttons in the center of the navigation bar are the Next, Latest, Previous and Refresh buttons. They know what 'Next' and 'Previous' means in context of the current search criteria. For example if the search shows the last 10 entries, 'Next' will show the next 10 entries. If the search criteria shows the 'current shift', the 'Previous' button will display the previous shift. The 'Latest' button will show the latest entries for the search criteria. For example, pressing the 'Latest' with a shift search will show the current shift. If you have navigated to the current shift, the 'Next' button turns gray showing that it is disabled. If some time passes by and you would like to see the new entries, just press the 'Latest' or 'Refresh' button.

The 'Refresh' button fetches any new entries that were made by others while your browser was idle. A 'Refresh' for a time search will extend the end of the time to the current time. This may be a little tricky, for example if you are showing the last 8 hours, and you select 'Previous' two of times to go back and look at the old entries. If you hit 'Refresh' you will have all entries for the last 24 hours (3 x 8). It is the same for a sequence number search, it will extend the sequence number range to the latest one, rather than refreshing a sequence number range that is in the past.

Auto Refresh

The log page is automatically refreshed every 15 minutes. This means that the search is resubmitted. If the search is by shift, the current shift is updated but it is not advanced to the next shift. If the search is relative (i.e. the last 24 hours) the 24 hour window is shifted to the current time.

Search Pulldown Menu

The search quick pick list lets you quickly change the search. The items in the pick list are the custom searches from the Index page. Click on any of these, then click OK and you will see the entries matching that search criteria.

Sort Order

There are two ways to sort the entries:

when the arrow points up, the last entry saved is displayed last
when the arrow points down, the last entry saved is displayed first

You can click on the arrow to reverse the sort order.

Version Number

The version number is on the right hand side in the second bar from the top. Click on it and you will see the release notes for that version.

Entry Header



Each entry shows a header with the date, the category, the entry number, and the operator. To maximize the screen space, the other fields, such as the creation date, and the keywordsare not shown. When you click on the entry header, a separate window showing only this entry is displayed. This window can be printed or sent via email using the browser.

Current Search Note

Initially the entries are filtered by the request from the Index. On the Log, the line right below the title bar shows what the search criteria is used. For example: Entries for Owl shift on 09/03/2003: WHERE createTime BETWEEN "2003-09-03 00:00:00" AND "2003-09-03 08:15:00" WHERE category LIKE "%CAPTAIN/Log%" this means that the entries shown are from the Owl shift, it spans midnight to 8:15 AM, and the selected category is "Captain/Log". Once you execute a different search, this changes. For example: The last 10 entries: WHERE sequenceNumber BETWEEN 737 AND 746 shows a search by sequence number.

Adding Entries

The first time you make an entry, you will be prompted to login (if not already logged in). Once in the new entry page you will see the same navigation buttons as on the log page (see Next, Previous, Latest, Refresh, Login, and Search Pulldown Menu). Logging out will automatically return to the Log page.

Select a Topic

Select a topic from the pulldown list on the left.. The list of topics comes from the CRL configuration file (LogBookConfig.xml). To enter text, start typing in the text field. Then the entry page will open in the same window. (Note: right click on the New Entry button to open it in a new window.)

 

Entering Text

The text entered in the Text Entry field is interpreted as HTML. This allows you the flexibility of using HTML tags to make tables, bullet lists, etc. It also means that the "<" and ">" will be interpreted as HTML start and end tag notation. If you would like to use these symbols, surround the text with <pre> and </pre>.

If the topic or form is being subscribed to and automatically emailed to a list of subscribers, this list is displayed below the buttons.

Plain Text vs. Styled Text

When the Plain Text option is selected, white space is preserved and you can enter tables with aligned columns. Below is an example of two entries entry, with out and with the plain text option.

You can not attach images or a file to Plaint Text entries.

Entry Background Color

You can set the background color of the entry with the pull down menu on the right.

Spell Checker

If you use Internet Explorer there is a spell checker plug in at: http://www.iespell.com/

Inserting Images

To insert an image, it must be accessible from your local drive. Select Browse, and find the .jpg or .gif file. Then select 'Insert Image'. The text field will show a new tag : <IMAGE_INSERT xxx.jpg> this tag keeps the place where the image is to be inserted. To move the image you can move the tag. You can attach multiple images and place them anywhere in the entry. The attached images are shown in thumbnail size at the bottom of the entry. Inserting images is enabled or disabled in the CRLW configuration. If this function is not available, the CRL administrator has disabled it. Also in the CRLW configuration is a maximum file size, so you can not insert arbitrarily large files.

Attaching a File

To attach a file, press the Browse button, next to the File text field. Navigate to find the file to attach. Press Attach File. Once you have completed the entry press Save. The file is copied to the entries directory, so the original is not needed any longer. The entry has a link to the file marked "Click here to download the file", and if it is a pdf or post script file, a thumbnail is displayed.
Only one file can be attached to an entry. If you browse and attach a second file, the first one is forgotton. To add multiple files, create multiple entries.

Inserting a Form

To insert a form, select one from the form list and click on Insert From. This brings up an html form with several fields to fill out. Fill out the fields and hit submit. Now you are back in the Entry page, and the information you submitted in the form is written in html in the entry text field. You can still edit the text field. For example you can add an image, or insert another form. You can insert the image into the form, by editing the html. However, you are responsible for submitting the correct html. To see the interpreted html press Preview.

Forms that have been submitted from the CRLW are not readable with the CRL application, because they are written in HTML and not in plain text. Here is an example of a form entry in the CRLW:

To make an HTML form visible to the CRLW, place the HTML file into the following path. Look up the Logbook.file_location.www_directory in the LogbookConfig.parameters file. Go to that directory and make a subdirectory called 'crlwforms'. Place the html file in that directory. All files from this directory and its subdirectories are made available in the forms menu. If you would like to add some classifications to the forms, for example separate the subsystems, you can use a directory structure to do so. In this list, for example, the forms are in a Test_Forms subdirectory. Click here to see some example forms.

The CRL application, running on the console, has a a custom XML grammar to specify forms. In the CRLW this is no longer necessary. One can use standard HTML. The only requirement is that it must have a Submit button so that the form fields can be collected by the CRLW.

Adding a Script to a Form

The author of the form has the option to specify a script to be run when the form entry is saved. There are a couple of things very specific to the form scripts:

1) The script has to be located in the same directory as the forms (see above 'crlwforms'). This means that the operating system where this directory is located needs to be considered when executing this script. The author of the form should carefully test this script before calling it from the CRLW. The CRLW thorws an exception if the script can not be found or executed. This exception is usually found in the catalina log. I suggest that the scripts are minimal and exctract the needed information. The processing of the information should be done outside of the script by another process.

2) To specify the script name, you add a hidden input field in the form. The name has to be the exact string FormScript. The value is the script name without the path. For example:

input type="hidden" name="FormScript" value="MyScript.bat"

This hidden field is replaced with a tag, and the tag is used as a trigger to run the script once the file is saved.

The script will receive the path where the XML entry as a parameter. The script can retrieve entry information this way.

 

Inserting a Reference to a Previous Entry

To refer to a previous entry, type the text to display on the link and the entry number in to the field. Then press 'Insert Link'. If you don't know the number of the previous entry, it can easily be found. Find the entry in the log, for convenience the log is displayed at the bottom of this page. If the entry is not in the current display, execute a search to look for it. Once you see it in the log, click on the header info, the full header shows the entry number.

Once a link to a previous entry is inserted a new tag is shown in the text: <LINK_INSERT nnn>. This tag keeps the place where the link is to be inserted. To move the position you can move the tag. You can attach multiple links and place them anywhere in the entry.

Inserting URLs

To insert an URL, type it (or cut and paste it with Ctrl-C Ctrl-V) into the URL field. Then press 'Insert URL'. The entry text will show a new tag: <URL_INSERT www>. This tag keeps the place where the URL is to be inserted. To move the position you can move the tag. You can attach multiple URLs and place them anywhere in the entry.

Attaching Keywords

There are two types of keywords, the automatic ones, and the selected ones. When a keyword is automatic, it is associated with the topic no matter what. All entries for that topic will have that keyword. The selected keywords are only attached to the entry if you select them. In the CRLW, you will see the automatic keywords and a list of the optional ones. Select the keywords you want to attach.

The list of available keywords is defined in the CRL LogbookConfig.xml. To change the list, contact your CRL administrator.

Save

Click on Save to save the entry. It will be displayed at the bottom of the page in the order of the log. The images are displayed as a thumbnail. Click on it and it will expand. The reference to the entry is displayed as: 'your text', click on it to see the referred entry in a separate window. The URL is displayed with the URL text and link. Click on it and the URL is opened in a separate window.

Preview

The text box for entering text in an entry takes HTML format. One can use html tags to format the text. For example when inserting a form, the text is full of tags for the form table. To preview the entry as it will be saved, press the Preview button. Below is the text field after filling out a form.

This is the preview page for the entry above. You can either return to the entry page without saving the entry, or save the entry directly from the preview page.

Clear

The 'Clear' button clears the text field and removes the attached images.

Done

The 'Done' button saves the entry and returns to the Log. This is intended when a user has finishes a series of new entries.

Change User

The 'Change User' button logs you out and shows to login page.

Session Timeout Recovery

The session is set to time out after 3 hours. If there is no activity from the browser in 3 hours the server releases the session. We limit the length of the session to control the load on the server. The server has no way of telling whether the browser is still connected other than to monitor its activity. If the sessions are too long the server keeps abandoned session open for an infinite time. They accumulate quickly and consume the memory.

In case an entry was left open, i.e. it was typed in but not saved, the text is saved and presented to the user to cut an paste in the new entry page with the new session. Follow the instructions on the screen to recover the entry text.

Moving Entries

An entry can be moved to another Category/Topic by a user with administrative privileges. To do so: log in and go to the Index.jsp page. If you have administrator privileges, the Admin button will be visible, without these privileges, the Admin button is not visible. Click on Admin, and on the next page click on "Move Entries". The new page, the MoveEntries.jsp page, contains two tables. The one on the left is a list of entries. These are the entries from the current search. If no search has been done so far, the default search is used.

To change the default search go back to the Index page and select "Configure", the small red link on the upper right. The default search options are on the bottom of the Configuration page. I recommend to show the last 10 entries, this way there will always be some entries on the list.

You can use the regular search page or the quick search to find the entries you want to move.

Once you have selected the entries to move, select the new topic. Then press Move Entries. After the move is complete, the page will show a status for each entry that was moved. The entry is annotated with a time stamp and a record of who moved the entry from and to where.

Subscriptions (automatically sending email)

Subscriptions are availabe to any email for any topic and any form. When you are subscribed, you receive the entry/form via email. To see the current subscriptions click on the Subscriptions button. This brings up the page below. Then type an email address and click on "Show Subscription". On the left is the list of active topics for this log book, the ones with the green dot are being subscribed to by the email above. On the right is the list of forms.

If you do not have administrator priveledges you can only view subscriptions and not change them. To subscribe or unsubscribe contact you CRLW administrator.

If you have administrator priveledges, you can log in and modify the subscriptions from this page. You may add subscriptions for any email address, even outside of the CRL user list.

The subscriptions are managed with mailing lists. The mailing lists are kept in a directory specified by the LogBook_admin/LogbookConfigParms.properties in the Logbook.file_location.mail_list_directory parameter. The convention for this paramter is:

Logbook.file_location.mail_list_directory C:/crl_apps/crl_admin/CRLmaillists

Where C:/crl_apps/crl_admin is the directory that also contains LogBook_admin.

The mailling list directory contains an XML file for each topic and html form if there is at least one subscriber. Below is an example. You may edit the XML file directly rather than using the web interface. XML forms, used by the Control Room Logbook Application can not be subscribed to by the CRLW.

<?xml version="1.0" encoding="UTF-8" ?>
<MAILLIST>
<TO>spanacek@fnal.gov</TO>
<FROM>Suzanne_s_Logbook@fnal.gov</FROM>
<SUBJECT>Developement/Subscriptions-Subscriptions $D $T</SUBJECT>
</MAILLIST>

 

Annotate

Each entry has an annotation icon: . Click on it to annotate the entry. If you are not logged in, it will prompt you for a user name and password. If you do not have a user name, contact your CRL administrator.

To annotate type the text into the text field and press 'Save'. The annotation is attached to the entry and displayed along with the operator and the date and time. You can write as many annotations as you want, once you are done, press 'Done' to return to the log.

Studies

You can add a Study by clicking on the Studies link on the right in the menu bar. This brings you to the Studies page. This page allows you to add and close a study. To add a study, select the parent category from the pull down list. Pick a study name, a description, and the subscribers. The subscribers will receive email every time an entry is made for that study. Save this new entry, and return to the Index once you are finished adding studies. The new study is added to the LogBookConfig.xml file. You will be listed as the owner of the new study, and only you can close it.

To close a study go to the bottom of the page. There the pull down menu lists the studies that you own. You can close any one of them. When a study is closed it means that no more entries will be accepted. If you have to re-open a study, you should call the administrator. They can modify the xml file to reopen it. A closed study will show it's name in gray on the index page.


Search

The search page has two columns. On the left is the list of mutually exclusive searches. They are grouped by time and sequence number. On the right is a list of filters to be used to refine the search, i.e. used in conjunction with the search on the left. This means that the search specified on the left is executed, then it is filtered by the conditions set on the right.

For example; if you select search for the last 20 entries and filter by your self as the operator, it will select the entry if it is one of the last 20 and has been made by you. It will not find the last 20 entries you have made.

 

By Absolute Date

Entries between Date_1 and Date_2 are displayed.

By Relative Date

Entries saved in the last N hours or days are displayed.

By Shift

Entries saved during the time specified by a shift are displayed. The shift names are defined in the configuration by the administrator. There is an option to select the "Current" shift, then the date input field is not used, since the current shift is now.

By Sequence Number

The sequence number is in the header. In this example it is 4799.

By Sequence Number Range

Type the beginning and end of a sequence number range.

By Relative Sequence Number

The last N sequence numbers.

Filters:

Filters can be combined with each other and with the selected search. You can either type into the field or click on the 'pick' link. The 'pick' link opens a page with the list of known keywords, operators, or categories respectively. You can choose: AND and OR to refine the search. You can also use NOT by typing it into the text field in front of the word you want to negate.

These are the available filters:

Keywords

This is the list of keywords defined in the configuration of the CRL application (i.e. the LogBookConfig.xml file). A search on keyword will return all entries with the word listed as keyword.

Operators

This is the list of operators defined in the configuration of the CRL data base. Each entry has one or more operators, and this search will limit the entries to mach on the operator.

Categories

This is the list of categories defined in the CRL application (i.e. the LogBookConfig.xml file). A search on categories will return all entries within that category.

Forms

You can search for entries that contain a form. Click on the pull down list of the current forms. There you see the HTML and the XML forms currently available. Pick one and select a search criteria.

Arbitrary words, strings

The word search looks in the contents and the header of each entry for the given word(s). This is not a quick task. You can use NOT to negate a word, specify case sensitive, and look for any or all the words, or look for the exact string.

Saving a Search

To save a search, go through the following steps:
1) build a search on the search page
2) type a name in the field on the lower right
3) submit the search
4) the URL of the resulting page can be book marked or saved. For example:

http://minos-crl.minos-soudan.org/crlweb/Index.jsp?inquiry=72_hour_Logbook_Comments

The search is saved as an XML file in the inquireies directory. This directory is defined in the CRL configuration file: LogBook_admin/LogbookConfigParms.properties as Logbook.file_location.inquiries_directory.

Placing a Search on the Index page

Once you have saved a search, as described in the paragraph above, contact your administrator and ask him to add this search to the index page.The administrator places the search XML file in a subdirectory of the inquiries directory called CRLWindex.

Configuring the CRLW

After the application is installed the administrator should start it. It will go directly to the configuration page where several configuration parameters are to be set. The parameters can be changed by the administrator any time afterwards. The link to the configuration settings is on the Log page in the top right corner.

The configuration parameters are:

The properties file is written to the WEB-INF/CRLWebapp.properties under the current web app directory. The WEB-INF directory has limited access which makes this file not readable by the outside world.

At this time, the administrator should also create the CRLWindex directory in the inquiries directory. The inquiries directory is specified in LogBook_admin/LogbookConfigParms.properties as Logbook.file_location.inquiries_directory. This is the directory where the searches for the index will be saved.

Changing the Configuration

To change the configuration you can select 'configure' on the log page (upper, right). You must have admin permission from the CRL. You can also edit the WEB-INF/CRLWebapp.properties directly, even though any typos will be fatal.

Adding Users

To add users and change user information, administrative priviledges are required. Log in and go to the Index page. Press the Admin button. This will bring up the page below:

To edit a user's profile, select the user from the pick list and click OK. Edit the fields and hit Save. To add a new user, click "New User" and fill in the fields.

Users can not be deleted from the list, but they can be deactivated. The "Active User" check box at the left bottom is checked by default. To deactivate a user, un-check this box.

Admin Priviledges give the user the ability to change the CRLW configuration and other users.

The user's login name is the email address up to the @ sign. For example my email is spanacek@fnal.gov, my user name is spanacek.

If you are familiar with the CRL application there were separate priviledges for remote and operator, I have grouped these together in the CRLW, so that every active user is an operator with remote priviledges.

Closing a Topic to new Entries

You can close a topic to new entries by modifying the LogBook_admin/LogBookConfig.xml file. The <Topic> XML tag has an attibute called parm1, set this attribute to "closed". The CRLW will not allow any new entries to a topic with the parm1="closed", the topic will not be visible on the Index, but it will be available on the pick list of the search page. Also note that the CRL application is unaware of this flag and will allow new entries on that topic, it is only closed to the CRLW.

Here is an example of a closed topic tag:

   <Topic
   class="logbook.MyInternalTopicFrame"
   name="General"
   size="80%,80%" offset="5%,5%"
   command="add_to_Menu_Page"
   double-click="logbook.logentry.LogEntryText"
   parm1="closed">
   </Topic>

By default all topics are open, to open a closed topic just remove the line parm1="closed".

Adding a Memo Pad

The Memopad link on the Index page can be customized to point to any URL. This is done via the configuration page.

  1. Go to the Index page
  2. Click on Configure (upper right). Only people with administration priviledges can change the configuration.
  3. Type the URL of the Memo Pad page into the field labled Memo Pad URL.
  4. Save the settings

 

 

Copy Right notice for the com.oreilly.servlet package

The source code, object code, and documentation in the com.oreilly.servlet package is copyright and owned by Jason Hunter. 

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.

Copy Right notice for the CRL and CRLW
Copyright (c) 2006 Universities Research Association, Inc.
The CRL and CRLW was written by Suzanne Gysin, Pat Pomato, Gary Roediger.