Metadata Driven XML export process

Tue 17. Mar 2015, 23:04

Hi folks,

Been playing around with articy:draft for a week now and am really liking it.

I am wondering if something like this idea (a metadata driven XML export process) has ever been discussed internally, and if so, why it wasn't adopted. And if not, of course feel free to take my idea and run with it. ;-) But I am mostly interested in hearing if this was investigated, and if so, why it wasn't chosen. Difficulty? Time to implement? Limited usefulness? Something else?

As I understand the export process, today there are two fundamental ways to get the data into my engine:

- I will consume your XSD and write code to essentially wrangle that data into my own format. The classic Exporter -> Importer chain. Tried and true, and everybody understands it. Depending on how close the two schemas are, this could be a very simple XSL / XPath transform. Or it may need to be a very complex program.

- The other option would be to use articy:access and instead of using my own middleware api to get at my own custom formatted data, I would instead use yours. That is not an option at this point, although I do think it's a great option.

I would like to propose a third alternative: a visually programmable metadata-driven export pipeline. In other words, a way to tell Articy what it should be exporting, so that the output XML matches what is expected in the tool chain, and thus no glue is needed.

In such a system, you do not publish an XSD. You *consume* an XSD.

Instead, you provide a tool which allows developers to define the schema they expect. In other words, they provide an XSD of what they expect, and using your "mapping" GUI they visually build the glue which binds your internal DOM format to their expected XSD. For example:

- What may be a simple list of objects for you may need to grouped into hierarchies, or vice-versa.
- Elements in your DOM may be attributes in theirs, and vice versa
- Of course, naming will rarely match up
- Where they have data your system does not, defaults need to be specified

The toolchain now has one less (potentially) significant piece of custom code. The export process becomes data-driven, not code-driven. No piece of "glue" sits between your export and the import into the engine, massaging the data into the correct format. Instead, your export is essentially programmable via metadata, so that the XML it outputs is directly consumable by the engine.

Of course, this would scream for templatization, people sharing templates over the Internet for allowing proper expect directly into specific engines, and so forth. All good stuff to be sure.

Obviously this is a substantial piece of engineering for something that already has (at least) two other solutions. But I do think it would have merit, and I do think people would use it.

So the question stands, is it (or something like it) anything that was discussed?

Later,
Ryan
RhinoNY
 
Posts: 4
Joined: Tue 17. Mar 2015, 19:03

Re: Metadata Driven XML export process

Wed 18. Mar 2015, 07:33

Hey Ryan!

Yes, this feature is on our list. We've discussed it before and so it got out of our "feature inbox" into the "nice-to-have-feature-request-box" so to speak ;)
There are a lot of other cool features we'd like to implement into articy:draft so I can't tell you at this point when it will be done.
But - back to your question: Yes, we're aware of it - yes it would make sense to have it.

It's always good to read the community's suggestions so we can see that we're on the right way - so thanks for that!

Best regards,
Martin
User avatar
[Articy] Martin Gebske
 
Posts: 52
Joined: Mon 3. Nov 2014, 13:44
Location: Bochum

Re: Metadata Driven XML export process

Wed 18. Mar 2015, 19:50

Great to hear, thanks for the response. I would of course never ask for or expect any kind of commitment, no worries there. Trust me, as a developer as well, I get it. ;-)

I also fully understand and agree that it's a "nice to have" kind of feature.

As a middleware ISV myself, I completely understand the need for keeping a good chunk of the roadmap obscured. If you do not, people easily turn "plans" into "realities" in their mind, which eventually become "disappointments" when plans change. And they will change, they almost always do, especially for small, agile companies.

The end result is the desire to share and keep your customers informed during an open-development environment can back-fire, big-time.

Small companies need to be agile, and if you publish your roadmaps, you either lose that agility, or open yourself up to disappointment when you didn't follow "your plans".

So no worries about not being able to share more. Trust me, I get it.

Ryan
RhinoNY
 
Posts: 4
Joined: Tue 17. Mar 2015, 19:03

Return to Feature Requests & Suggestions

Who is online

Users browsing this forum: No registered users and 11 guests

Who We Are
Contact Us
Social Links