PP-110325-b-ABR_RMSImporterStatus

Download Report

Transcript PP-110325-b-ABR_RMSImporterStatus

RMS Importer Status
MACS Week March 2011
PP-110325-b-ABR_RMSImporterStatus
1
Angela Brett
RMS Importer Status
Status at last MACS week
Current status:
• Importer parses XML and creates SQL statements
• SQL statements need to be copied into an
external program and are committed manually to
the RMS data base
Outlook:
• A graphical user interface that guides through all
necessary steps
PP-110325-b-ABR_RMSImporterStatus
2
Angela Brett
RMS Importer Status
Progress
•
•
Interface
completely
redesigned to be
more similar to
the RMS
Exporter, with
‘plugins’ parsing
different parts of
a file, and
separate Load,
Create and
Deploy tabs.
Uses WPF instead
of Windows
Forms, as all
MACS software
will in future.
PP-110325-b-ABR_RMSImporterStatus
Angela Brett
RMS Importer Status
Process
Importer looks through XML file and passes each tag to the
relevant plugin.
1. Each plugin generates a list of which records it will create in
the database.
2. Each plugin declares which records it requires in the
database (e.g. parent records of the ones it will create)
3. The importer checks that all required records either already
exist or will be created by other plugins.
4. If all required records can be found, the user can click
‘Create’ to create the final SQL statements and other actions
such as calling RMS functions. These are shown in a way that
is understandable to non-experts.
5. The user can then click ‘Deploy’ to run these actions. They
are shown in a list with a status (Waiting, Executing,
Succeeded, Failed, or not scheduled to run because a
previous action failed)
6. If all actions succeeded, the user can click on either ‘Undo’ to
undo everything, or ‘Commit’ to commit the changes.
PP-110325-b-ABR_RMSImporterStatus
Angela Brett
RMS Importer Status
Pre-deployment Report
• The user
does not see
any SQL,
but is shown
a more
humanreadable
report of
what will be
done in the
database.
PP-110325-b-ABR_RMSImporterStatus
Angela Brett
RMS Importer Status
Deployment
PP-110325-b-ABR_RMSImporterStatus
Angela Brett
RMS Importer Status
Versioning
• Version numbers are now
calculated based on the
previous versions, rather
than entered directly on the
interface. Existing data
points are updated to use
the newest versions of data
types using an RMS library
function.
• The status of the new data
types are now set to In
Work, and any existing In
Work records are changed
to either Deprecated or
Released status, according
to the user’s preference.
Read item from
XML
Item exists
In database?
No
Create version
1.0.0
Yes
Stop
No
User wants to
replace temp
version?
Yes
Temporary
version exists?
Yes
No
Delete existing
temporary version
Create temporary
version
Calculate new
version number
using RMS
function
Set in-work
version to
deprecated
No
User wants to
release in-work
version?
Yes
In-work version
exists?
Yes
Set in-work
version to
released
No
Create new inwork version
PP-110325-b-ABR_RMSImporterStatus
Angela Brett
RMS Importer Status
To do
• More testing of versioning
• Read OPC group, OPC Server, Software Module, Description
and System
• Read clinical values (need a field in the database for this)
• Make sure the plugins are run in the right order according
to dependencies
• Link data types to the document record
• Some basic interface cleanup
• Make sure things are enabled/disabled when they should be
• Add missing icons
• Add ‘Abort’ button on all tabs
• Check which items already have In-Work versions instead
of assuming they all do.
• Allow undo of deployment when adding a new version (this
requires some changes in the RMS versioning functions.)
PP-110325-b-ABR_RMSImporterStatus
Angela Brett
RMS Importer Status