Developer Guide: ThinkUp Screencasts
Clone this wiki locally
A video tutorial of a developer performing a task can be a lot more informative and fun than reading a how-to, so the ThinkUp developer community hopes to produce a series of screencasts.
Each screencast should be short and to the point. Each should complete a single, small, real-world task and run between 3 and 5 minutes. (Screencasting software recommendation: ScreenFlow for Mac.)
While we haven't recorded one yet, here's an initial draft of possible episode topics for a series of ThinkUp Developer Screencasts.
How to modify the ThinkUp data structure
Walk through adding a field to an existing ThinkUp table, for example, an "account_status" field to the tu_owners table.
Concepts: SQL migrations, generating build-db_mysql.sql programmatically using the migratedb script, and generating ThinkUp model objects based on the data structure.
How to use a Data Access Object
Use a DAO to insert, update, or delete data from the ThinkUp data store. For example, add an "incrementFailedLogins" method on the OwnerDAO and write tests for its use.
Concepts: DAOs, DAO interfaces, the DAO factory, and tests; in general, ThinkUp's layer of abstraction for database agnosticism.
How to create a ThinkUp Controller to update the data store
Add an admin-only controller to get and set a ThinkUp user's account status and write the tests for it.
Concepts: ThinkUp's controller architecture (including AuthController and AdminController); writing controller tests.
How to implement a standard ThinkUp view
Set a user's account status with an HTML page that contains a form with a dropdown.
Concepts: Smarty templates and integration testing.
PHP Code Style Guide basics
A quick review of ThinkUp's style guide rules (max line length, variable naming schemes, docblocks) and how to implement them in Eclipse (our recommended IDE).
Test-driven development with SimpleTest and ThinkUp
A walkthrough of the test suite, how to configure and run ThinkUp tests.