HTTP Network Spec / eXeLearning integration

Hi,

I've worked on development of the eXeLearning application: a standalone app which has very similar objectives written in Python using a web browser for the UI which provides for export to EPUB, static websites etc.  I'm particularly interested in getting educational content running offline.  eXeLearning was originally developed by the New Zealand government to help teachers create content; I got started workong on it in Afghanistan many years ago whilst working on the One Laptop Per Child project.

I've looked over the PHP classes and I'll look over the existing plugin implementation to get an idea of how it's being used in Joomla and WordPress.  I like the idea of being able to exchange content between systems (I put something on a WordPress website one day for my class: then maybe the next day I put it in an EPUB file in eXeLearning to make it work offline).

The docs seem to be saying that the backend classes are going to be tidied up in the near future.  If those are about to go through significant changes that makes me think twice before porting them to a new platform.  An alternative for us would be to embed the minimum required PHP interpreter / libraries and run PHP from Python as an external process.  

I didn't find anything like an HTTP API spec of what the server is required to do by the client.  Does that live anywhere or is that not yet documented as such?  At first glance to me it seems like the best intermediate solution would be to run php as an external process.  Any developer's thoughts before I start writing would be most appreciated.

Regards,

-Mike

falcon's picture

Hi Mike,

I'm afraid the documentation you are looking for don't exist yet. The interfaces provided by the generic PHP library is also likely to change. The contracts between the H5P content types and core is not likely to change, but there might be changes in the authoring tool. We do have documentation coming up for porting H5P to other languages and I think porting to Python, atleast the core, maybe not the authoring tool, probably would be the most future proof solution.

 

Hi,Thanks for the reply there.  Seems like a bit of a tricky operation at the moment.  As eXeLearning is an authoring tool itself the authoring components would be essential for it to be of use.  What I've worked on as a next step for eXeLearning was to use Javascript for inline editing and then saving DOM elements as described here: https://github.com/UstadMobile/eXePUB/blob/master/doc/Idevice-HOWTO.md .

It would be great if documentation could include the porting of the authoring tools.  When that comes out I'd be seriously interested in integrating it.

-Mike

 

falcon's picture

Hi,

Interesting. The core team is actually working on a prototype for inplace editing for H5P as well. I don't know when it will be published but I just saw a demo and it looks good. We do not always publish experimental features after some bad experiences where they've started to be spread around in the community and caused problems for the final versions.

Regarding the authoring tool there will be updates in our newsletter when more documentation is ready.