pear:gsoc:2009
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
pear:gsoc:2009 [2009/03/10 20:34] – dufuz | pear:gsoc:2009 [2009/03/11 02:25] – clockwerx | ||
---|---|---|---|
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]], [[mp@manuel-pichler.de|Manuel Pichler]]// |
Implement a Cross Side Scripting and SQL Injection security analyzer to find security threats in your " | Implement a Cross Side Scripting and SQL Injection security analyzer to find security threats in your " | ||
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 | + | ===== 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 | + | 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. |
+ | |||
+ | ===== 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: | + | //Possible mentor: |
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. | ||
- | The approach basically works by using common EBNFs for the definition of the syntax of the scanned programming language, simplification of the resulting AST using sorts and then visiting the simplified AST into different output formats, like HTML or a line based token stream. A more detailed requirements document can be found here: http:// | + | The approach basically works by using common |
====Deliverables==== | ====Deliverables==== | ||
Line 106: | Line 121: | ||
//Possible mentors: Helgi, Brett// | //Possible mentors: Helgi, Brett// | ||
- | This will involve working on Pyrus which is the next generation PEAR installer. | + | This will involve working on Pyrus installer |
PHP 5.3+, namespaces and all the goodies that come with PHP 5.3 | PHP 5.3+, namespaces and all the goodies that come with PHP 5.3 | ||
+ | |||
+ | 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. | ||
+ | |||
+ | |||
+ | ===== PEAR CI ===== | ||
+ | //Possible mentors: Daniel O' | ||
+ | |||
+ | A proof-of-concept for a " | ||
+ | - 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/ | ||
+ | |||
+ | The additional code/ | ||
+ | |||
+ | 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