The BTE (Biblio-Transformation-Engine) Framework was officially deprecated in DSpace 6.x. This framework was used by the JSPUI for importing metadata from external sources and/or common structured files (like BibTeX, etc). This framework was built/maintained by the Hellenic National Documentation Centre (EKT)
Deprecation (and removal) is necessary for the following reasons:
- The EKT developer who built this framework left their organization in/around 2015. While EKT staff said they'd try to support it for one more release (v6.x), it's long term future was uncertain.
- Since 2014, no maintenance/updates have occurred on BTE: https://github.com/EKT/Biblio-Transformation-Engine Obviously, DSpace cannot use continue to use third-party libraries that are unmaintained.
- The BTE codebase has become stale and uses additional libraries with known security vulnerabilities. See comment below for full details.
The recommendation of this ticket is to remove BTE in favor of the "Live Import" framework (which overlaps in functionality, but was XMLUI specific in v6). See the "Live Import" 6.x docs at:
- General overview: https://wiki.lyrasis.org/pages/viewpage.action?pageId=68064788#Introduction
- More details: https://wiki.lyrasis.org/display/DSDOC6x/2016+Framework+for+live+import+from+external+sources
This choice of a single importer framework also aligns with the goals laid out in our last Strategic Plan, namely to be "lean" and avoid duplicative functionality in our codebase.
Before removing BTE, we should look to replace each of its features with a Live Import based version. Full replacement need not be required for BTE removal, but ideally there is minimal (or zero) loss of functionality for old JSPUI-based users (XMLUI-based users would have no functionality loss as BTE never supported XMLUI). Additional tickets should be linked to this one describing each of the missing gaps in "Live Import" that are necessary to replace BTE.
This ticket has been tentatively scheduled for 7.0, as we should not encourage institutions upgrading to 7.0 to continue to utilize BTE. Ideally, therefore, it should be removed prior to the 7.0 final release, in order to no longer support two parallel frameworks.