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! IMPORTANT - We should do a release candidate, because of the major changes - Get everything into configuration objects (filters, I'm looking at you) - 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 - Test HTMLPurifier.auto.php, HTMLPurifier.includes.php, and combinations of the two. This is related to standalone in tests/index.php - Document new ConfigSchema setup and format; dev-includes.txt is a base but we need it in HTML - Document new methods of including the library - Move utility classes for ConfigSchema into HTML Purifier itself: they're that important - Factor generate-schema-cache.php into a class, so that the maintenance script is as small as possible - Document which scripts need to be called when a change is made - Semi-automated smoketests using PHPT style files (probably should be part of SimpleTest framework) - Check if Bootstrap needs to be conditional in standalone (also, check other files in standalone) - Update demo.php and all other code that has some relation to this - Rename merge-library.php script - Create "super" script which performs all regeneration actions - Factor out command line parser into its own class - Remove all includes from unit tests, and remove blanks/ folder and generation - Document that standalone doesn't load autoload by default, so you need to include HTMLPurifier.autoload.php after it - Simplify merge library script by removing recursion? (or other things) - Optimize ConfigSchema by only caching things necessary for runtime - Perhaps replace types with integer identifiers in ConfigSchema? - Properly integrate new ConfigSchema system into configdoc (Configdoc should directly read the configuration files) - 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) - Update unit tests for ConfigSchema - Implement file sniffing for configdoc, so we can easily figure out which files use what configuration 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