gsoc:2009:ideas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
gsoc:2009 [2009/03/30 21:10] yannickgsoc:2009:ideas [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 5: Line 5:
 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 [[http://php.net/mailing-lists.php|mailing lists]] to discuss the proposal before submiting it. 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 [[http://php.net/mailing-lists.php|mailing lists]] to discuss the proposal before submiting it.
  
-Priority will be given to proposals that are directly related to the PHP Project, this includes PECL. [[http://pear.php.net|PEAR]] has it's own ideas page over [[pear/gsoc/2009|here]]. If we have any spare slots then we will consider non PHP Project proposals.+Priority will be given to proposals that are directly related to the PHP Project, this includes PECL. [[http://pear.php.net|PEAR]] has it's own ideas page over [[gsoc:pear:gsoc:2009|here]]. If we have any spare slots then we will consider non PHP Project proposals.
  
 If your project is to be written in PHP, please make sure you read the [[http://pear.php.net/manual/en/standards.php|PEAR Coding Standards]] when applying. If your project is to be written in PHP, please make sure you read the [[http://pear.php.net/manual/en/standards.php|PEAR Coding Standards]] when applying.
Line 91: Line 91:
 //Possible mentors: [[bjori@php.net|Hannes Magnusson]] // //Possible mentors: [[bjori@php.net|Hannes Magnusson]] //
  
-[[doc:PhD]] is the tool that renders the DocBook based documentation for both the PHP Manual and PEAR Manual. It uses XMLReader to read the XML, so it has many obvious drawbacks but XMLReader is also the reason why it's so blazing fast.+[[doc:phd]] is the tool that renders the DocBook based documentation for both the PHP Manual and PEAR Manual. It uses XMLReader to read the XML, so it has many obvious drawbacks but XMLReader is also the reason why it's so blazing fast.
  
 Today PhD is PHP.net centric, meaning it contains several "rules" and "workarounds" that are only applicable to PHP.net. The project goals: Today PhD is PHP.net centric, meaning it contains several "rules" and "workarounds" that are only applicable to PHP.net. The project goals:
Line 100: Line 100:
 For questions and thoughts please join the #php.doc IRC channel on EFnet and/or write the PHP Documentation list at phpdoc@lists.php.net For questions and thoughts please join the #php.doc IRC channel on EFnet and/or write the PHP Documentation list at phpdoc@lists.php.net
  
-===== Xdebug path-base code-coverage analysis ==== +===== Xdebug: Support for Path Coverage ===== 
-//Possible mentors: [[derick@php.net|Derick Rethans]] //+//Possible mentors: [[derick@php.net|Derick Rethans]], [[sebastian@php.net|Sebastian Bergmann]]//
  
-[[http://xdebug.org|Xdebug]] is a tool for debugging, analyzing and profiling PHP applications. One of its features is analyzing which code has been executed in a function. At the moment this only happens with a line-based resolution. This project is about extending this to analyze which code *paths* are being covered in functions. This project idea requires C-skills, and you will get very intimate with the PHP internals. Feel free to drop by in either #php.pecl or #xdebug on EFnet (and look for Derick) if you have any questions.+[[http://xdebug.org|Xdebug]] is a tool for debugging, analyzing and profiling PHP applications. One of its features is analyzing which code has been executed in a function. At the moment this only happens with a line-based resolution. This project is about extending this to analyze which code *paths* are being covered in functions and methods. This project idea requires C-skills, and you will get very intimate with the PHP internals. Feel free to drop by in either #php.pecl or #xdebug on Freenode (and look for Derick) if you have any questions.
  
-===== Xdebug remote debugging support for watch expressions ====+===== Xdebug: Remote Debugging Support for Watch Expressions ====
 //Possible mentors: [[derick@php.net|Derick Rethans]] // //Possible mentors: [[derick@php.net|Derick Rethans]] //
  
Line 143: Line 143:
 Work has started on an online editor for the PHP Manual. The student would help get this tool up and running for live use at php.net. The tool performs the following actions: Work has started on an online editor for the PHP Manual. The student would help get this tool up and running for live use at php.net. The tool performs the following actions:
  
-  * Allows CVS users to make and commit changes+  * Allows SVN users to make and commit changes
   * Allow anybody to create patches, which are sent to a patch queue for developers review   * Allow anybody to create patches, which are sent to a patch queue for developers review
   * Works with all translations   * Works with all translations
Line 149: Line 149:
 Resources of interest: Resources of interest:
  
-  * Demo: http://ytorres.dyndns.org:81/doc-editor/ (user: cvsread pass: phpfi)+  * Demo: http://doc.php.net/editor/
   * Videos showing use: http://tmp.cweiske.de/phpeditor-videos/   * Videos showing use: http://tmp.cweiske.de/phpeditor-videos/
-  * The source in CVS: http://cvs.php.net/viewvc.cgi/doc-editor/ +  * The source in SVN: http://svn.php.net/viewvc/web/doc-editor/ 
-  * TODO: http://cvs.php.net/viewvc.cgi/doc-editor/TODO?view=log+  * TODO: http://svn.php.net/viewvc/web/doc-editor/trunk/TODO?view=markup
  
  
-===== New Mirror Management System ===== 
-// Possible Mentor: [[danbrown@php.net|Daniel P. Brown]] // 
- 
-Our existing management system for the network of official mirrors worldwide has a few issues and areas for improvement.  The present system is accessible via a browser-based web interface (using a php.net CVS account, and hosted on master.php.net), and provides the following services: 
- 
-  * Addition, deletion, and modification of DNS for official mirrors of the php.net site as a whole 
-  * Automated checking of all mirrors, marking mirrors as "disabled" when issues are detected 
-  * Listing of all mirrors presently configured with the system (active and otherwise) 
-  * Manual disabling of mirrors 
-  * Generic status display of the "health" of the mirror ("OK" or flagged) 
-  * Ability to edit the mirror's display information within our list on php.net 
-  * Automated mailing to the mirror's maintainer when an issue is detected 
-  * Automated mailing of the status of all mirrors on a weekly basis 
- 
-Over time, some of the php.net mirror admins have discussed the need and/or desire to add new - or improve existing - functionality in this system.  This includes, but is not limited to: 
- 
-  * Improved mirror status checking 
-  * The ability to keep logs of notes regarding the mirror over time, displaying the most recent on the summary page 
-  * Simple graphing and statistics for uptime and PING response time 
-  * A geo-IP lookup to ensure that the mirror IP address matches the physical region it serves 
-  * An online "waiting list" application form (many potential donors currently contact the mailing list or Dan Brown directly) 
-  * An online form to collect data from mirror maintainer applicants 
-  * A form-to-mail interface to email individual maintainers, the mailing list, or all maintainers directly (for announcements) 
-  * Number of interested donors on the "waiting list" under each country's heading 
-  * Automated quarterly reminders to folks on the "waiting list" to update their status if they are no longer willing/able (?) 
-  * System specifications on each individual mirror (?) 
-  * A scoring system based on the system specs of the mirrors (?) 
-  * Load-balancing based upon the score of the mirror when redirecting to a local mirror in the region (?) 
-  * Automated daily reminder emails to mirror maintainer when mirror is out-of-sync > 24 hours (still auto-disabled) (?) 
-  * .... etc. 
  
 ===== Close and evaluate PHP Bugs ===== ===== Close and evaluate PHP Bugs =====
Line 198: Line 168:
 There are several people and maintainers who would be involved with this idea, such as Tony, Jani, and Johannes. Priority should be given to PHP 5.3 bugs. There are several people and maintainers who would be involved with this idea, such as Tony, Jani, and Johannes. Priority should be given to PHP 5.3 bugs.
  
-====== Abstract Extension API and Dependency Interface ======+===== Abstract Extension API and Dependency Interface =====
 //Possible mentor: [[shire@php.net|Brian Shire]], [[andrei@php.net|Andrei Zmievski]]// //Possible mentor: [[shire@php.net|Brian Shire]], [[andrei@php.net|Andrei Zmievski]]//
  
Line 253: Line 223:
 } }
 </code> </code>
 +
 +===== Prototyping Removal of the Zend API =====
 +//Possible mentor: [[paul.biggar@gmail.com|Paul Biggar]], Other interested mentors please add your names//
 +
 +Currently, the structure of PHP extensions requires a very tight coupling with the Zend Engine. This restricts the reimplementation of the Zend engine, and prevents PHP from becoming significantly faster in the long term.
 +
 +The problem statement, and design for a solution are presented in [[http://wiki.php.net/rfc/remove_zend_api|Remove Zend API]].
 +
 +==== Deliverables ====
 +
 +As part of the GSOC, the student should complete the first two goals in [[http://wiki.php.net/rfc/remove_zend_api|Remove Zend API]] to a high standard, and the third to a reasonably advanced prototype. The goal of converting the entire set of extensions is, of course, not part of the project. To be considered a success, a good prototyping of 5 or 6 extensions should be achieved. 
 +
 +As well as the code, a short report should be produced, discussing the viability of the approach for the entire set of standard extensions. It should describe what challenges remain to be solved to make it possible, and whether or not the student finds this realistic. This is a very important part of the project, as it will not otherwise be easy to gauge the potential success of this approach over the entire PHP project. This report is not the same as that which is required by Google as part of the GSOC program.
 +
gsoc/2009/ideas.1238447452.txt.gz · Last modified: 2017/09/22 13:28 (external edit)