I like the CrudEngine.  :-)

I don't have time to fully explore it right now, but it looks like there
is some really nice tutorial/reference information there.  You've been
busy!

I noticed you put in a note about DataSqueezers not being secure, too.
That's a big issue for me.  I've adopted the technique now of encoding
in my DirectLink the index of the data object in my internal List.  For
example:

* Tapestry enhancements:
public abstract List getQueues();
public abstract void setQueues(List queues);
public abstract int getQueueIndex();
public abstract void setQueueIndex(int index); 


* Save query results:
...
List queues = dataContext.performQuery(...);
setQueues(queues); // save queues off in page/session space
...


* HTML Template:
<span jwcid="@For" source="ognl:queues" index="ognl:queueIndex" ...>
...
<a href="#" jwcid="@DirectLink" listener="listener:showQueue"
parameters="ognl:queueIndex">


* Handle selection of queue (click on DirectLink):
public void showQueue(int index)
{
  getQueues().get(index);
  ...
}


So, if my performQuery() returns 20 rows I save those objects off in the
page session space.  The DirectLink will encode 0-19 as the queueIndex
when creating the hyperlinks.  When they click on a link, I get the
object they clicked on via the index (supplied by T4).  The index is
only valid inside the List of objects I've stored off for them as a
result of the query.  If they monkey with the URL, they can't get data
that isn't available to them in the first place, and if they change it
to 20+, it'll throw an exception.  This keeps the PKs out of the picture
completely and no squeezing needs to be done.  If that makes any sense.
:-)

Thanks,

/dev/mrg



-----Original Message-----
From: Steve Wells [mailto:[EMAIL PROTECTED] 
Sent: Thursday, April 06, 2006 4:07 AM
To: [email protected]
Subject: [ANN] MaCaTa - An introduction by example to 3 frameworks


Hi all,

I'd like to announce the first release of MaCaTa - a web application and
tutorial based on 3 excellent and compatible open source java based
frameworks...
Maven-Cayenne-Tapestry.  Hence the highly imaginative name of MaCaTa ;)

The application is all about allowing a user to manage data, it is all
CRUD
(Create, Read, Update, Delete).  For the developer you configure it to
point to a Cayenne object and it displays a list of data in the
corresponding
table and allows the user to work with that data.  There is more
code-configuration
available such as the ability to disallow deletes.

On top of this there is a reasonable amount of documentation that walks
you
through
creating your own applications based on these technologies.  In fact the
documentation
is a super-set of what is available in the application itself.

More information is available at:
http://web.aanet.com.au/websystems/index.html

Regards,

Steve

Reply via email to