Releases: SaibotMagd/dmtxSampleCreator
Releases · SaibotMagd/dmtxSampleCreator
dmtxSampleCreator v0.5-alpha
📦 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
- Open a basic ELN document.
- Enter edit mode for an iframe (custom text field).
- Place the text cursor at the desired insertion point.
- Click the “link sample” button (top-left corner).
- The browser camera opens in a transparent overlay.
- Allow camera access if prompted.
- Present the DataMatrix code (or other codes supported by
html5-qrcode). - 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.
- Green field → Code found in database.
⚙️ 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
.jsonfor use.
📜 Version History
v0.5
- Migrated to Manifest V3.
- Packaged as
.crxfile (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
defaultELNconnectionfor 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.