Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


ELP file generation

  • Dear ALL,
    I am working on a project where I need to generate a lot of .elp files. I have ready-made HTML contents and I just need to put all of them into a separate elp file for later modification in exelearning editor.
    I tried to create a blank elp file with one freetext idevice that has only two HTML comments,
    Then I split the file with a hex editor between the two HTML comments.
    Then I try to inject a HTML code packed in PHP with pack() between the two parts ,
    but the resulting is not readable if I put it back in the elp.

    I found out that the file should have some pointers or descriptors, because modifying some bytes to another within the idevice does not ruin the file, but anything inserted does.

    Please could you help me out here, how is structured? Is there a way to batch create them from php?

    Really appreciate for any help!

    Thanks in advance,

  • Jim Tittsler
    Jim Tittsler

    That sounds like a very ambitious project.  The elp file format uses the Twisted Python serialization scheme, and reimplementing that in PHP sounds tedious.

    In recent versions of eXe there was the start of the ability to read an IMS Common Cartridge.  It is not smart enough to identify each iDevice within a page, but will simply make a single plain node for each page of the cartridge.  If that is adequate for your application, that sounds like an easier path to follow.  (Or make it smart enough to parse the iDevices and contribute it back to the community.  :-)

    Writing some Python code that instantiated the nodes and saved them sounds easier to me.  You could ignore the eXe user interface.

    Alternatively perhaps you could investigate GUI scripting the eXe user interface and have it build up the packages you want.

  • Thanks a lot for your detailed answer!
    In the meantime, it comes quite obvious that i need to work this out in Python.
    I will investigate the options and post back if finally have something useful!
    Thanks again!