2006-07-21 11:31:43 +00:00
|
|
|
|
2006-08-28 02:47:03 +00:00
|
|
|
TODO List
|
|
|
|
|
2006-11-23 23:59:20 +00:00
|
|
|
= KEY ====================
|
|
|
|
# Flagship
|
|
|
|
- Regular
|
2007-03-31 03:09:46 +00:00
|
|
|
? Maybe I'll Do It
|
2006-11-23 23:59:20 +00:00
|
|
|
==========================
|
|
|
|
|
2008-04-22 20:57:11 +00:00
|
|
|
If no interest is expressed for a feature that may require a considerable
|
2007-08-02 22:44:42 +00:00
|
|
|
amount of effort to implement, it may get endlessly delayed. Do not be
|
|
|
|
afraid to cast your vote for the next feature to be implemented!
|
|
|
|
|
2008-05-20 21:23:38 +00:00
|
|
|
- Investigate how early internal structures can be accessed; this would
|
|
|
|
prevent structures from being parsed and serialized multiple times.
|
2008-05-22 04:34:19 +00:00
|
|
|
- Figure out how to simultaneously set %CSS.Trusted and %HTML.Trusted (?)
|
2008-05-14 02:19:00 +00:00
|
|
|
|
2008-02-11 02:21:35 +00:00
|
|
|
FUTURE VERSIONS
|
|
|
|
---------------
|
|
|
|
|
2008-04-22 20:57:11 +00:00
|
|
|
3.2 release [It's All About Trust] (floating)
|
|
|
|
# Implement untrusted, dangerous elements/attributes
|
|
|
|
- Objects and Forms are especially wanted
|
|
|
|
# Implement IDREF support (harder than it seems, since you cannot have
|
|
|
|
IDREFs to non-existent IDs)
|
|
|
|
# Frameset XHTML 1.0 and HTML 4.01 doctypes
|
|
|
|
- Research and implement a "safe" version of the Object module
|
|
|
|
|
|
|
|
3.3 release [Error'ed]
|
2007-03-31 03:09:46 +00:00
|
|
|
# Error logging for filtering/cleanup procedures
|
2008-04-22 20:57:11 +00:00
|
|
|
- XSS-attempt detection--certain errors are flagged XSS-like
|
2006-08-28 02:47:03 +00:00
|
|
|
|
2008-04-22 20:57:11 +00:00
|
|
|
3.4 release [Do What I Mean, Not What I Say]
|
2006-11-23 23:59:20 +00:00
|
|
|
# Additional support for poorly written HTML
|
|
|
|
- Microsoft Word HTML cleaning (i.e. MsoNormal, but research essential!)
|
|
|
|
- Friendly strict handling of <address> (block -> <br>)
|
2008-04-22 20:57:11 +00:00
|
|
|
? Remove redundant tags, ex. <u><u>Underlined</u></u>. Implementation notes:
|
2007-01-21 15:23:42 +00:00
|
|
|
1. Analyzing which tags to remove duplicants
|
|
|
|
2. Ensure attributes are merged into the parent tag
|
|
|
|
3. Extend the tag exclusion system to specify whether or not the
|
|
|
|
contents should be dropped or not (currently, there's code that could do
|
|
|
|
something like this if it didn't drop the inner text too.)
|
|
|
|
- Remove <span> tags that don't do anything (no attributes)
|
|
|
|
- Remove empty inline tags<i></i>
|
|
|
|
- Append something to duplicate IDs so they're still usable (impl. note: the
|
|
|
|
dupe detector would also need to detect the suffix as well)
|
2008-04-22 20:57:11 +00:00
|
|
|
- Externalize inline CSS to promote clean HTML, proposed by Sander Tekelenburg
|
2007-05-29 21:26:43 +00:00
|
|
|
|
2007-11-25 02:24:39 +00:00
|
|
|
4.0 release [Beyond HTML]
|
2007-01-19 23:02:28 +00:00
|
|
|
# Legit token based CSS parsing (will require revamping almost every
|
2008-04-22 20:57:11 +00:00
|
|
|
AttrDef class). Probably will use CSSTidy class?
|
|
|
|
# More control over allowed CSS properties using a modularization
|
2008-02-11 00:27:35 +00:00
|
|
|
# HTML 5 support
|
2008-05-14 02:19:00 +00:00
|
|
|
# IRI support
|
2007-06-24 21:35:34 +00:00
|
|
|
- Standardize token armor for all areas of processing
|
2007-01-21 16:17:34 +00:00
|
|
|
- Convert RTL/LTR override characters to <bdo> tags, or vice versa on demand.
|
|
|
|
Also, enable disabling of directionality
|
2006-08-28 02:47:03 +00:00
|
|
|
|
2007-11-25 02:24:39 +00:00
|
|
|
5.0 release [To XML and Beyond]
|
2008-04-26 03:14:01 +00:00
|
|
|
- AllowedAttributes and ForbiddenAttributes step on the toes of XML by
|
|
|
|
using periods; this needs to be changed.
|
2007-03-31 03:09:46 +00:00
|
|
|
- Extended HTML capabilities based on namespacing and tag transforms (COMPLEX)
|
|
|
|
- Hooks for adding custom processors to custom namespaced tags and
|
|
|
|
attributes, offer default implementation
|
|
|
|
- Lots of documentation and samples
|
|
|
|
|
2006-11-04 05:05:19 +00:00
|
|
|
Ongoing
|
2008-01-05 00:10:43 +00:00
|
|
|
- More refactoring to take advantage of PHP5's facilities
|
2008-04-22 20:57:11 +00:00
|
|
|
- Refactor unit tests into lots of test methods
|
2006-11-23 23:59:20 +00:00
|
|
|
- Plugins for major CMSes (COMPLEX)
|
2007-06-24 04:22:28 +00:00
|
|
|
- phpBB
|
2008-04-22 20:57:11 +00:00
|
|
|
- Drupal needs loving!
|
|
|
|
- Phorum need loving!
|
2006-11-23 23:59:20 +00:00
|
|
|
- more! (look for ones that use WYSIWYGs)
|
2008-04-22 20:57:11 +00:00
|
|
|
- Also, maybe a FAQ for extension writers with HTML Purifier
|
2006-11-04 05:05:19 +00:00
|
|
|
|
2007-12-09 22:14:15 +00:00
|
|
|
AutoFormat
|
|
|
|
- Smileys
|
2008-05-06 03:08:09 +00:00
|
|
|
- Syntax highlighting (with GeSHi) with <pre> and possibly <?php
|
2007-12-09 22:14:15 +00:00
|
|
|
- Look at http://drupal.org/project/Modules/category/63 for ideas
|
|
|
|
|
2008-05-06 03:08:09 +00:00
|
|
|
Optimizations
|
|
|
|
- Reduce size of internal data-structures (esp. HTMLDefinition)
|
2008-05-13 02:02:27 +00:00
|
|
|
- Research memory usage of objects versus arrays
|
2008-05-06 03:08:09 +00:00
|
|
|
- Combine multiple strategies into a single, single-pass strategy
|
2008-05-13 01:41:25 +00:00
|
|
|
- Get PH5P working with the latest versions of DOM, which have much more
|
|
|
|
stringent error checking procedures. Maybe convert straight to tokens.
|
2008-05-13 02:02:27 +00:00
|
|
|
- Get rid of set_include_path(). Save this for another major release.
|
2008-05-06 03:08:09 +00:00
|
|
|
|
2008-04-22 20:57:11 +00:00
|
|
|
Neat feature related
|
|
|
|
! Factor demo.php into a set of Printer classes, and then create a stub
|
|
|
|
file for users here (inside the actual HTML Purifier library)
|
|
|
|
! Support exporting configuration, so users can easily tweak settings
|
|
|
|
in the demo, and then copy-paste into their own setup
|
2007-08-02 22:44:42 +00:00
|
|
|
- Advanced URI filtering schemes (see docs/proposal-new-directives.txt)
|
2008-04-22 20:57:11 +00:00
|
|
|
- Allow scoped="scoped" attribute in <style> tags; may be troublesome
|
|
|
|
because regular CSS has no way of uniquely identifying nodes, so we'd
|
|
|
|
have to generate IDs
|
2007-08-03 02:48:52 +00:00
|
|
|
- Explain how to use HTML Purifier in non-PHP languages / create
|
|
|
|
a simple command line stub (or complicated?)
|
2007-09-02 17:22:31 +00:00
|
|
|
- Fixes for Firefox's inability to handle COL alignment props (Bug 915)
|
|
|
|
- Automatically add non-breaking spaces to empty table cells when
|
|
|
|
empty-cells:show is applied to have compatibility with Internet Explorer
|
2008-04-22 20:57:11 +00:00
|
|
|
- Table of Contents generation (XHTML Compiler might be reusable). May also
|
|
|
|
be out-of-band information.
|
2008-05-13 02:02:27 +00:00
|
|
|
- Full set of color keywords. Also, a way to add onto them without
|
|
|
|
finalizing the configuration object.
|
|
|
|
- Write a var_export and memcached DefinitionCache - Denis
|
2008-04-22 20:57:11 +00:00
|
|
|
|
|
|
|
Maintenance related (slightly boring)
|
|
|
|
# CHMOD install script for PEAR installs
|
|
|
|
! Factor out command line parser into its own class, and unit test it
|
|
|
|
! Nested configuration namespaces
|
2008-01-05 19:19:55 +00:00
|
|
|
- Distinguish between default settings and explicitly set settings, so
|
|
|
|
configurations can be merged
|
2008-02-18 01:11:17 +00:00
|
|
|
- Time PHPT tests
|
2006-10-31 02:17:52 +00:00
|
|
|
|
2008-04-22 20:57:11 +00:00
|
|
|
ChildDef related (very boring)
|
|
|
|
- Abstract ChildDef_BlockQuote to work with all elements that only
|
|
|
|
allow blocks in them, required or optional
|
|
|
|
- Implement lenient <ruby> child validation
|
2006-08-28 19:21:46 +00:00
|
|
|
|
|
|
|
Wontfix
|
2006-11-04 05:05:19 +00:00
|
|
|
- Non-lossy smart alternate character encoding transformations (unless
|
|
|
|
patch provided)
|
2007-09-03 15:16:33 +00:00
|
|
|
- Pretty-printing HTML: users can use Tidy on the output on entire page
|
2008-04-22 20:57:11 +00:00
|
|
|
- Native content compression, whitespace stripping: use gzip if this is
|
2007-06-21 15:28:50 +00:00
|
|
|
really important
|