Skip to content

Releases: SaibotMagd/dmtxSampleCreator

dmtxSampleCreator v0.5-alpha

17 Nov 13:07

Choose a tag to compare

Pre-release

📦 Release Notes – dmtxSampleCreator

Overview

dmtxSampleCreator is a browser extension designed to streamline sample tracking in electronic lab notebooks (ELNs).
It reads DataMatrix codes via the device camera and either:

  • Links to an existing sample entry, or
  • Creates a new sample in the inventory and inserts the link directly into an ELN text field.

Currently supports RSpace ELN. Support for eLabFTW ELN is in progress (see Roadmap).


🚀 How to Use

  1. Open a basic ELN document.
  2. Enter edit mode for an iframe (custom text field).
  3. Place the text cursor at the desired insertion point.
  4. Click the “link sample” button (top-left corner).
    • The browser camera opens in a transparent overlay.
    • Allow camera access if prompted.
  5. Present the DataMatrix code (or other codes supported by html5-qrcode).
  6. Depending on the result:
    • Green field → Code found in database.
      • Use 👍 Insert button to add link(s).
    • Yellow field → Code not found.
      • Enter a custom sample name or use the default.
      • Use 👍 Insert button to create a new sample entry and insert its link.

⚙️ Dependencies

  • Python ≥ 3.10
  • Flask ≥ 2.2.2
  • Flask-Cors ≥ 3.0.10
  • requests ≥ 2.31.0

(See environment.yml for the full list.)


🔑 Configuration

  • Fill out api_secrets.example.
  • Rename it to .json for use.

📜 Version History

v0.5

  • Migrated to Manifest V3.
  • Packaged as .crx file (usable without developer mode, supports distribution).
  • Tested successfully on Android 12 tablet, Windows 10, Windows 11 Surface.
  • Implemented Flask backend for production use.

v0.4

  • Improved UX: continuous scanning with visual indicator.
  • Added search for existing samples with direct link.
  • Added option to insert custom sample names during creation.
  • Default sample name now stored in defaultELNconnection for safety.
  • New buttons: Insert & Abort.
  • Color-coded message fields:
    • Green = found in database
    • Yellow = not found, create new entry
    • Red = error (TODO)
  • Switched decoding from backend (pylibdmtx) to frontend (html5-qrcode).
  • Added German translation of tutorial.
  • Major refactoring and roadmap updates.

v0.3

  • Greyscale images for faster decoding.
  • Bugfix: camera deactivates after insert.
  • Known bug: multiple links cannot be inserted into empty field without saving.

v0.2

  • Bugfix: improved cursor position detection.
  • Roadmap updated.

v0.1

  • First public release.
  • Known bugs:
    • Cursor position not precise.
    • Duplicate DataMatrix codes only link to first entry.

🛠 Roadmap (Priorities [1–5])

  • [5] Full eLabFTW support.
  • [5] Faster scanning (shearing correction, image improvements).
  • [5] Error handling (e.g., warning if outside iframe).
  • [4] Support for physical barcode scanners.
  • [3] Customizations (editable link text, eLabFTW API calls).
  • [3] Camera switching (front/back).
  • [3] Improved interface clarity (hover info, intuitive icons).
  • [2] Batch-scan capability (pending user feedback).
  • [2] Mode to search samples outside documents.
  • [2] Packaging as a regular extension.

📌 Notes

  • Default sample naming convention ensures reproducibility:
    Qrcode-decodedText_ELN-documentName_ELN-document-uniqueID_ELN-document-creator-username_timestamp
    
  • Core principle: each sample must be linked to a protocol describing its creation.