PageRenderTime 18ms CodeModel.GetById 8ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 1ms

/todo/gui.todo

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