Friday, May 14, 2021

Tablets and Scanners

Background

Modern tablets (Android, iOS, Windows) have the screen size and processing power to enable real-time data entry into Mosaic Vivarium in the animal room. While the device camera permits barcode scanning, high-volume operations like census-taking are still faster with a dedicated scanner. This article describes some example hardware for a tablet plus scanner setup.

Tablet

If you are doing data entry on the tablet, a modern processor and sufficient screen size should guide your choices. Choose comparable to the following:


Consider a rugged case to protect your investment.

Scanner

Scanners can be connected as keyboard devices to tablets. If you have Zebra LI4278 devices, you can use these instructions to connect to your tablet of choice:


Another convenient linear scanner:


Pro Tip:  The Virtual Keyboard

When a scanner is attached, the tablet interprets it as a keyboard. The default behavior is to hide the tablet's virtual keyboard. On Android, you can turn the virtual keyboard back on. Visit:

Settings : System/Language : Physical Keyboard : Use on-screen keyboard (turn that setting on)

Thursday, July 23, 2020

Cage Card Printing

(Updated 2023-Feb-03)

We have had success with the following printer options:

DYMO LabelWriter Series

  • LabelWriter 5XL
  • LabelWriter 550 Series
  • LabelWriter 4XL
  • LabelWriter 450 Series
The 30256 Label (2.3" x 4") is a commonly used label size.


NOTE:  DYMO has recently made significant changes in the way their new 550 series printers work. They will no longer be able to use compatible labels from other brands. You will have to purchase DYMO brand labels that support their "Automatic Label Recognition" software and printer hardware.

A work-around from reddit (use at your discretion):  On the core of the official Dymo labels is an RFID/NFC tag. Just remove the tag from the cardboard core and tape it to the side of the machine. You can find a good spot when the flashing light on the front stops flashing.






Brother Label Printer Series

  • QL-700 Series
  • QL-800 Series
  • QL-1100 Series
The DK-1202 Label (2.4" x 4") is a commonly used label size.



iDPRT Label Printers   

  • SP-310
  • SP-420

This is our new favorite printer!  

It prints labels that use a 0.5/1.0/1.5 inch core size - compatible with common Zebra, Brother, and other 3rd party labels.

When installing the printer software (https://www.idprt.com/downloads/), we recommend the "Seagull Type" printer driver if available for your computer and printer model.  Seagull is a highly reputable company (https://www.seagullscientific.com/)

IT SUPPORTS A 3" x 5" LABEL!

OfficeSmartLabels - 3" x 5" Direct Thermal Labels - Compatible with Zebra & Rollo Desktop Label Printers and More – 1” Core, Permanent Adhesive & Perforated [300/Roll, 1200 Labels in 4 Rolls (https://www.amazon.com/gp/product/B00V5H8CCA)

Zebra Label Printers

  • GX420D
  • ... many other models
One interesting alternative is Zebra GX420D. With this printer, consider also purchasing:
  • Optional Wireless Internet Network Ready (WiFi)
  • Adjustable Paper Size Rails


The Zebra thermal printer will print labels, including those with a robust card stock backing. These may be used without peeling the label off and inserted directly into a standard cage card holder. Example stock: RL953DT - 3" x 5" Thermal Roll Labels - 1" Core / 4" Outer Diameter. Be warned, however: setup of the Zebra is not plug-and-play like the DYMO; some technical savvy is required!

Wednesday, October 2, 2019

Connecting older LS 4278 scanners to an iPad


The LS4278 model was discontinued in 2012:

It has been superseded by the LI4278 model:

If you have not ordered equipment yet, choose the LI4278.

If you order an LS4278 the device might not come with a printed manual (only one for the cradle). Unfortunately you need various command barcodes printed in the manual to get the device set up, and it is unable to scan a barcode from a computer monitor. You will need to print out various sections of the downloaded PDF manual in order to get things working.

The LS4278 fails to pair via bluetooth with the iPad initially. Apparently iOS requires (or at least supports) some special bluetooth profiles for keyboard support. Zebra provides some instructions for bluetooth pairing with iPad for the newer LI4278 device, but it must be running one of the newer firmware versions:

The instructions for iPad would NOT work with the older LS4278 model. However, I updated the firmware using their 123Scan configuration utility. Sadly the update tool hung after it installed the new firmware when attempting to reboot the scanner. The firmware update seems to be successful though.

This solved nothing. The scanner still does not recognize some of the special iPad pairing instruction barcodes. I think the special bluetooth pairing instructions may be a bit misleading though; I was eventually able to pair it using standard bluetooth HID keyboard device profile. It seems they only allow some sort of "virtual keyboard toggle" using a quick double-click of the scanner trigger, but this was not obvious from the linked article.

At any rate, after configuring the scanner to pair via bluetooth, the iPad would find the scanner, show a spinner after trying to pair, and then provide an unhelpful "pairing device unsuccessful" message. I could see a quick flash of some window that was too quick to read before this. I recorded a screen capture video of the process and paused it at the appropriate point to find that it was asking for the client device to enter a randomly generated PIN code. I later discovered that there is a way to switch the scanner device from static pin code to "Variable PIN Code" mode. However, the instructions are SO unclear on how to make this work.

Here is the full procedure that worked for me for pairing one of these devices to iOS:
  1. Reboot your iOS device (may not be necessary, but I had some trouble from the host device side as well).
  2. Install latest firmware on Zebra scanner. As of this writing, I have LS4278 device running firmware "Release 019 - 2015.10.20 (NBRACAAM-NBCACAAR)". Presumably this is the last version that will be released for this device given the date.
  3. You must have the printed manual to perform the following. The manual is over 300 pages long. If you do not have it, download the PDF from here and print chapter 4 "Radio Communications" and Appendix E "Alphanumeric Bar Codes".
  4. Reset the scanner to factory defaults (there is a code for this somewhere in the manual, or through 123Scan configuration app).
  5. From chapter 4, scan in order:
    1. Host Type: Bluetooth Keyboard Emulation (HID Slave)
    2. Discoverable Mode: General Discoverable Mode
    3. Keyboard Type: North American Standard (may not be necessary)
    4. PIN Code: Variable PIN Code
  6. On iPad, go into Settings -> Bluetooth. The scanner device should appear. Attempt to pair. iPad will display a PIN code to enter on the scanner.
  7. Using printed barcodes from Appendix E, enter the requested PIN code, followed by the "End Of Message" barcode.
    1. NOTE: The manual includes an Appendix D "Numeric Bar Codes" with barcodes for 0-9 and "Cancel" DO NOT attempt to use these barcodes. They don't work, and as soon as the first one is scanned, the pairing process ends as "unsuccessful" in the iPad.
  8. Pairing should be successful after this.
Just when you thought we were in the clear....

Turns out that when you have a bluetooth HID keyboard device attached to the iPad, it will no longer display the on screen keyboard (at all). There is no workaround for this:

The special iPad instructions for the newer LI4278 scanner device allow you to bring up the on screen keyboard using a quick double-click of the scanner trigger. Since this won't work with the LS4278, I used a female USB type-A to lightning bolt adapter to connect a physical keyboard to the ipad. Now both scanner and physical keyboard work.

Finally, the scanner may be too fast for some iPads.  This may manifest in dropped characters while scanning into a Mosaic web page.  Consult your manual and find the command barcodes for setting "HID Keyboard Keystroke Delay" The options are "No Delay 0ms (default)", "Medium Delay 20ms", and "Long Delay 40ms".  We have found that the 40ms delay fixes issues.

[This information provided courtesy Mathias Smith who spent quite a bit of time and effort working through these issues!]

Monday, May 15, 2017

Chrome 58 Affects Direct DYMO Printing

2017-Jun-21 Update:
DYMO has published a fix:

http://developers.dymo.com/2017/05/30/new-dls-8-released-this-fixes-security-certificate-issue-for-windows/

Use the "Windows Download link" to get the relevant version of the DYMO software.  NOTE: the standard download location does not yet have this version.

Previous Post:
The latest version of Chrome has exposed a weakness in DYMO's direct printing.  For the details, read here:

http://developers.dymo.com/2017/05/04/google-chrome-not-secure-warning-fix-is-on-the-way/

A work-around is to use the following setting:

chrome://flags/#allow-insecure-localhost


Update:  we discovered an unfortunate side-effect of using this setting is that valid https sites might show certificate errors.

Wednesday, July 1, 2015

“Skype Click to Call” Negatively Impacts Performance

We have discovered that the Skype Click to Call Extension in Firefox greatly reduces Mosaic worksheet performance.  To avoid this, we recommend that you disable the Extension.

Though we have not tested it, Internet Explorer and Chrome may see slow downs as well.

We believe that the reason lies with this Extension scanning the entire page looking for phone numbers.  Since Mosaic worksheets have a large amount of data, this may explain the slow-downs.

image

Wednesday, June 17, 2015

New MIME type required for On-premises Mosaic

Sites hosting Mosaic Vivarium on-premises will need to register a new MIME type with IIS:

File name extension .woff2

MIME type application/font-woff2

NOTE:  you should retain the existing .woff extension with MIME type application/x-font-otf

SNAGHTML2e7f7f22

 

image

Monday, June 8, 2015

Changes to Animal Health Cases

Coming changes will affect who may access Animal Health Cases on the associated Worksheet.  Read below because there are things you must prepare to maintain proper access.

Normal users who will view health cases will need the “View Health Case” privilege.

Administrators who should see all health cases regardless of ownership will need the “Health Case Administrator” privilege.

image

ACTION:  We added these privileges before implementing the changes so that you can add the privileges to the desired Roles.  You should do this now if you have not done so already.

For users without “Health Case Administrator” but with “View Health Case” access to individual rows will be governed by the person and group fields on the case:  if you are the person on one of the person fields, or you belong to one of the groups on the group fields, then you may see the case.  For details see this new help topic:

image

We have ADDED “Veterinarian Group” to the worksheet:

image

IMPORTANT NOTE:  the “Assigned To Group” is the same field that appears on the Task Worksheet.  Previously, this field appeared as “Veterinarian Group” on the Health Cases Worksheet, but it was really the Assigned To Group.  This was confusing.  Furthermore, some sites require separate Veterinarian/Veterinarian Group columns on the health case so that monitoring may be Assigned To technician/caretaker personnel (using Assigned To/Group) while oversight may be assigned separately to Veterinarian staff (using Vet/Vet Group fields).

NOW:  the Assigned To Group is the same on the Health Cases worksheet as on the Task Worksheet.  The Veterinarian/Veterinarian Group fields apply only to Health Cases and appear only on that worksheet and NOT on the general Task Worksheet.

ACTION:  you will probably want to enter your Veterinarian Group values on the Health Cases Worksheet before the final changes to permissions take effect.

Thursday, May 28, 2015

Viewing Images in Mosaic Help Desk

The current version of Atlassian’s JIRA (our Help Desk vendor) produces unreadable, small thumbnails of images in the Customer Portal.  We understand they are working on a fix for this.
Meanwhile, to view these images, you’ll need to use your browser’s capabilities by right-clicking on the image and choosing a viewing option from the menu:

Firefox -
Chrome -

Internet Explorer -

Tuesday, April 21, 2015

Chrome 42 on Mac

One of our customers has found that Chrome on a Mac (OS 10.10.2) did not respond to the Silverlight plug-in instructions discussed here http://mosaicvivarium.blogspot.com/2015/04/chrome-42.html

However, this same customer found a solution using the Chrome app shown below.

Meanwhile, we’re continuing our transition completely away from Silverlight.

 

Screen Shot 2015-04-17 at 7 57 54 PM

Wednesday, April 15, 2015

Chrome 42

Chrome (and Firefox) are phasing out support for “NPAPI” plug-ins.  This includes things like Apple QuickTime, but most importantly for Mosaic users, Microsoft Silverlight.

With version 42 Chrome will act like Silverlight is not installed:

image

To correct this enter

chrome://flags/#enable-npapi

in your browser address bar and locate the setting shown below.  Press “Enable”:

image

Now the link will read “Disable” and a “Relaunch Now” button will appear at the bottom of your screen.  Press it:

image

Cage-side Assistant Silverlight functionality will be restored.

You can read more details here: http://www.chromium.org/developers/npapi-deprecation

In particular, read the April 2015 section:  Google is making it “more difficult to navigate, as a means of discouraging NPAPI use by developers.”

The Mosaic team is making progress with the pure-web version of the Cage-side Assistant and expects to meet the September 2015 deadline for loss of browser support for Silverlight.

Additional reference: https://support.microsoft.com/en-us/kb/3058254/

Thursday, January 29, 2015

Known Issue: Chrome / Silverlight

The latest versions of Chrome now require users to authorize Silverlight to run.  By following the guide below you can eliminate repeated requests for authorization:

ChromeSilverlight

Friday, September 26, 2014

Known Issue: Magic Scrolling in Chrome 37.0

If you are using Chrome around version 37, such as this version:

image

you may find that wide worksheets in Mosaic (those with a horizontal scrollbar at the bottom of the grid) will slowly scroll themselves back to the left.  This has just started with the introduction of recent versions of Chrome.  We are working on a fix.

Meanwhile, we’ve also identified that this behavior does not occur if the browser is set at 100% zoom.  You can check your zoom using the menu in the upper right:

image

Adjusting back to 100% seems to eliminate the unwanted scrolling.

Friday, April 18, 2014

Heartbleed Vulnerability

Mosaic Vivarium does not use the open source “OpenSSL” package and is therefore not vulnerable to the Heartbleed exploit.  Mosaic Vivarium servers (either hosted by us or at our customers’ facilities) use Microsoft web servers with Microsoft’s implementation of SSL.

Monday, February 24, 2014

Known Issue: Intermittent Error Messages, Especially with Chrome version 33+

You may sometimes see an error dialog:

image

If you click on Details you then see “breeze error: Error: Illegal construction – use ‘or’ to combine checks”:

image

This happens mostly when you first login and seems especially prevalent with the latest version of Chrome, version 33.

The message is a nuisance that poses no problems for your data:  simply refresh the web page.  We apologize for the inconvenience.

We are working hard to find the cause and fix it.

Cage Card Printing with Chrome version 33+

During a recent update to Chrome, Google introduced a built-in PDF viewer.  Unfortunately, this does not have the control needed to properly print cage cards.  There is a simple procedure to restore the previous behavior using Adobe Reader:

In the Chrome address bar, type chrome://plugins

clip_image002

Find a section that looks like this:

image

Disable the Chrome PDF Viewer and Enable the Adobe Reader so the settings look like this:

image

Done.

Note – there are always security considerations with browser plugins.  Adobe Reader is widely used and from a trusted author.  Nevertheless, you should take care to install recommended security updates for Adobe Reader as they become available.

Friday, January 31, 2014

Updating MosaicService

For customers with Mosaic installed on your own servers with a current software maintenance contract, you will occasionally receive updates to the MosaicService.  This component is responsible for scheduled Notifications, and other services.  Here are the steps:
  • Stop the Mosaic Service
  • COPY your MosaicService directory as a precaution
  • Extract the new MosaicService.zip contents over your existing MosaicService directory
  • Start the Mosaic Service
Additional notes (before re-starting the service):

Make sure to retain a copy of your original vci.config.xml file which resides in your MosaicService directory.  This file is overwritten when you extract the .zip file.  You will need to re-introduce any local modifications made to this file, usually those settings which start with Vci.Mosaic.Email.* which configure email.  Pro tip:  enter XML comments in your version of vci.config.xml that remind you which settings you have modified for your local install.

You do not need to retain contents of the Vci.Mosaic.MosaicSchedulerService.Clients node because you will re-register the web with the service later.

If your Mosaic sandbox does not reside at D:\MosaicSandbox, you will need to modify:
<add key="Vci.Mosaic.Sandbox" value="D:\MosaicSandbox\Service" />
in your MosaicService.exe.config file.  This file is overwritten with new updates, so you’ll need to inspect your original MosaicService.exe.config for the proper value of Vci.Mosaic.Sandbox on your server.

Finally, re-register your Mosaic web with the service:

  • Login as mosaic
  • Visit Administration | Maintenance -> Mosaic Maintenance
  • "Cache and Miscellaneous"tab
  • Press "Register With Scheduler"
  • Visit Administration | Reports -> Event Log to confirm


Tuesday, January 7, 2014

Uploading Genotypes to Mosaic Vivarium

Background

Genotype results frequently are provided in Excel format. Here we describe how to prepare your data for direct upload to Mosaic Vivarium.

Procedure

An example results download from Transnetyx looks like this:

clip_image001

First, eliminate all information except the animal identifier and genotype calls until the spreadsheet looks like this:

clip_image002

If you have fewer than 100,000 animals in Vivarium, you’ll need to format the numbers to include leading zeros. Drag the following formula down:

clip_image003

To get this:

clip_image004

If your Transnetyx download includes hyperlinks, right-click the column header and choose “Remove Hyperlinks”:

clip_image005

Select your formatted values and click Control-C to copy them:

clip_image006

Right-click in cell A1 and choose Paste Values:

clip_image007

Then right-click the column header of the column you created and choose delete:

clip_image008

You are left with the animal identifier column and one or more genotype call columns. Save this as a CSV file:

clip_image009

If you open the saved file with Notepad, you should see:

clip_image010

Now visit Animals | Genotyping:

clip_image011

Press the “Upload Genotypes” button and follow the prompts. Make sure the order of the columns shown matches the order of columns in your CSV file:

clip_image013

Press the Upload button at the top of the grid, follow the prompts.

If you get errors such as the following:

clip_image015

it means that the nomenclature used by your genotyping service does not match the nomenclature you have used in Mosaic Vivarium. Vivarium uses the long name of the genotype call to perform the match. You can either modify the import file, or modify Mosaic Vivarium. Genotype nomenclature must match for the import to work.

If you wish to modify Mosaic Vivarium, visit Administration | Lists -> Lookup Lists and select the Genotypes list. You can edit the long or short names of any genotype in the system. Note: if modifying the central genotype lookup modifies the genotype label for ALL EXISTING animals in the system that use that genotype. Be sure you understand what you are doing before performing this edit.

Once your genotype data file matches your Vivarium genotype nomenclature, the import will work:

clip_image016

clip_image017

For more details specific to Transnetyx, see also Extracting Results from Transnetyx for Upload to Mosaic

Wednesday, November 27, 2013

Mating Records in Mosaic Vivarium

A mating record in Mosaic Vivarium represents a list of possible parents for a set of litters.  When you put animals together, Vivarium will inspect the list of existing mating records for the same set of parents – if the exact same set of parents exists for a mating record, Vivarium will re-use that mating record for the new mating cage.  That means new litters seen in the cage will be added to the existing mating record.

If the set of possible parents in a cage has not been seen together before, a new mating record is created.  New litters seen in the cage will be added to the new mating record.

The mating record serves at the basis of your pedigree.  To find all ancestors of an animal, Vivarium inspects the parents associated with the mating ID from which the animal came.  Then Vivarium looks at the mating IDs from which those parents came, etc., until it finds animals from the “N/A” mating ID.  Those animals are ones which were received into the system (not bred in the facility).

IMPORTANT:  The only reason to modify the parent animals associated with a mating ID is to correct an error in the identity of one or more of the parents.  When you attempt to make such a change, you will see the following message:

image

In rare cases, we have seen cases of people modifying a mating record and recording a descendant as a parent.  If you do this, you will see one of the following two messages:

image

or:

image

Some earlier versions of Mosaic Vivarium did not perform this check for you, and it was possible to make an error leading to an impossible pedigree (like me being my own grandfather).  We have seen one or two instances of this out of hundreds of thousands of matings.

If you do have a pedigree loop, you will see an error when you try to setup a mating indicating the loop.  The specific animal will be identified.  The easiest way to fix this is:

  1. Search for the animal on the Animal Worksheet.
  2. Right-click on the animal’s row, and choose Mating –> “All Matings with these Parents”.
  3. Next, remove that animal from the list of parents in oldest mating record.

All your animal records will remain, but you will have incomplete pedigree information for some animals.  Of course the pedigree is already incomplete since this error likely occurred by replacing a correct parent in the mating record with a new one.

The important thing to understand is that setting up new matings is the process of putting a different set of possible parents together, resulting in a new mating ID.  Existing mating records which have litters recorded are the birth records for those animals.  Changing the parents in the offspring’s birth records (mating ID) only makes sense as an error correction if the original parents were misidentified.

Wednesday, November 13, 2013

ORACLE Bug Potentially Affecting Sites Hosting Mosaic Vivarium

If you are running unpatched ORACLE 11.2.0.1.0 64bit Production, you may experience incomplete query results.  The issue is described here:

http://arjudba.blogspot.com/2011/12/select-query-returns-wrong-result-after.html

If you do not apply patches, a work around is to add:

_index_join_enabled=false

to your init.ORA

If you use an spfile, you can issue the following command:

alter system set "_index_join_enabled"=false scope=spfile;

Monday, November 11, 2013

Update to Mosaic Online Help Site

We have migrated our online help site to a dedicated server to improve reliability.  To continue to use context-sensitive help (the “How Do I…” links) in Mosaic, sites that host Mosaic internally will need to take these steps:

Login as the “mosaic” user

Visit the Mosaic Settings page at Administration | Maintenance –> Mosaic Settings

In the Mosaic Application Configuration group, modify the following two settings:

image

The complete URLs are:

https://m1.mosaicvivarium.com/MosaicHelp/MosaicHelpHandler.aspx

https://m1.mosaicvivarium.com/MosaicHelp/SaasAlerts/alerts.aspx

NOTE:  these URLs will return a blank page if accessed directly via browser.  Content becomes available only when accessed through a Mosaic web site.