Difference between revisions of "Phpzim"

From Kiwix
Jump to navigation Jump to search
(Created page with "The '''phpzim project''' is a project to create a new [https://en.wikipedia.org/wiki/Php PHP] binding to the zimlib, allowing to easily read and write ZIM files in this langua...")
 
Line 14: Line 14:


== Goals ==
== Goals ==
The goal is mainly about the creation of a ZIM [http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/ PHP extension] called "[[phpzim]]". phpzim is an extension allowing PHP developers to read/write ZIM files.  
The goal is mainly about the creation of a ZIM [http://devzone.zend.com/303/extension-writing-part-i-introduction-to-php-and-zend/ PHP extension] called ''[[phpzim]]''. phpzim is an extension allowing PHP developers to read/write ZIM files.  


Delivarables:
Delivarables:
Line 22: Line 22:
* Code of phpzim should be online developed on openZIM subversion and as a tgz directly compilable
* Code of phpzim should be online developed on openZIM subversion and as a tgz directly compilable
* Code usage should be documented and documentation should be automaticaly generated using doxygen or similar
* Code usage should be documented and documentation should be automaticaly generated using doxygen or similar
* Rewrite and improve [http://kiwix.svn.sourceforge.net/viewvc/kiwix/dumping_tools/scripts/buildZimFileFromDirectory.pl?view=log buildZimFileFromDirectory.pl] in PHP (dealing directly with the zimlib)  
* Rewrite and improve [http://kiwix.svn.sourceforge.net/viewvc/kiwix/dumping_tools/scripts/buildZimFileFromDirectory.pl?view=log buildZimFileFromDirectory.pl] in PHP (dealing directly with the zimlib)


== Activities ==
== Activities ==

Revision as of 10:19, 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 include the creation of the necessary code, documentation and demo script. phpzim will be based on the zimlib like pyzim, the Python extension to deal with ZIM files. phpzim is essential to:

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.

Delivarables:

  • 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 a easy API to read/write ZIM files with all the necessary options
  • Code of phpzim should be online developed on openZIM subversion and as a tgz directly compilable
  • Code usage should be documented and documentation should be automaticaly generated using doxygen or similar
  • Rewrite and improve buildZimFileFromDirectory.pl in PHP (dealing directly with the zimlib)

Activities

This project would be split in 2 work-packages:

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.

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).
  • 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