On 3/1/06, Gary Poster <[EMAIL PROTECTED]> wrote: > > On Mar 1, 2006, at 11:02 PM, Jeff Shell wrote: > [...] > > Django is killing us on automatic data (not system) administration > > pages. > [...] > > I didn't follow this, probably because I don't know Django. Do you > mean they excel in automatic data entry forms, a la Zope 3 edit forms/ > formlib? As in Ruby-on-Rails slick SQL-driven AJAX forms? Or...?
It's not just formlib, but it's on the contents screen. This effbot post summarizes it pretty well: http://online.effbot.org/2006_02_01_archive.htm#20060215 It includes example code and a screen shot. In a very few lines of pure Python, he has an edit screen for announcements. There's a search field, the columns are sortable, etc. There's also a 'date hierarchy' which gives clickable years across the top of the listing to filter. Django comes out of newspaper focused content management, and has a polished CMS style UI (based on the screen shots I've seen, I've never actually used it) and ways of rapidly putting it together. I'm not fond of the way they put it together in the code, but the results are impressive. A low priority project I have is to make a new base 'admin' skin and collection of components/tools for us at Bottlerocket. One of the things I really want to do is create a formlib inspired contents view(let). The contents view we have in our current CMS is based (stylistically if not subclassed) on the one in zope.app.container.browser.contents. It has ajax elements (inline renaming and title editing), and no copy and paste. But it does have delete. Delete (and the other things) are methods of the contents view, and a lot of the display is bound up in the template. When my co-worker wanted to adapt it for more specialized content listings, where he wanted grouping and no renaming, it was quite a bit of work. It's late, and I've been watching nothing but South Park and Monty Python's Personal Best series (an hour of Terry Gilliam animations - dada enlivened!), but I envision something like: class AnnouncementContents(ContentsView): contents = JSSortableContentsTable( listOnly=IArticle, columns=ColumnFields(IZopeDublinCore.modified,IZopeDublinCore.title), actions=ItemActions( ViewAction(icon=Resource('rsrc/delete.gif'), viewname='delete', title='Delete', post=True) ) ) contents.order(table.columns['modified'], reverse=True) contents.columns['title'].widget = InPlaceEditor *shrug*. That's a bit messy. But it's also only fantasy right now. :) Anyways, Django has a very nicely polished 'admin' interface. Which, as I mentioned earlier, is something that is very attractive for certain application types. It allows the focus to be on the application's real skin, and offers an easy almost-no-brain data entry skin to be made that's also quite usable. Something like this would be a great option, emphasis on option. It's not usable for every situation. At Bottlerocket, we want to brand and customize and this has often been one of the reasons we've made our own apps instead of using something like Plone. "Hmm. Looks like Plone. We don't want something that looks like Plone..." (This was only really bad when it came to trying to figure out how to publish a site that didn't look like plone to end users, but did for data entry). This is one of those issues that spirals out of control, and easy usability - "wrap this interface around all your models in one line of code!" - and customizability start to clash. But having it as an option to startup could be priceless. An even more interesting application is CatWalk, which is now part of the TurboGears 0.9 toolbox. One metric I saw was that it's 1200 lines of Javascript, 900 lines of Python. It does a LOT via Ajax/JSON. And it's _extremely_ impressive, especially when it can actually be wrapped around your model objects in a single line of code (or just as a launch option!). http://checkandshare.com/catwalk/ (he also has a model designer running - http://www.checkandshare.com/modelDesigner/ ) The nice thing with TurboGears and these tools is that they feel like *additional options*. At least, that's the feel I get just from some semi-casual observations on my part. They don't feel like the default UI that you don't know if you have to support or not. Anyways, the other communities have things like this going on and we're still debating over release / roadmap / naming strategies? -- Jeff Shell _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com