Difference between revisions of "Phpzim"

From Kiwix
Jump to navigation Jump to search
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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 language. This project include the creation of the necessary code, documentation and demo script. phpzim will be based on the [http://www.openzim.org/Zimlib zimlib] like [https://github.com/pediapress/pyzim pyzim], the Python extension to deal with ZIM files. phpzim is essential to:
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 language. This project includes the creation of the necessary code, documentation and demonstration PHP script. phpzim will be based on the [http://www.openzim.org/Zimlib zimlib] like [https://github.com/pediapress/pyzim pyzim], the [https://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] extension used to create ZIM file at [http://pediapress.com/ PediaPress] (see ''[https://en.wikipedia.org/wiki/Special:Book The Wikipedia Book creator]'').


== Properties ==
== Properties ==
Line 10: Line 10:
* Project leader title (position), if any: Project manager
* Project leader title (position), if any: Project manager
* Full project name: phpzim
* Full project name: phpzim
* Provisional target start date: 01-11-2012
* Provisional target start date:  
* Provisional completion date: 01-01-2013
* Provisional completion date:


== 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:
Deliverables:
* Create a tgz of the zimlib with only the necessary for phpzim
* 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
* Create the code (c/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
* 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 and as a tgz directly compilable
* Code of phpzim should be online developed on openZIM repository
* Code usage should be documented and documentation should be automaticaly generated using doxygen or similar
* At the end a tgz directly compilable of phpzim should be provided with a documentation about how co compile/install/configure it with Apache.
* 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)
* Code usage should be documented and documentation should be automatically 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: buildZimFileFromDirectory.php console script (dealing directly with the zimlib)


== Activities ==
== Activities ==


This project would be split in 2 work-packages:
This project would be split in 2 work-packages:
* Everything regarding the phpzim PHP extension (3000 CHF)
* Everything regarding the buildZIMFileFromDirectory.php (1000 CHF)


== Resources ==
== Resources ==
Line 37: Line 40:


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 offer of ZIM files, this project is one essential stone in that way.


== Benefits ==
== Benefits ==


* Mandatory to integration the ZIM generation directly in DumpHTML (See the global [[Mediawiki DumpHTML extension improvement]] project)
* 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 [http://www.openzim.org/Zimwriter zimwriter] binary) - directly usable on the new created Kiwix zimfar (see [[ZIM Autobuild]] project).
* Speed-up the ZIM creation (avoiding using a postgresql database and the [http://www.openzim.org/Zimwriter zimwriter] binary) directly usable on the new created Kiwix zimfarm (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).
* Essential for many CMS coded in PHP to generate also ZIM files (we hope to see also other project to release there own ZIM files).
* Allow in the future any Mediawiki Administrator to export his content to ZIM – until now, they contact me ([[User:Kelson|Kelson]])
* Collaboration with [http://www.wikimedia.fr Wikimédia France] which already granted the rest of the project.
* Collaboration with [http://www.wikimedia.fr Wikimédia France] which already granted the rest of the project.


== People ==
== People ==
This project would be led by [[User:Kelson|Kelson]] and executed by two students (swiss and austrian).
This project would be led by [[User:Kelson|Kelson]] and executed by third part developer(s).


== See also ==
== See also ==

Latest revision as of 13:30, 29 May 2013

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:
  • Provisional completion date:

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/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 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:

  • Everything regarding the phpzim PHP extension (3000 CHF)
  • Everything regarding the buildZIMFileFromDirectory.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.

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 zimfarm (see ZIM Autobuild project).
  • Essential for many CMS coded in PHP to generate also ZIM files (we hope to see also other project to release there own ZIM files).
  • Allow in the future any Mediawiki Administrator to export his content to ZIM – until now, they contact me (Kelson)
  • Collaboration with Wikimédia France which already granted the rest of the project.

People

This project would be led by Kelson and executed by third part developer(s).

See also