Project Wish List

This a running list of features that would increase the value of each project. So if you're interested in contributing and don't know where to start, start here.

ORMer

  • Ensure model-level relation caching works: When reference a related dataset, cache the results within the instance so the query isn't executed upon future references
  • Ensure table name overrides work
  • Increase usability, eliminating tedious usage quirks
  • Ensure relation and schema caches aren't required
  • Allow usage where model classes don't need to extend the orm base class. Perhaps modify the base class constructor to accept a table name.
  • Pull error messages from dbFacile (ie. When saving a new ORMer instance fails because some fields can't be null)

dbFacile

  • Test foreign-key discovery on MySQL 5.1+
  • Driver classes for: Sqlite3, Postgresql
  • Ensure that a schema cache isn't required for operation

Autoform

  • Ability to treat checkboxes as a two-state control? Sometimes you want a default value when unchecked
  • FTP support for file fields. Some servers won't allow the apache user to save uploaded files, so ftping from the temporary location to the webroot folder is a workaround.

Wikivert

  • New markup for URLs (use some of the regex advice from Coding Horror)
  • Anchor tags: "#anchor" (no spaces)
  • Nested lists
  • Fix issues where images inside links are being em'd

Vemplator

  • Remove the need to cache templates to a file

 

New Exploratory Project Idea

Function Element

Seeing some lisp syntax for building up a hierarchy of HTML tags made me jealous. However, I'm not fully convinced that using programmatic elements is more efficient than writing strings of HTML. This project would allow me to explore that notion. I imagine that there will at least be some incentives to doing things this way, in the same way that it's incredibly powerful to be able to incrementally construct SQL queries.

Syntax:

$h = div(
    span(
        array('class'=>'floatLeft'),
        'hey there'
    ),
    span('another span'),
    div(
        p('Paragraph text'),
        a('link text')->href('http://greaterscope.net')
    )
);

The above contains a few different approaches to adding attributes to a node. The first span uses an array, but the anchor tag uses a method with the desired name of the attribute.

There will be functions for each XHTML tag, but there won't be methods for each of the possible attributes ... any method call will result in an attribute of the same name.

Thoughts: I want to explore the benefits, but not necessarily the implementation of such a project. I thought about using SimpleXML internally to remove the need to create traversal, modification, and HTML generation code.


 

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.