[jifty-devel] Ideas for Jifty plugins

Andrew Sterling Hanenkamp andrew.hanenkamp at boomer.com
Thu Feb 1 17:06:05 EST 2007

If you want to check out the virtual-models branch, I've already built
the basic UI, since Jesse had already laid the ground work for
instantiating models on the fly. Currently, it works very much like the
built-in __jifty/admin/model forms right now.

I've just started the process of taking this up another notch, which
will include the following:

 1. An form for building the base for a model, which will include the
model name and the names and types of the columns (and some of the other
fields that are important).
 2. When you save the model, it will save the information just created
and instantiate the actual tables. (Right now, you have to save your
model and then restart the server for it to work just right.)

 3. After creating the model, you will be taken to the model editor.
This will let you flesh it out further by adding descriptions, labels,
and setting up all the extra per-column fields.

 4. Another piece to add is the ability to add new columns and build
relationships. I plan to provide a form for creating one-to-one,
one-to-many, and many-to-one relationships between models.

That last point (4) will, upon save, add the column and then perform a
redeploy to update the database. I'm building out some workflow diagrams
to help me get these initial operations setup correctly.

I'm also planning additional data handling tools can also be provided to
do things like:

 1. Rename a column or change the type of a column, which could involve
creating a new column and then copying all the data from the old to the

 2. Rename a model, which could involve a similar operation at the table

 3. Clone a model, which would create a new model based upon an existing
model (potentially with some changes) and then offer (if desired) to
copy the data from the old table into the new.

Amongst other operations. Work also needs to be done to allow for the
versioning of these databases so that you could create a generic
application using these models and then be able to take an old version
and upgrade to the latest version by loading the latest model and column
information. Some of the footwork has been started there as well.

Anyway, I just started on these, but I'm progressing pretty quickly. If
you're interested in what I've done so far, you can see the ModelBuilder
plugin in the virtual-models branch in the SVN repository.


Andrew Sterling Hanenkamp
Interaction Developer
Boomer Consulting, Inc.
andrew.hanenkamp at boomer.com
1-785-537-2358 x17
1-888-266-6375 x17
610 Humboldt St.
Manhattan, KS 66502

-----Original Message-----
From: jifty-devel-bounces at lists.jifty.org
[mailto:jifty-devel-bounces at lists.jifty.org] On Behalf Of Edgar Whipple
Sent: Thursday, February 01, 2007 10:48 AM
To: jifty-devel at lists.jifty.org
Subject: Re: [jifty-devel] Ideas for Jifty plugins

Howdy, folks.

I just discovered Jifty in the last week or two, and it's pretty keen so

On Fri, Jan 26, 2007 at 04:48:02PM -0600, Andrew Sterling Hanenkamp
> Model/Schema Builder Plugin:
> This plugin would provide additional functionality that would allow 
> for the creation of new models and update of existing models from 
> within the application. You would create a new model, be able to set 
> up some of the basics, and build out the columns of the model from 
> within the screens provided by the plugin.

I was thinking for a first project I'd build a tool for laying out
columns for a model, to save myself some typing later on. It wouldn't
have the fancy interestingness you described. It's just going to be a
data-entry tool for producing an initial lib/MyJiftyApp/Model/MyModel.pm
with all the column declarations in place.

However, I imagine it could be adaptable for larger purposes. For what
you have in mind, do you think this might be a helpful contribution to
the front end?


jifty-devel mailing list
jifty-devel at lists.jifty.org

More information about the jifty-devel mailing list