Issue Number | 4253 |
---|---|
Summary | Spike Story: Prototype Python version of CDR Server Filter Module |
Created | 2017-04-06 05:41:55 |
Issue Type | Task |
Submitted By | Kline, Bob (NIH/NCI) [C] |
Assigned To | Kline, Bob (NIH/NCI) [C] |
Status | Closed |
Resolved | 2017-04-11 11:42:56 |
Resolution | Fixed |
Path | /home/bkline/backups/jira/ocecdr/issue.206161 |
The Problem:
CDR filtering is currently implemented in C++ using the third-party
open-source Sablotron package. This package is no longer supported by
the original developers, and there are gaps in its compliance with the W3C standard.
The Question:
It is possible to re-implement the CDR filtering module using Python
without introducing any new problems (e.g., performance or
concurrency issues)?
Objective of this Spike Story:
Create a proof of concept for filtering CDR documents using Python,
determining whether:
the CDR filters can be made to conform to the standard without loss of functionality
the implementation can support the existing custom extensions
the filtered documents produced by the Python implementation match those created by the legacy server
the performance of the new implementation is acceptable
I have confirmed that we will be able to provide the functionality of the CDR Filter module in a Python implementation using the lxml package. Performance actually appears to improve in the Python version.
Elapsed: 0:00:00.001286