inveniosoftware / invenio

Invenio digital library framework
https://invenio.readthedocs.io
MIT License
626 stars 292 forks source link

Create/display QR codes for records #1441

Closed sbujam closed 10 years ago

sbujam commented 10 years ago

Originally on 2013-03-29

I was wondering if an addition of an optional area displaying a unique QR code for each record would seem a useful feature to support in future version.

An idea would be to have it shown somewhere near the rating area, or in a separate 'tab' in the detailed record page.

Ideally it should be switched on/off by a relevant configuration variable in invenio(-local).conf

Obviously, it's not of vital importance to most people (including me), but since there is such a 'hype' around QR codes (and some find them very useful), it would be nice if Invenio could support it.

lnielsen commented 10 years ago

Originally on 2013-04-02

I've implemented a basic QR-code generator on Zenodo: See http://invenio-software.org/repo/openaire/tree/bibformat/lib/bibformat_elements/bfe_qrcode.py?h=next

I'll try to get it integrated in Invenio.

Currently, it's just linking to the record itself, so you can easily get the same page on your cellphone. It would however perhaps be more useful to use it for the resources, e.g. to grab the PDF on your smartphone for later reading.

lnielsen commented 10 years ago

Originally on 2013-04-09

Ready for integration in http://invenio-software.org/repo/personal/invenio-lnielsen/commit/?h=master-qrcode-1441&id=11c3e69094e58ba76f453a506e1010f67ff627a9

BibFormat: add QR-code format elementmaster-qrcode-1441
* Adds QR-code bibformat element that links to the current
  record (closes #1441).

- Requires Python modules qrcode (Python 2.5+) and PIL/Pillow.

=== Kwalitee

(atlantis25master)lnielsen@lnielsen-hp:~/envs/atlantis25master/src/invenio$ git diff master --stat
 modules/bibformat/lib/elements/Makefile.am   |    3 ++-
 modules/bibformat/lib/elements/bfe_qrcode.py |   95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 97 insertions(+), 1 deletion(-)
(atlantis25master)lnielsen@lnielsen-hp:~/envs/atlantis25master/src/invenio$ invenio-check-branch master master-qrcode-1441
[INFO] Going to check the following files from master to master-qrcode-1441:
modules/bibformat/lib/elements/bfe_qrcode.py
[INFO] Installing branch master ...
Switched to branch 'master'
invenio-make-install finished.
[INFO] Installing branch master-qrcode-1441 ...
Switched to branch 'master-qrcode-1441'
invenio-make-install finished.
[INFO] Comparing kwalitee of modules/bibformat/lib/elements/bfe_qrcode.py between master and master-qrcode-1441 ...
--- /tmp/invenio-check-branch-2013-04-09-13-29-29-master    2013-04-09 13:29:36.084485154 +0200
+++ /tmp/invenio-check-branch-2013-04-09-13-29-29-master-qrcode-1441    2013-04-09 13:29:44.352487771 +0200
@@ -0,0 +1,2 @@
+ [E, _get_record_hash] Instance of 'md5' has no 'update' member
+
[ERROR] More warnings in branch master-qrcode-1441.  Please fix.

The error [E, _get_record_hash] Instance of 'md5' has no 'update' member is not valid.

tiborsimko commented 10 years ago

Originally on 2013-06-03

Looks good, fixing whitespace in Makefile and integrating.

lnielsen commented 10 years ago

Originally on 2013-06-03

In 03fb99dbecb0bc71d48e61be86dc8f7122950668:

#CommitTicketReference repository="invenio" revision="03fb99dbecb0bc71d48e61be86dc8f7122950668"
BibFormat: QR-code format element

- Adds QR-code bibformat element that links to the current
  record. (closes #1441)

- Requires Python modules qrcode (Python 2.5+) and PIL/Pillow.

Tested-by: Tibor Simko <tibor.simko@cern.ch>
lnielsen commented 10 years ago

Originally on 2013-06-10

In 03fb99dbecb0bc71d48e61be86dc8f7122950668:

#CommitTicketReference repository="invenio" revision="03fb99dbecb0bc71d48e61be86dc8f7122950668"
BibFormat: QR-code format element

- Adds QR-code bibformat element that links to the current
  record. (closes #1441)

- Requires Python modules qrcode (Python 2.5+) and PIL/Pillow.

Tested-by: Tibor Simko <tibor.simko@cern.ch>