i am tryin to make a simple search app which allows users to retrieve records from a database

with the added convenience of viewing only certain columns and saving their preferences in the form of views.....

so.... every view has a list of associated columns....now how wud i typically handle schema changes in the database without havin to rewrite the code and in addition to this how wud this design scenario be handled...

moreover, the promise of building a lot of stuff without doin much sure does seem tantalising...:)....... i wud love some inputs on some concise yet relatively maintenance free approaches...

i am tryin to make a simple search app which allows users to retrieve records from a database

with the added convenience of filterin out certain columns and saving their filterin options in the form of views.....

so.... every view has a list of associated columns....now how wud i typically handle schema changes in the database without havin to rewrite the code and in addition to this how wud this design scenario be handled...

and moreover, the promise of building a lot of stuff without doin much sure does seem tantalising...:)....... i wud love some inputs on some concise yet relatively maintenance free approaches...

I'm not sure that Naked Objects is going to work for you without quite a bit of mangling. As I'm sure you're aware, NO works by building a metamodel of a domain object model, and consults this metamodel in order to render each domain view.

Your Column and View classes are at the same level of abstraction as the NO metamodel, not as a "regular" domain model. Which is where I see the issue.

What you want to do, I think, is to have the NO rendering process somehow "consult" your the view definition for a particular database record. However, there is no public API (that I can think of) that would allow you to do this.

Really, what you are describing sounds like it would require a new implementation of a Naked Objects viewer.

If i have this correct, one way forward might be to write your own ASPX helpers, similar to the ones that ship with NO, but that also look up the corresponding View/Columns saved for the currrent user and adapt the rendered page accordingly.

Or, as an alternative, you could consider using the soon-to-be-released Restful Objects packages (they are up in NuGet as pre- packages at the moment). Then you could build your own viewer (eg in some fancy javascript library) that (similarly) would use
your View and Column objects to render things out as required.