Wheels Blog

Subscribe

Archives By Subject

Recent Comments

Recent Entries

Wheels API Documentation Available

The documentation now contains a section that documents all public functions in the Wheels API. You can now browse an complete list of the functions or browse by category.

It feels good to remove the apology for incomplete documentation from the documentation section!

As with almost everything else on the site, there is a lot more that we want to do with this new API documentation. Let us know in the Google Group if you have any ideas. Some future plans are as follows:

  • Comments section
  • Associate functions with other related functions and related chapters in the reference guide

  • Search

If you're interested in how we implemented this, visit my blog post where I briefly describe the general idea.

Released Today: ColdFusion on Wheels 0.9.4

We've just released ColdFusion on Wheels version 0.9.4 today on CFWheels.org. Thanks to Per Djurner, Tony Petruzzi, and James Gibson for contributing new features and improving the stability of the framework. And thanks to the community for feedback and supporting our efforts. Our presence is really starting to grow.

Improvements

  • There is a new labelPlacement argument on all form helpers that gives you more control over the label tag.
  • The error email now includes more information and also uses the global defaults you have set on sendEmail().
  • When linking you can now leave out the controller and action arguments and the link will point to the current page.
  • The rendering functions now accept a returnAs argument that you can set to "string" when you want to return the result for more processing instead of just displaying it right away.
  • … and more minor changes and bug fixes.

New Functionality

  • All finder methods (findByKey(), findAll(), etc.) can now return either an object, multiple objects in an array, or a query result set. You can decide what you want back by setting the returnAs argument to "object", "objects" or "query". The convention is still to return an object when dealing with single records and queries when dealing with multiples.
  • You can now specify a calculated property (maps to a SQL statement instead of directly to a table column) on a model that you can then reference in finders (selecting, ordering by it, etc).
  • The includePartial() function can now handle an array of objects (similar to the way it can iterate over a query).
  • You can pass in a field name in the group argument of includePartial(), and it will call the partial once for each group and pass in a sub query.
  • When specifying a hasMany association, you can now inform Wheels to create a shortcut to an additional model through a join table (very useful when dealing with many to many relationships).
  • You can now edit multiple objects of the same class in the same form, Wheels will automatically create nested structs in the params struct on the receiving end.

Read More »

Documentation Updates: Pages, Sending Email, and Configurations

We have 2 new chapters and 1 updated chapter in the Documentation.

First, Per wrote a chapter about Pages, which basically sums up a variety of ways that the view layer works to make your live as a developer easier.

Raul and Per worked together on a new chapter about Sending Email using the sendEmail() function. This is a powerful way to send different types of emails using templating and layout patterns similar to what's available in Wheels's view functionality.

Lastly, I updated the Configuration and Defaults chapter. I realized that we had left out some details as well as a full listing of what built-in configuration options are available.

Enjoy. Please continue providing feedback about the framework. We can't do this without you guys!

New Chapter: Object Validation

Another quick announcement. We've released a chapter in the Documentation about object validation.

Object validation allows you to enforce business logic related to your data easily. It also allows you to persist your objects so that your application can communicate error messages back to the user or handle the errors in some other way. It's a very clean way of handling logic that can be very repetitive if you choose to write it all out by hand instead.

Methods for Tracking Change

Per gets down and dirty with a new chapter in the Documentation called Dirty Records. Really it's all about tracking change to your database records dynamically.

Give it a read and learn about the power of methods like hasChanged(), XXXHasChanged(), XXXChangedFrom(), changedProperties(), allChanges(), and more.

Hello Database Tutorial

As a follow-up to the Hello World tutorial, we've just released a tutorial called Hello Database.

As its name suggests, the point of this new tutorial is to help you get a jump start on learning about Wheels's ORM functionality. This is not an exhaustive walk-through but rather a taste so you can dip your toe into the pool.

If you've been on the fence on whether you'd like to try ColdFusion on Wheels, give the tutorial a read.

Associations Chapter in Documentation

A big part of Wheels's included ORM is its use of associations to describe relationships between models. It's been a long time coming, but we released a chapter in the Docs about associations along with the 0.9.1 release of ColdFusion on Wheels.

Read More »

Wheels 0.9.1 Available

We are excited to announce the availability of ColdFusion on Wheels 0.9.1. I personally can tell you that the core team and community have really outdone themselves with this release. It is a giant step toward an impending release candidate.

Here is a brief listing of what Wheels developers gain from this release:

  • Ability to set global defaults for most functions' optional arguments
  • Upgrade-friendly configuration settings
  • Support for using multiple data sources (set on a per-model basis)
  • Ability to group view helpers by controller
  • Support for sending multi-part emails (HTML and plain text in same email)
  • New PluginManager plugin that helps you find and install plugins
  • Improved Railo support
  • Lots of bug fixes and other minor improvements

Review the Upgrading to Wheels 0.9.1 chapter to see what you would need to change in your application when upgrading.

Because of the big changes to the way that configurations are done, we figured this would be a good time to finish the chapter on Configuration and Defaults.

More reference chapters and documentation on the functions in the Wheels API are in the works, so stay tuned.

New Documentation: Sending Files

Per whipped up a quick chapter on Sending Files with Wheels's sendFile() function.

You may feel that sending non-HTML files to the browser is a trivial task, but this functionality makes securing those files dead simple.

Thanks, Per!

Creating Custom URLs in Your Wheels App with Routes

Today, I released a chapter in the Documentation called Using Routes.

Routes are a pretty cool feature of Wheels because they let you step outside of the URL convention that can sometimes feel like shackles.

Read More »

More Entries