Difference between revisions of "Phpzim"
(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 | 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: | * Provisional target start date: | ||
* Provisional completion date: | * 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. | ||
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 | * 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 | * Code of phpzim should be online developed on openZIM repository | ||
* Code usage should be documented and documentation should be | * 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) | * 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 | * 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 | 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).