ActiveScaffold goes Gold: 1.0 Released!

ActiveScaffold 1.0 is now available, download links are in the upper right, just in time for RailsConf (more on this later). Big thanks to the whole core team: Lance, Ed, Scott and Tim for their hard work that got us here.

Rather than dwell on what 1.0 is, which is well documented, I’m going to focus on what’s next for ActiveScaffold (see development roadmap):

Spinning off independent plugins

There’s a lot of code in ActiveScaffold that could be generally useful to the Rails community, not just to ActiveScaffold. We’re keeping an eye out for parts of ActiveScaffold that could be spun off as separate plugins that people can incorporate independently into their Rails projects. If you see anything that fits the bill, let us know.

Improving form components

Our first major goal will be to turn our attention inward and focus on improving form usability. We’ll be focusing initially on better support for file uploads and replacing those horrid date/time pickers that Rails gives you with something more… friendly (like DHTML Calendar for instance).

Adding semantic goodness

But there’s only so much improvement we can make to the forms initially because we lack any sort of semantic definition of what individual model attributes are. How do we know that user.home_number is actually a phone number? Or that user.email is an email address?

The SemanticAttributes plugin, to be released separately from ActiveScaffold, will allow you do define semantic meaning for your attributes in your models:

class User < ActiveRecord::Base
  is_email :email
  is_telephone :home_phone
end

What can we do with that information? For one, we can define sensible Rails validation checks for you. Secondly, when ActiveScaffold detects the use of SemanticAttributes, we will be able to give you even finer grained form and list widget options: a 3 field telephone input, special search options for emails, etc.

We’re really excited about the idea that we can define meaning rather than function (Rails validations) and reuse that knowledge all over your application keeping things very DRY.

  1. This is a very important milestone. I’ve been following this since it was called AjaxScaffold and I am very happy to see yet another great quality software being released as a 1.0 version.

    Congrats for all!

  2. I’m sure this is a magnificent product but it reminds me of the old saying “If a tree falls in the woods and noone hears it, did it make a sound?”. I’ve approached trying to learn what this product is and how to work it with complete frustration. No one seems to be able to paint the ‘big picture’. It appears that if one uses this and doesn’t operate at the source code level, they’ll be lost forever. The examples are incredible slanted for someone who’s been using it for years and there is no empathy for the first time user. What a shame to waste so much energy and get tackled on the one yard line. Can someone make a tuturial and solve this? David

  3. David,

    I can understand your frustration, there is always room for improvement, especially in tutorials.

    Have you tried reading this URL? http://activescaffold.com/tutorials/

    It’s located under the documentation link.

    Tim

  4. Your demo seems to be down.

  5. Awesome! Thanks guys for all your hard work!

  6. How does ActiveScaffold compare with Streamlined?

  7. I can’t believe I made a typo in my own name! :-(

  8. 1) Is there a list of what syntax changes happened between RC2 and v1.0 ? Simply installing the v1.0 causes lots of “excluded” things to not be excluded any more…

    2) For the “has_many :through” case (for example people <=> tickets <=> concerts), is ActiveScaffold supposed to allow editing of “ticket” info from the “people/edit” window? It looks like it really wants to allow that functionality, it even shows the “ticket” info (and the “concert” info!), but trying to commit changes results in a “500” internal error :-(

    Just trying to find our if editing of “has_many : through” association data is a feature of ActiveScaffold or not…

  9. @Tim:

    1) There weren’t any API changes or major features added from RC2 to 1.0, mainly just bug fixes. What you’re describing sounds like a bug, but post it on the forum first to be sure.

    2) has_many :through associations are read-only and thus aren’t supported for editing. We recommend creating a regular has_many to the join table for that purpose. The fact that it’s teasing you like it’s working seems like a bug as well, please post it on the forum (seperately from issue 1).

    Thanks Tim

  10. This is an intriguing product! I’m partway through developing something like this of my own but i think activescaffold is way ahead.

    The first thing i checked for was whether active scaffold can deal with file uploads yet. Judging by the roadmap i guess that’s not yet possible.

    I see that filecolumn will be supported. I personally far prefer Upload_column http://uploadcolumn.rubyforge.org/ (simple like filecolumn but more elegant when it comes to retrieving urls of uploaded files).

    Will keep an eye on this! great work.

  11. bitbutter,

    file uploads are supported in the upload branch, and have been now merged into trunk.

    Information about checking it out/using it can be obtained here for the time being.

    http://groups.google.com/group/activescaffold/msg/3fa6247ef9017196 http://groups.google.com/group/activescaffold/msg/f01d0eb3ae452a99

    Tim

  12. I’m sure that this has different utility, but I’ve recently fallen in love with Hobo. Hobo is a marvelous piece of work that is going to really make big waves in the Rails world. Perhaps this would indeed make a good back-end scaffold replacement for just starting out projects. I will have to take a good look, but certainly, please, do take a look at Hobo.

  13. We’re actually having a BoF session at RailsConf2007 where hopefully we can get together with users/devs from plugins like Hobo and Streamlined to talk about how each one can help with rapid development. A good writeup on the differences would be fantastic.

Sorry, comments are closed for this article.