/todo/gui.todo

http://zoop.googlecode.com/ · Unknown · 159 lines · 155 code · 4 blank · 0 comment · 0 complexity · 3e09a41178aedc58bc70650ab5bfed4a MD5 · raw file

  1. new
  2. ---
  3. - engines
  4. + smarty2
  5. + smarty3
  6. - some standardish templates
  7. - try some crazy ones
  8. - haml
  9. - http://haml-lang.com/
  10. - http://phphaml.sourceforge.net/
  11. - http://en.wikipedia.org/wiki/PHAML
  12. - http://wiki.github.com/dxw/Fammel/
  13. - http://code.google.com/p/phamlp/
  14. - css scaffolding
  15. - http://github.com/anthonyshort/csscaffold
  16. - make them configurable (zoop.gui)
  17. - filters
  18. - xml/pdf
  19. - markdown
  20. - other wiki syntax formats
  21. - syntax hilight
  22. - also allow all engines to be used as filters
  23. - get header metadata
  24. - asset manager
  25. - concatenate js and css files
  26. - minify
  27. old
  28. ---
  29. - turn smarty->use_sub_dirs on by default (set it equal to true)
  30. - misc
  31. - fix html_dboptions
  32. - it is still using the old zoop db sql_fetch_simple_map
  33. - use the following to determine the dataset to use
  34. - query parts
  35. - tablename
  36. - idfield
  37. - namefield
  38. - orderby
  39. - result set
  40. - query object
  41. - chained sql generator object
  42. - some soft of object you create by just giving it sql and the escape vars
  43. - sql query string
  44. - identifiers in mssql: apparently it doesn't accept double quotes ""
  45. - use smarty->default_modifiers to automatically escape all html by default
  46. - make sure it also applies to smarty functions and not just variables
  47. - make sure it runs it after it applies all other modifiers
  48. - make sure it doesn't apply to includes so it just escapes what you want
  49. - smarty resources
  50. - possibly use resource paths (http://smarty.php.net/manual/en/template.resources.php) to handle module templates
  51. - use the default template handler to present a pleasant error message when you can't find a template in development - or create it for you on the fly!
  52. - experiment with non smarty drivers
  53. - configure in config.yaml
  54. - drivers
  55. - mizithra
  56. - <? code ?> for code that doesn't print anything
  57. - <?= code ?> for stuff that needs to print and escape
  58. - syntax modules for textmate
  59. - should just be a tweak to the php syntax
  60. - plainTemplate (http://meta20.net/plainTemplates/) + phpQuery (http://meta20.net/phpQuery)
  61. - controls we need to have
  62. - button that just goes to an url
  63. - use onclick to set document.location
  64. - post an action to the post page and redirect to the new location
  65. - GuiControls
  66. - come up with a set of methods that need to be defined
  67. - have a way to map plugins to GuiControls
  68. - maybe have a way of sending undefinded smarty tags to a default GuiControl have having it determine based on the tag - - name and attributes what GuiControl to create and execute
  69. - allow GuiControls and normal plugins to use templates within themselves
  70. - code for sanitizing html
  71. - use a whitelist of tags and attributes
  72. - come up with default whitelist configurations for allowing commonly needed, known to be safe tags and attributes
  73. - allow automatic filtering of output
  74. - gzipping
  75. - how much will this increase cpu on the server
  76. - will it actually decrease latency
  77. - minifying
  78. - templating system
  79. - control characters
  80. - postions
  81. - open
  82. - close
  83. - purposes
  84. - whether or not to print
  85. - whitespace control
  86. - indenting in the source for readability but removing them from the output
  87. - whether or not to escape the result string (always escape by default)
  88. - add a character somewhere in such as +-/ etc in order to control whitespace properly
  89. - integration with text/translation system
  90. - special translation tag system
  91. - process each template
  92. - extract the text and hash it
  93. - add the entry to the database so it can be translated
  94. - enter a function into the template passing in the hash (constant) and languageId (variable) so it can pull the correct text
  95. - add heuristics to find when something was only slightly changed to possibly help with the translation
  96. - try to compile the code right into the smarty templates
  97. - use the smarty compile_id (http://www.smarty.net/manual/en/variable.compile.id.php)
  98. - combined with compiler functions (http://www.smarty.net/manual/en/plugins.compiler.functions.php)
  99. - if you do this you may need a way to trigger a recompile when the text changes
  100. - caching
  101. - compiled php code
  102. - content
  103. - paramaterized content
  104. - helpers/plugins?
  105. - scopes
  106. - zoop helpers
  107. - app helpers
  108. - zone helpers
  109. - page helpers
  110. - syntax
  111. - as tags like in Smarty
  112. - {name att1=value1 att2=value2}
  113. - <?name att1=value1 att2=value2?>
  114. - <?@name att1=value1 att2=value2?>
  115. - <#name att1=value1 att2=value2 #>
  116. - as funcions like in RoR
  117. - functions
  118. - creating links
  119. - get links
  120. - use javascript to do a post
  121. - mailto links
  122. - form tags
  123. - create open an close tags
  124. - handle nestedness issues
  125. - handle upload forms
  126. - handle the action field
  127. - form elements
  128. - buttons
  129. - normal buttons
  130. - submit buttons
  131. - image buttons
  132. - radio buttons
  133. - checkboxes
  134. - drop down menus
  135. - combo boxes
  136. - hidden fields
  137. - text fields
  138. - password fields
  139. - textareas
  140. - date field
  141. - time field
  142. - date/time field
  143. - search boxes for a round trip to the server
  144. - search boxes that pull results from ajax
  145. - search boxes that filter local javascript data
  146. - images
  147. - pagination
  148. - validation
  149. - required
  150. - int
  151. - email
  152. - regex
  153. - matches (sameas)
  154. - themes
  155. - provide a whole bunch of site themes and a good way to pull them into an existing stationary set