pear:gsoc:2009

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
Next revisionBoth sides next revision
pear:gsoc:2009 [2009/03/10 20:44] – Added explanatory links, added possible mentor korepear:gsoc:2009 [2009/03/11 09:26] – used gsoc only email davidc
Line 14: Line 14:
  
 ===== PHP_CodeSniffer XSS and SQL security analyzer ===== ===== PHP_CodeSniffer XSS and SQL security analyzer =====
-//Possible mentor: [[davidc@php.net|David Coallier]]//+//Possible mentor: [[davidc@php.net|David Coallier]], [[gsoc09@pdepend.org|Manuel Pichler]]//
  
 Implement a Cross Side Scripting and SQL Injection security analyzer to find security threats in your "sniffed" code. This being a driver (extension) of [[http://pear.php.net/PHP_CodeSniffer|PEAR::PHP_CodeSniffer]]. This tool will generate reports about the threat level, list all the files/lines and variables that are affected and propose solutions to the variable. It will be very helpful to any PHP Developer and will be thoroughly used in the Q&A of PEAR and PEAR2 in general (Commercial tools and outdated tools already exist that serve the same purpose and what this tool would do is bring a new and more advanced aspect to security -- Chorizo, securityscanner, etc) Implement a Cross Side Scripting and SQL Injection security analyzer to find security threats in your "sniffed" code. This being a driver (extension) of [[http://pear.php.net/PHP_CodeSniffer|PEAR::PHP_CodeSniffer]]. This tool will generate reports about the threat level, list all the files/lines and variables that are affected and propose solutions to the variable. It will be very helpful to any PHP Developer and will be thoroughly used in the Q&A of PEAR and PEAR2 in general (Commercial tools and outdated tools already exist that serve the same purpose and what this tool would do is bring a new and more advanced aspect to security -- Chorizo, securityscanner, etc)
Line 70: Line 70:
 The student should be done with the base class and the API child classes for Maps, Ajax Search, Ajax Feed, Visualization API, Language API and Libraries APIs. Each classes should be fully tested and documented and working. The student should be done with the base class and the API child classes for Maps, Ajax Search, Ajax Feed, Visualization API, Language API and Libraries APIs. Each classes should be fully tested and documented and working.
  
-===== Official PEAR Channel Server =====+===== Command Line PEAR Channel Server =====
 //Possible mentor: [[saltybeagle@php.net|Brett Bieber]]// //Possible mentor: [[saltybeagle@php.net|Brett Bieber]]//
  
-An official channel server within the PEAR repository would be a welcomed addition and would advance PEAR's installation and distribution methods. The current PEAR channel servers are hosted on external servers, and need to be re-worked to a polished PEAR package that is up to PEAR's standards.+An official channel server within the PEAR repository would be a welcomed addition and would advance PEAR's installation and distribution methods. 
 +The current PEAR channel servers are hosted on external servers, and need to be re-worked to a polished PEAR package that is up to PEAR's standards.
  
 ====Deliverables==== ====Deliverables====
 ===Midterm=== ===Midterm===
-At midterm the student is expected to have the existing PEAR channel server code up to PEAR coding standards, and ideas on improving the package so it will meet PEAR's standards.+At midterm the student is expected to have PEAR channel server code up to PEAR coding standards, and ideas on improving the package so it will meet PEAR's standards.
  
 ===Final=== ===Final===
-The student should have the Channel Server api complete, fully unit tested, and proposed to PEAR's proposal process.+The student should have the Channel Server api complete, fully unit tested, and proposed to PEAR's proposal process. A command line utility for releasing packages which creates the xml files for a PEAR channel. 
 + 
 +===== Web Frontend For A PEAR Channel Server ===== 
 +//Possible mentor: [[saltybeagle@php.net|Brett Bieber]]// 
 + 
 +The current PEAR channel servers are hosted on external servers, and need to be re-worked to a polished PEAR package that is up to PEAR's standards. 
 +This will be an official channel that will function as the basis for the PEAR2 website, and possibly PEAR, PECL, and doc.php.net PEAR Channel websites. 
 + 
 +====Deliverables==== 
 +===Midterm=== 
 +At midterm the student is expected to have a public frontend for viewing a channel server, which utilizes the code within Pyrus and the Command Line PEAR Channel Server for server file creation. 
 + 
 +===Final=== 
 +The student should have the web site feature complete, with administrative pages for releasing packages and managing user accounts, as well as a public frontend for viewing packages. 
  
 ===== Extensible source code highlighter ===== ===== Extensible source code highlighter =====
-//Possible mentor: Manuel Pichler <mapi@pdepend.org>//+//Possible mentor: Manuel Pichler <gsoc09@pdepend.org>//
  
 The basic scope of this component is highlighting source code of various programming languages. It is limited to common text based one dimensional programming languages, not designed to also work for esoteric languages. Several existing syntax highlighters already can directly generate HTML syntax highlights, but this is not feasible for all applications. The basic scope of this component is highlighting source code of various programming languages. It is limited to common text based one dimensional programming languages, not designed to also work for esoteric languages. Several existing syntax highlighters already can directly generate HTML syntax highlights, but this is not feasible for all applications.
Line 111: Line 126:
 This includes writing good chunks of the installer from scratches, write extensive unit tests, design APIs and still make it work with existing channels and packages. This includes writing good chunks of the installer from scratches, write extensive unit tests, design APIs and still make it work with existing channels and packages.
 This will require very good understanding of PHP, XML and other technologies a like. This will require very good understanding of PHP, XML and other technologies a like.
 +
 +
 +===== PEAR CI =====
 +//Possible mentors: Daniel O'Connor <daniel.oconnor@gmail.com> //
 +
 +A proof-of-concept for a "Multi-Environment" CI instance 
 +- runs builds against multiple PHP versions across multiple OSs (via VMs if necessary)
 +- aggregates build results from all sources, even remote ones
 +
 +====Deliverables====
 +
 +===Midterm===
 +A working CI instance executing builds on multiple PHP versions locally.
 +
 +Solid and easy to understand documentation on setting this up with a minimum of fuss.
 +
 +===Final===
 +Backend processing pulls/receives build results from remote systems and aggregates all results for reporting
 +
 +The additional code/scripts/etc developed to complete this proof-of-concept could be incorporated into CruiseControl, phpUnderControl, etc, as patches provided to those projects.
 +
 +PEAR can benefit by the proof instance being retained after completion.
pear/gsoc/2009.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1