TODO List = KEY ==================== # Flagship - Regular ? Maybe I'll Do It ========================== If no interest is expressed for a feature that may required a considerable 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! UPCOMING RELEASE ---------------- IMPORTANT - Test HTMLPurifier.auto.php, HTMLPurifier.includes.php, and combinations of the two. This is related to standalone in tests/index.php. This should use semi-automated smoketests using PHPT style files (probably should be part of SimpleTest framework). These tests can be further extended to work for many of our other smoketests. - Release candidate, because of the major changes - Move utility classes for ConfigSchema into HTML Purifier itself: they're that important DOCUMENTATION - Document new methods of including the library (probably can go in INSTALL) - Document new ConfigSchema setup and format; dev-includes.txt is a base but we need it in HTML - Update French translation of README - Document which scripts need to be called when a change is made - Document that standalone doesn't load autoload by default, so you need to include HTMLPurifier.autoload.php after it IMPORTANT FEATURES - Get everything into configuration objects (filters, I'm looking at you) - Factor generate-schema-cache.php into a class, so that the maintenance script is as small as possible - Factor out command line parser into its own class - Optimize ConfigSchema by only caching things necessary for runtime CONFIGDOC - Properly integrate new ConfigSchema system into configdoc (Configdoc should directly read the configuration files, or at the very least should not use static functions) - Reduce code duplication between Serializer and Adapter/ReverseAdapter (we probably want to use ReverseAdapter for the long haul) - Have configdoc use version and deprecated information (hide deprecated info, for example) - Implement file sniffing for configdoc, so we can easily figure out which files use what configuration IF IT AIN'T BROKE... - Rename merge-library.php script - Create "super" script which performs all regeneration actions - Remove all includes from unit tests, and remove blanks/ folder and generation - Simplify merge library script by removing recursion? (or other things) - Update unit tests for ConfigSchema - Perhaps replace types with integer identifiers in ConfigSchema? (would be smaller, but not by much). NICE FEATURES - 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 FUTURE VERSIONS --------------- 3.2 release [Error'ed] # Error logging for filtering/cleanup procedures - XSS-attempt detection 3.3 release [Do What I Mean, Not What I Say] # Additional support for poorly written HTML - Microsoft Word HTML cleaning (i.e. MsoNormal, but research essential!) - Friendly strict handling of
(block ->and possibly child validation - Explain how to use HTML Purifier in non-PHP languages / create a simple command line stub (or complicated?) - 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 - Distinguish between default settings and explicitly set settings, so configurations can be merged - Nested configuration namespaces - Allow scoped="scoped" attribute in