I would second the request for examples of a basic CRUD application. I think some threads about CodeIgniter have been driving Jason crazy (understandably)... but the problem I think many of us have is that the documentation of xPDO / MODx API is limited, so we turn to CodeIgniter (or similar).
The tutorial here: http://svn.modxcms.com/docs/display/revolution/Using+Custom+Database+Tables+in+your+3rd+Party+Components
has some confusing points and typos (see its comments). So specifically, I’d like to see the following:
* Reverse engineering an existing table / database.
* A detailed discussion of the xml schema files. I think it would incredibly useful just to compare MySQL "DESCRIBE my_table" commands with their corresponding XML schema files, especially if you listed common table structures (e.g. 2 tables, one with a foreign key; or 3 tables, 2 independent with a join table between them).
* Discussion of MVC architecture, using a relevant example, perhaps discussing how Revo handles a page request (or some other known entity)
* Perform basic CRUD operations using the Revo API
* Compare a basic CRUD operation with other frameworks (this would be huge in luring in developers from other platforms).
* Creating custom menu item in the manager to handle standard CRUD operations on a custom data type (MODx: beyond managing pages)
* Using the MODx API to format / parse templates and chunks
* Have a separate tutorial to cover making your own Snippet / Plugin in the correct format.
* (possibly unrelated): creating contexts, e.g. setting up a web service that spits out XML bodies when pinged with REST-ful requests.
* Discussion of MODx caching... e.g. if we write our own MODx CRUD operations, how can we set cache time-limits on various actions? How is it cleared?
* Using Revo to connect to a different database engine other than MySQL (e.g. PostGres, or eventually Oracle)
I’m happy to weigh in and try to write some of these... but the paradoxical difficulty is that there is little documentation.... lol.