2009-10-22 Blog Post on Project Paroli
Wikipedia goes offline!
This flexibility and portability the project owes to its internal structure. Instead of a single, complex process, OpenZIM is designed to run in between existing applications. The ZimReader acts as a web-server allowing the user to browse the wiki's content with any browser available. The ZimReader as well as the ZimWriter, used to generate the ZIM files, are written in C++ and thus platform independent.
The heart of the project however is the ZIM format. It is designed to be an efficient and universal way of storing large wikis in a single file.It can be used to virtually compress any data from a given postgreSQL scheme.
"Bringing ", Manuel Schneider of Wikimedia Switzerland said when asked for the goal of OpenZIM. A bold and big goal indeed, but the OpenZIM team is going to tackle it one step at a time. As mentioned earlier OpenZIM is already functional. The current construction sites are the article categories and full text indexing as well as increasing performance while minimizing the memory footprint.
OpenZIM itself is a collection of several tools. There is the ZimWriter that compresses data from a postgreSQL database to create the ZIM files and the ZimReader, an http server to browse the ZIM file contents, both of which are built using the ZIMlib. All three have been written in C++. The specifications of the ZIM format can be found on the project's wiki.
The biggest challenge of all is of course offline editing. Even though the exact details have yet to be worked out, Manuel Schneider, who is leading the OpenZIM effort, is confident to have a solution for this ready early next year. If you want to get involved in OpenZIM or have any questions or comments check their wiki and contact them via their mailing list.