miqwit / dedex

A generic efficient DDEX parser. Parse seemlessly the complex DDEX format and transform it into classes easily useable in your PHP project. Supports several versions (3.8.2, 4.1, 4.1.1) and is listed in the official DDEX page: https://kb.ddex.net/display/HBK/Open+Source+Software
MIT License
20 stars 11 forks source link

Support for other versions? #26

Open joelatgrayv opened 10 months ago

joelatgrayv commented 10 months ago

Do you have plans for supporting other versions?

341, 381, 383, 430

Thanks for making this project. Also, I'm curious what was your motivation for making it?

miqwit commented 10 months ago

Hello @joelatgrayv. Thank you for your interest in dedex.

I actually have plans to support other versions, in particular later versions than the currently supported (3.8.2 and 4.1).

Note that the consortium announced the "sunset" plan of some versions of the standard, as visible here: https://kb.ddex.net/about-ddex-standards/what's-new/

On 24th February 2023, DDEX announced that the following standards will be “sun-set” from 2025 onwards: All versions of the Electronic Release Notification Message Suite standard (ERN) that have the main version number of 3 and the version 4.0 of that standard;

In practice, many still use versions 3.8.*. This sunset policy may encourage companies to upgrade their versions.

Also, I'm curious what was your motivation for making it?

As a software developer in the music industry, I had to code DDEX formatters or parsers multiple times. On my free time I decided to come up with a convenient library (in PHP) to make me and other developers save time during this process. It might seems "easy" to code an XML parser, and even fun; that's without considering the complexity and the possibilities of DDEX standards... It's harder than it looks.

Do you have any particular need? I encourage you to share to experience around the library/standard.

Have a good day.

joelatgrayv commented 10 months ago

Nice, thanks!

Would you be wiling to accept a PR for 341? Also, do you have any tips for adding that support for it?

miqwit commented 10 months ago

Sure, be my guest.

I suggest to start with one (or more) DDEX 341 examples that you add in the test suite; then write tests that parse this file and gets some data.

Don't commit private data in the XML file, like sender/recipients names and party IDs.

You'll also need to find the 341 XSD file to generate the PHP classes (I explain it in the official documentation).

Please read the README and CONTRIBUTE files and try to push a first version of your PR. We can then discuss in the PR.