Download presentation
Presentation is loading. Please wait.
Published byNathan Walborn Modified over 9 years ago
1
Bulk XFDU Creator Sergey Nikhinson Lou Reich
2
Requirements ● create an XFDU manifest and save it as template ● create new template or modify existing template ● specify pattern for file names that will be used as data and metadata objects ● specify relationships between data and metadata (content unit info) ● specify necessary attributes for data/metadata/content units ● specify other static information for XFDU package (e.g. header)
3
High Level Design Three major logical components: ● XFDU Engine (XFDU Toolkit with some additions) ● Templating engine ● Templates
4
Design Diagram Templating engine Templates XFDU Engine Manifest Files Bulk Package Creator XFDU Package
5
Basic Flow ● Templating engine consumes template(s) ● Templating engine parses the template(s) and passes information about files to be used to XFDU Engine ● XFDU Engine uses the passed information to create XFDU structures ● The created structures are merged with the rest of the information in the template to create XFDU manifest ● The created manifest is consumed by XFDU Engine ● XFDU package is created by XFDU Engine
6
Use Cases Use Case Scenario 1 ● User creates an XFDU instance (manifest) and saves it as template ● User modifies the template to include patterns for file selection and other desired attributes ● User runs bulk creator and produces XFDU package Use Case Scenario 2 ● User uses existing XFDU manifest template ● User modifies the template to include patterns for file selection and other desired attributes ● User runs bulk creator and produces XFDU package
7
First Implementation ● Apache Velocity as templating engine ● Velocity template as input ● Ant-style wild-carded path specification for files ● Nested content units ● Other information via velocity variables
8
<xfdu:XFDU xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ccsds.org/xfdu/2004 xfdu.xsd" xmlns:xfdu="http://www.ccsds.org/xfdu/2004"> 1.0 <sequenceInformation sequenceSize="10" sequencePosition="1">producer1.seq10 Linux2.4.22-1.2129.nptl #set($tmp=!$cuContext.put('cuIdPrefix','blk')) #set($tmp=!$cuContext.put('anyMdFilePattern','usa_nasa_pds_mgst_1230/DATA/**/*.LBL')) #set($tmp=!$cuContext.put('dataObjectFilePattern','usa_nasa_pds_mgst_1230/DATA/**/*.TAB')) Sample template
9
Partial sample output
10
Partial sample output (cont.)
11
Future direction ● Various pluggable strategies for file selection ● User interface for template creation
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.