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=..or" source="ognl:queues" index="ognl:queueIndex" ...>
...
<a href="#" jwcid=..irectLink" 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:websystem..mail.com]
Sent: Thursday, April 06, 2006 4:07 AM
To: cayenne-use..ncubator.apache.org
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
This archive was generated by hypermail 2.0.0 : Thu Apr 06 2006 - 11:29:23 EDT