#342: BibEdit: consider adding alternative Javascript-less, basic, BibEdit
---------------------------+------------------------------------------------
Reporter: jcaffaro | Owner:
Type: task | Status: new
Priority: minor | Milestone:
Component: BibEdit | Version:
Keywords: BatchUploader |
---------------------------+------------------------------------------------
The editing of large records (~10'000 subfields) with BibEdit can be slow
on some machines, due to the intensive use of Javascript. As a
''workaround'', for simple editing of large records it might be useful to
offer BibEdit users an alternative, which could simply consist in a
<textarea> showing the MARC or MARCXML representation of the record.
This Javascript-less version would be ultra-fast, and with plugins such as
[http://mozex.mozdev.org/ MozEx] would let users edit the record in their
preferred editor.
A downside of this solution is the possibility for users to produce
invalid markup if not used with caution. Server-side validation should be
implemented. Another disadvantage over the current BibEdit is the loss of
some neat Javascript-based features such as auto-complete.
A possible implementation could simply show authorized users an "Edit"
button on detailed record pages (http://invenio-
demo.cern.ch/record/96/export/hm), transforming the "HTML MARC" view into
a textarea when clicked, with a possibility to apply changes. This could
be extended to search results pages when viewed in HM output format http
://invenio-demo.cern.ch/search?of=hm .
Some Javascript could still be used to enhance the user experience (for
eg. ensure that tags shown in the left "column" of MARC output are not
editable, or at least valid, or make sure that text selection is limited
to content, not tags, similarly to what is done with source code syntax
highlighting scripts on web pages http://codemirror.net/
http://www.cdolivet.com/editarea/editarea/exemples/exemple_full.html) but
then speed would surely again become an issue.
Note the similarity with BatchUploader, which does rely on uploaded files
instead.
--
Ticket URL: <http://invenio-software.org/ticket/342>
Invenio <http://invenio-software.org>