mirror of
https://github.com/php/web-php.git
synced 2026-03-24 07:12:16 +01:00
123 lines
5.3 KiB
PHP
123 lines
5.3 KiB
PHP
<?php
|
|
// $Id$
|
|
$_SERVER['BASE_PAGE'] = 'ideas.php';
|
|
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc';
|
|
site_header("SoC Ideas");
|
|
?>
|
|
|
|
<h1>Ideas for Google Summer of Code Projects</h1>
|
|
|
|
<p>Here you'll find a couple of ideas for Google Summer of Code projects. This list is not exhaustive and you may
|
|
propose any "crazy" idea you may have though.</p>
|
|
|
|
<p>Before you submit your proposal, you are encouraged to contact the possible mentors for the project you are applying.
|
|
If the project hasn't any mentor assigned or if you are submiting an off-list project, please contact one of our
|
|
<a href="/mailing-lists.php">mailing lists</a> to discuss the proposal before submiting it.</p>
|
|
|
|
<p>If your project is to be written in PHP, please make sure you read the
|
|
<a href="http://pear.php.net/manual/en/standards.php">PEAR Coding Standards</a> when applying.</p>
|
|
|
|
<p>If you are applying for a project in the PHP code itself (in C), you may find useful the PHP hackers guide, which
|
|
also includes our C coding standards (TBD).</p>
|
|
|
|
<p>Your proposal should include the following:</p>
|
|
<ul>
|
|
<li>Name and e-mail</li>
|
|
<li>Detailed description of what you intent to do including, if possible, a list of quantifiable results</li>
|
|
<li>Project Schedule: How long will the project take? When can you begin work?</li>
|
|
<li>Availability: How many hours per week can you spend working on this? What other obligations do you have this summer?</li>
|
|
<li>Bio: Who are you? What makes you the best person to work on this project?</li>
|
|
</ul>
|
|
|
|
<hr/>
|
|
<p> </p>
|
|
|
|
<a name="qa"></a>
|
|
<h2>Quality Assurance</h2>
|
|
|
|
<h3>Automatic code checker</h3>
|
|
<p><strong>Description</strong>: The PHP API has a couple of varargs functions that are error prone and may easily cause segfaults
|
|
in PHP, especially on less used platforms. The list of such functions include zend_parse_parameters*(), zend_error() and a few
|
|
others. Our current check script is made in PHP and is regex based. It is available at <a href="http://cvs.php.net/viewvc.cgi/php-src/scripts/dev/check_parameters.php?view=markup">http://cvs.php.net/viewvc.cgi/php-src/scripts/dev/check_parameters.php?view=markup</a>. This script is difficult to maintain and generates way too many false-positives.
|
|
The work would envolve constructing or probably reusing a parse tree for the PHP code and its extensions (mixed C/C++) and generate
|
|
error messages for the problems found. A sample output of the script mentioned is available at: <a
|
|
href="http://gcov.php.net/viewer.php?version=PHP_HEAD&func=params">http://gcov.php.net/viewer.php?version=PHP_HEAD&func=params</a>.<br/>
|
|
<strong>Possible mentor(s)</strong>: <a href="mailto:nlopess@php.net">Nuno Lopes</a></p>
|
|
|
|
<hr/>
|
|
|
|
<a name="docs"></a>
|
|
<h2>Documentation</h2>
|
|
|
|
<h3><a href="http://wiki.phpdoc.info/LiveDocs">Livedocs</a></h3>
|
|
<p><strong>Description</strong>:
|
|
Livedocs is a tool to display DocBook XML files in a web browser on the fly,
|
|
without the need of building all HTML target files first. It was started as
|
|
a project to simplify the task of PHP Manual contributors, to check their
|
|
changes as they will show up in the documentation. To use Livedocs, a little
|
|
preprocessing work is needed, but after that, the script collection even works
|
|
on modified XML files. <br/>
|
|
|
|
The main advantage of Livedocs for the PHP Manual is the dramatically reduced
|
|
time-to-live interval, since modified XML files can be pushed to servers
|
|
without the need of building all the HTML files even for small changes.
|
|
Additionaly to this, Livedocs also does a good job of providing search
|
|
results for keywords found in the manual, as well as keeping track of
|
|
relations of translated files to their English equivalents, notifying
|
|
readers, if they read a seriously outdated translation.
|
|
<br/>
|
|
Possible projects on livedocs include: improve docbook compatibility,
|
|
implement a browser-based docbook editor (maybe based on an existing one:
|
|
<a href="http://summerofcode.wordpress.com/2006/09/29/beacon-02/">[1]</a>
|
|
<a href="http://bitfluxeditor.org/">[2]</a>, ...),
|
|
make livedocs more generic (i.e. not so phpdoc specific), etc... (your imagination is the limit!)
|
|
<br/>
|
|
<strong>Possible mentor(s)</strong>: (not yet assigned)</p>
|
|
|
|
|
|
<!--
|
|
Note: SoC 2006 Ideas. these need to be either ported to the "new style" or cleaned up
|
|
|
|
<a name="php"></a>
|
|
<h4>Core PHP</h4>
|
|
|
|
<ul>
|
|
<li>Unicode conversion of all internal functions for PHP 6</li>
|
|
</ul>
|
|
|
|
<a name="pear"></a>
|
|
<h4>Pear</h4>
|
|
|
|
<ul>
|
|
<li>PHP 4 to PHP 5 (and PHP 6?) conversion script</li>
|
|
<li>Expand PEAR::MDB2_Schema to cover all aspects of schema evolution
|
|
<a href="http://pooteeweet.org/files/phptek06/database_schema_deployment.pdf">[1]</a>
|
|
</li>
|
|
<li>New package to read, create or modify OpenDocument files</li>
|
|
<li>Create a 5.1+ port of MDB2</li>
|
|
</ul>
|
|
|
|
<a name="pecl"></a>
|
|
<h4>Pecl</h4>
|
|
|
|
<ul>
|
|
<li>Opcode optimizer for APC</li>
|
|
<li>PHP Aspect rewrite</li>
|
|
<li>Transaction Manager - Possible mentor Andi</li>
|
|
<li>OCR Extension - Possible mentor Andi</li>
|
|
<li>Script pre-processor - e.g. Support for C-like #define statements</li>
|
|
<li>Named Pipe stream protocol transport</li>
|
|
<li>SCTP stream protocol transport</li>
|
|
</ul>
|
|
|
|
<a name="other"></a>
|
|
<h4>Other</h4>
|
|
|
|
<ul>
|
|
<li>re2php - Add PHP Support to <a href="http://re2c.sf.net/">re2c</a></li>
|
|
<li>ANTLR - Add PHP Code Generation Target to <a href="http://www.antlr.org/v3/index.html">ANTLR 3</a>
|
|
</ul>
|
|
-->
|
|
|
|
<?php site_footer(); ?>
|