Hacker News new | ask | show | jobs
by stcredzero 4792 days ago
RoR
1 comments

There's still a lot of coding for that. I'm thinking a drop-in app that looks at a database and creates list and record level editors for each table automatically. Users could still customize it from there but they'd have a good start.
The trouble with reflecting your UI from your physical schema is that it is a horribly leaky abstraction with very close coupling.

An extreme DWTF-style example I've seen was a 'CMS' in this style. The CMS was clearly modelled on phpMyAdmin - if you wanted to create a new content type, create a new table and it would be right there in the UI. In this CMS, news articles were the main content type - and they could be linked to other news articles and other content types in the system such as celebrities and events, which was implemented as a simple drop-down for each referenced item when you were adding or editing an article. However, this drop-down for selecting referenced entities was of course reused everywhere - meaning that you had a global setting on whether the items were ordered in alphabetical or most recent.

(Obviously you could code around this particular case, but it illustrates a general problem with the approach. And god forbid you should ever want multiple pluggable storage engines or service-based data sources.)

I think it's a cool idea. So have lots of others over the decades. (From the 70's I'd bet.) In a way, RoR is just the latest wrinkle in this quest. If you can do it, you might well have something. (BTW, are you familiar with SQLAlchemy?) If you are serious, I invented a graphical interface for dynamically exploring reporting information from such an app.
The SQLAlchemy thing sounds cool. I was thinking more about CRUD than reporting but that might be a useful product too.

The only issue with the universal CRUD tool is I have no idea how to market it?

You can use the ORM infrastructure that enables CRUD to also produce dynamic reporting.

> The only issue with the universal CRUD tool is I have no idea how to market it?

The dynamic reporting thing can be sexy. It would be a great way to sell such a tool. It's like pivot tables, but entirely graphical. It was based on a Smalltalk web plugin when I wrote it. I was going revive this project and make it an iPad app.