Difference between revisions of "Phpzim"

From Kiwix
Jump to navigation Jump to search
Line 41: Line 41:
Increase reach is currently [https://strategy.wikimedia.org/wiki/Strategic_Plan/Movement_Priorities#Increase_Reach the first Wikimedia strategic goal]. Offline is an essential part of the Wikimedia strategy and Kiwix, as official Wikimedia offline reader, is a master piece of this strategy.
Increase reach is currently [https://strategy.wikimedia.org/wiki/Strategic_Plan/Movement_Priorities#Increase_Reach the first Wikimedia strategic goal]. Offline is an essential part of the Wikimedia strategy and Kiwix, as official Wikimedia offline reader, is a master piece of this strategy.


We have now a good Desktop software, we need to increase the offert of ZIM file, this project is one essential stone in that way:  
We have now a good Desktop software, we need to increase the offer of ZIM files, this project is one essential stone in that way. It:  
* Speed up the ZIM creation process we have at Kiwix
* speed up the ZIM creation process we have at Kiwix
* Offer a software solution to every PHP developer to easily create ZIM files
* offer a software solution to every PHP developer to easily create ZIM files
* Allow in the future to allow any Mediawiki Administrator to export his content to ZIM - until now, they contact me ([[User:Kelson|Kelson]])
* allow in the future any Mediawiki Administrator to export his content to ZIM - until now, they contact me ([[User:Kelson|Kelson]])


== Benefits ==
== Benefits ==

Revision as of 10:34, 13 September 2012

The phpzim project is a project to create a new PHP binding to the zimlib ; allowing to easily read and write ZIM files in this language. This project includes the creation of the necessary code, documentation and demonstration PHP script. phpzim will be based on the zimlib like pyzim, the Python extension used to create ZIM file at PediaPress (see The Wikipedia Book creator).

Properties

  • Legal name of organization or individual requesting this grant: Emmanuel Engelhart
  • Project contact name: Emmanuel Engelhart
  • Project contact username or email: Kelson
  • Project contact title (position): Project manager
  • Project leader name: Emmanuel Engelhart
  • Project leader username or email: Kelson
  • Project leader title (position), if any: Project manager
  • Full project name: phpzim
  • Provisional target start date: 01-11-2012
  • Provisional completion date: 01-01-2013

Goals

The goal is mainly about the creation of a ZIM PHP extension called phpzim. phpzim is an extension allowing PHP developers to read/write ZIM files.

Deliverables:

  • Create a tgz of the zimlib with only the necessary for phpzim
  • Create the code (c++) of the phpzim PHP extension using the GNU tools for the compilation
  • phpzim should offer an easy API to read/write ZIM files with all the necessary options
  • Code of phpzim should be online developed on openZIM subversion repository
  • At the end a tgz directly compilable of phpzim should be provided with a documentation about how co compile/install/configure it with Apache.
  • Code usage should be documented and documentation should be automatically generated using doxygen or similar
  • Rewrite and improve buildZimFileFromDirectory.pl in PHP: buildZimFileFromDirectory.php console script (dealing directly with the zimlib)

Activities

This project would be split in 2 work-packages:

  • Work for Gilbert: Everything regarding the phpzim PHP extension (3000 CHF)
  • Work for Marco: Everything regarding the buildZIMFileFromDirectly.php (1000 CHF)

Resources

  • 160 hours of development
  • 20 hours of volunteer time for the project management
  • 3 months of time
  • 4.000 CHF for the development work

Fit strategy and user demand

Increase reach is currently the first Wikimedia strategic goal. Offline is an essential part of the Wikimedia strategy and Kiwix, as official Wikimedia offline reader, is a master piece of this strategy.

We have now a good Desktop software, we need to increase the offer of ZIM files, this project is one essential stone in that way. It:

  • speed up the ZIM creation process we have at Kiwix
  • offer a software solution to every PHP developer to easily create ZIM files
  • allow in the future any Mediawiki Administrator to export his content to ZIM - until now, they contact me (Kelson)

Benefits

  • Mandatory to integration the ZIM generation directly in DumpHTML (See the global Mediawiki DumpHTML extension improvement project)
  • Speed-up the ZIM creation (avoiding using a postgresql database and the zimwriter binary) - directly usable on the new created Kiwix zimfar (see ZIM Autobuild project).
  • Essential for many CMS coded in PH to generate also ZIM files (we hope to see also other project to release there own ZIM files).
  • Collaboration with Wikimédia France which already granted the rest of the project.

People

This project would be led by Kelson and executed by two students (swiss and austrian).

See also