phpBB

Development Wiki

GSoC/2013/Ideas

From phpBB Development Wiki

Revision as of 23:52, 22 February 2013 by Imkingdavid (Talk | contribs)

This page is based on the ideas page of 2012 and a similar page in the KDE community wiki.

Ideas

User Facing

Rich Text Editor Integration

Brief explanation: BBCode is a lightweight markup language based on XHTML used to format posts. As such it is very technical and can be difficult to use, especially for novice internet users. It is also difficult to use for more experienced users when the formatting gets more complex. BBCode however also serves as a security mechanism for preventing the use of arbitrary HTML markup (and thus JavaScript), so the existing BBcode editor can not be replaced with an editor that produces HTML. A possible solution could be the use of a JavaScript editor that produces BBcode which is then translated to HTML as before.

Expected results: Integration of a Rich Text Editor into phpBB core, making the use of the bulletin board a lot easier by allowing users to pick the editor that fits their needs.

Knowledge Prerequisite: PHP and JavaScript

Available Mentors:

Backend

Session Backend Abstraction

Brief explanation: High traffic websites can already make use of fast in-memory stores (such as memcached or Redis) for improved caching. However volatile session data is still handled by the (relational) database, occasionally causing load problems. First very complete test coverage of current session code should be achieved to be able to guarantee the continued correct functionality of the session mechanism, which is of critical importance to running a board. The session code should then be refactored to provide an abstraction of the storage mechanism used, to allow for faster backends to be implemented.

Expected results: A properly designed storage interface for session data and working backend implementations for relational databases and memcached. A Redis implementation would be useful but is optional.

Knowledge Prerequisite: Object-oriented PHP required, familiarity with key-value stores useful but not mandatory.

Available Mentors: