This command-line tool helps you convert ZIM files into xAPI packages. ZIM files can contain Wikipedia content, Khan Academy videos and/or exercises, and various others content types.
xAPI packages are supported by many learning management systems. This tool is intended to facilitate using open educational resources in different learning management systems and/or other apps. xAPI packages generally work well in offline/limited connectivity use cases.
This is a conversion tool developed by UstadMobile FZ-LLC. It is unofficial and is not endorsed by any content provider (e.g. Khan Academy, Wikipedia, or any other). The user is responsible to abide by the terms of all relevant licenses.
For Wikipedia content: see Wikipedia reusers rights and obligations.
For Khan Academy content: see Khan Academy's reuse terms.
For any other content: check the license provided by the author.
Before proceeding, ensure that you have the following tools installed on your platform:
zimDump: This tool is necessary for working with ZIM files. You can download and install the version suitable for your platform from the zim-tools release page.
kolibri2zim: This tool converts Kolibri content into ZIM files. You have two options:
kolibri2zim
directly by following the instructions on the kolibri2zim GitHub repository.kolibri2zim
without manually installing it. You can find the installation guide on the Docker documentation page.Once you have the JAR file and the required dependencies installed, you can use the following commands:
Khan2Xapi provides three main subcommands:
This command converts a ZIM file to an xAPI file. This can be a local file or can be fetched using a Kolibri channel ID and topic ID
If you already have a ZIM file, you can extract and convert the content using:
java -jar zim2xapi.jar convert -zim-file /path/to/zimfile.zim
This command extracts and converts the ZIM file to the xAPI format.
If you have a Kolibri channel ID and topic ID, use the following command:
java -jar zim2xapi.jar convert -channel-id <channel-id> -topic-id <topic-id>
This command downloads the specified topic from the channel and converts it to xAPI format.
Lists all available channels with their channelId from Kolibri servers.
java -jar zim2xapi.jar list-channels
The list-topics command lists topics within a specific channel. Up to one level of subtopics will be displayed. To list the deeper subtopics run the command again for the given subtopic id.
java -jar zim2xapi.jar list-topics -id <channel/topic id>
For more details on available options, use the --help flag with any command, such as:
java -jar zim2xapi.jar convert --help