Tutorial 20: Online Protocol Collection using OpenOffice to Increase Efficiency
Instead of using a clip board, paper and a pen, protocol taking is also possible with the OpenOffice software running on the Linux systems in most of the labs. There are a few options- spreadsheet format with OpenOffice Calc, document/table formats with OpenOffice Write and so on. The bottom-line reason to be using this as an option for protocol taking is that you can simply convert the file into a pdf and save it in the directory with the actual data files from the experiment, so you have just saved the time it takes to 1) scan the protocol into a pdf, 2) transfer it to a place where it is stored together with the data and 3) look for the protocol info in a binder several weeks after the experiment was done. In addition, today´s students are better at typing than handwriting.
So, here, we will give an example of how the spreadsheet option is used for protocol collection in our lab and highlight a few recently implemented features to show how protocol taking has been simplified a bit.
It is very easy to use the OpenOffice files, as they are similar to Microsoft Excel xls files. You can create a custom template with headers and layouts that fit your experiments. Below is an example of the layout that we use in our lab.
Recommendations
Enter all relevant information that you may need later. Take advantage of lulls in activity to record what´s been done before you forget. Try to stick to the standard format and terminology that´s established for your lab, so your protocols are recorded reasonably consistently from one experiment to the next. Review your protocol sheet at the end of the experiment to fill in any details you may have missed in the course of the experiment.
Time Recording
One of the most useful features of protocol taking in a spreadsheet is writing in the date and time of recording. This has been automated by a handy macro, activated by a single click. In the Calc program, there is a clock icon in the toolbar. Simply clicking on it enters the current time in the cell you are in. Then we enter our protocol info at that time point, and move on. This avoids problems arising from clocks not working in a synchronized way, or different note-takers looking at different clocks in the lab. Everything is synchronized to the data capture computer´s internal clock, including the capture start time now recorded by the capture program itself.
As of the 2015 release of the SCRC capture software, the capture program now records the time at which data capture started for each run. The start time is recorded and saved in the run file descriptor. Previously, users had to estimate capture time based on the file modification time for the frame file or waveform files, but this was unreliable as the modification time could change after capture, when filtering waveforms, changing calibration, or making any other changes to a run. The new version records it more permanently, and it can be displayed by analysis, frmsel or dumprun. This capture time can be used to refer to entries in the protocol, e.g. to see what drugs were administered prior to a particular run of captured data.
Time Recording in OpenOffice - How it´s done:
We started with a simple trick we discovered online, for entering the current time in an OpenOffice spreadsheet.
If you would like to know the details about this - here it is: =n <Enter> <F9> <Enter> <Enter> (6 keystrokes). The sequence "=n<Enter>" seems to pick "=now()" by default, so you don't need to enter the full function name, if you just use the extra <Enter> to pick the default. The F9 recalculates, so it changes the =now() function into its current value and enters that in the current cell. (If you skip the F9, you end up with a cell whose time keeps updating to the current time.) You can also change the final <Enter> to a <Tab> if you want to move to the right rather than down after entering the time in the cell.
Some online tips also describe how to enter a function in a Calc spreadsheet to reduce the number of keystrokes needed each time you enter the time, but that requires setup for each spreadsheet, and entering the time still involves a cryptic sequence of keystrokes. Not content to leave it at that, we set out to find something even easier to use, with a single click rather than a hard to remember key sequence. We also worked out a way to add this clickable toolbar icon to both Writer and Calc, so you´d have access to it regardless of which application you choose for writing your protocols. This has already been done on the Linux capture computers at the SCRC, but we explain it here so other labs can implement it...
OpenOffice Writer implementation
Adding
an Insert Time feature to Open Office Writer is easy, as most of the
work is done already. Start Writer
(Applications->Office->OpenOffice.org Writer), and you can see
there's an entry in Writer's menu for this: Insert->Fields->Time.
But to make things much quicker and easier, you can add a
toolbar button or keyboard shortcut to do this with one click or
keystroke combination. First, decide where you want to add the
toolbar button. A good place is in the cut-copy-paste section,
such as right after the Format Paintbrush tool. Find the
Paintbrush tool and right-click on it, and select "Customize
Toolbar..." from the context menu. In the Customize dialog
box, the Toolbars tab should be selected, and the Toolbar field set
to Standard. Scroll down the list of Commands in the Toolbar
Content section of the dialog box, and select the Format Paintbrush
there, then click the "Add..." button to the right.
In the Add Commands dialog box, select the Category called Insert,
then scroll down to the end of the Commands and select Time, and
click Add and then Close.
If you wish to add a keyboard
shortcut for this feature, click on the Keyboard tab in the Customize
dialog box, and scroll down the Shortcut keys section to find an
unused key combination that you'd like to use. A good choice
for this is Ctrl+Insert (about 2/3 the way down). Click on this
entry to select it, then under Functions, select the Category called
Insert, and the Function called Time (at the bottom of the list).
Then click on the Modify button to the right, and the selected key
combination should show up in the Keys section at the bottom right of
the dialog box. Click OK to close the Customize dialog.
Now,
when entering text in a Writer document, you can click the new
toolbar button or use the new key combination to enter the current
time at the insertion point.
OpenOffice
Calc implementation
Adding
an Insert Time feature to Open Office Calc (the spreadsheet program)
is a bit more work, but well worth the effort if you use the
spreadsheet for logging, such as when tracking your experiment
protocol during the preparation or data capture. Start Calc
(Applications->Office->OpenOffice.org Calc), and you can see
there is no similar entry in Calc's Insert menu. So, you must
begin by adding an OpenOffice macro to do this: select
Tools->Macros->Organize Macros->OpenOffice.org Basic... from
the Calc menu bar. The Basic Macros dialog box should show,
under Macro from, the Module1 macros in My Macros->Standard.
Select this if not already selected. In the section titled
"Existing macros in: Module1", select Main, then click the
Edit button on the right. Then copy the following code from
here, and paste it into the "My Macros & Dialogs"
editor window, just after the final "End Sub" line (after
"Sub Main"):
sub InsertTime
rem
----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem
----------------------------------------------------------------------
rem get access to the document
document =
ThisComponent.CurrentController.Frame
dispatcher =
createUnoService("com.sun.star.frame.DispatchHelper")
rem
----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Calculate",
"", 0, Array())
rem
----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
dim
ct as Date
ct = Now()
args2(0).Name = "StringName"
args2(0).Value = Format(ct, "yyyy-mm-dd HH:MM:SS")
dispatcher.executeDispatch(document, ".uno:EnterString",
"", 0, args2())
rem
----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight",
"", 0, args3())
end sub
After
pasting in this code, select File->Save (or Ctrl+S), and close the
editor window. Now you can use this macro for the toolbar
button and keyboard shortcut. As for the Writer tool bar above,
decide where you want to add the button. Again, a good place is
in the cut-copy-paste section, such as right after the Format
Paintbrush tool. Find the Paintbrush tool and right-click on
it, and select "Customize Toolbar..." from the context
menu. In the Customize dialog box, the Toolbars tab should be
selected, and the Toolbar field set to Standard. Scroll down
the list of Commands in the Toolbar Content section of the dialog
box, and select the Format Paintbrush there, then click the "Add..."
button to the right. In the Add Commands dialog box, scroll
down to the bottom of the Category list, click the triangle next to
OpenOffice.org Macros, then the one next to My Macros, and finally
the one next to Standard, and select Module1. In the Commands
list, select InsertTime, and click Add and then Close. Unlike
the built-in selection in Writer, this one doesn't have an icon
associated with it, so we'll add one now: make sure the InsertTime
function is still selected in the Commands list, click the Modify
button, then select "Change Icon...". In the Change
Icon dialog box, scroll down (once should do it) until you see the
little clock icon with the blue border, as you had seen for the
Insert Time toolbar button in Writer. Select it and click OK.
If you wish to add a keyboard shortcut for this feature,
click on the Keyboard tab in the Customize dialog box, and scroll
down the Shortcut keys section to find an unused key combination that
you'd like to use. A good choice for this is Ctrl+Insert (about
2/3 the way down). Click on this entry to select it, then under
Functions, scroll down to the bottom of the Category list, click the
triangle next to OpenOffice.org Macros, then the one next to "user",
and finally the one next to Standard, and select Module1. In
the Function list, select InsertTime, then click on the Modify button
to the right, and the selected key combination should show up in the
Keys section at the bottom right of the dialog box. Click OK to
close the Customize dialog.
Now, when entering data in a
Calc spreadsheet, you can click the new toolbar button or use the new
key combination to enter the current time in the current cell.
The macro will automatically move to the cell to the right, so you
can make an entry for the entered time. The first time you use this
in a new sheet, the time will not be formatted correctly: it will
likely show up as "###" because the column width is too
narrow. Click and drag the right-edge of the column heading to
expand the column, and the date and time will show up. If you
want more precision (seconds rather than minutes) in the displayed
time, select the column and then select Format->Cells... from the
menu bar. Select Time from the Category list, then choose the
format that suits you.
You can also add another toolbar
button to make quick work of selecting time format for a cell or
column of cells: note that the toolbar under the standard one (with
cut-copy-paste) features a section with other formatting options
(currency, percent, standard, add/delete decimal place).
Right-click on the last of these, and select "Customize
Toolbar..." from the context menu. In the Customize dialog
box, the Toolbars tab should be selected, and note that this time the
Toolbar field should be set to "Formatting". Scroll down
the list of Commands in the Toolbar Content section of the dialog
box, and select the last of the "Number Format" commands
there, then click the "Add..." button to the right.
In the Add Commands dialog box, select the Format entry in the
Category list, then select "Number format: Time" from the
Commands list (about 3/4 the way down), and click Add and then
Close. Again, unfortunately there is no icon for the button, so
we add one: with "Number Format: Time" still selected in
the Commands list of the Customize dialog box, click the Modify
button and select "Change Icon...". This time scroll
down to the bottom of the collection of icons, and select the other
clock icon (white with a black border). The mouse-over text for
this icon shows it as ".uno:TimeField". Select it and
click OK. Click OK again to close the Customize dialog.
Now,
you can quickly format a cell or column for the standard time
format. Note that with this button, it will show time only,
without the date, so you won't need to widen the column.
However, if you prefer that both date & time are displayed, you
can always widen the column and select a different time format as
above. The date & time are both stored, whether they're
both displayed or not, so you can go back and forth between different
formats without losing any stored information.