0

It seems this can be hacked into Django, but I'd rather prefer a framework that has better support for end user defined models.

Basically, I want the users of my app/website to be able to do at the runtime of the application what I do at compile time when writing the Model code: specify models that generate/modify a database schema. Obviously I cannot let the users of the webApp modify the code in models.py, so there has to be another way. Concurrency shouldn't be an issue, since each user-defined model would belong to only one user.

I don't mind using any programming language (Python, Haskell, JavaScript etc.) or any specific database SQL, NoSQL, whatever. Rails/Django freed me from writing a lot of repetitive code, now I simply want that functionality of modifying the model also at runtime (and preferably the corresponding views and controllers). If there is a good framework that rids me of writing all that code then I'll use it.

If there's no framework supporting it natively, does someone know a framework that at least makes it easy?

Community
  • 1
  • 1
mb21
  • 34,845
  • 8
  • 116
  • 142
  • What do you even mean by "end user defined models"? AFAIK, in MVC the model is a layer, not a class or instance. – tereško Sep 15 '13 at 20:48
  • I want my end users (the people clicking the mouse in the browser) to be able to define new models. Basically what the linked-to question is asking, but I'm not fixated on Django. – mb21 Sep 16 '13 at 06:45
  • Do you guys understand my question? Otherwise please ask and I'll try to clarify. – mb21 Sep 16 '13 at 10:57

1 Answers1

3

Portofino version 3 (http://www.manydesigns.com/en/portofino/portofino3) allows a modeler user to create data models interactively using a web interface called the "upstairs level". The system automatically generates a user interface (CRUD, charts, workflows) based on the model definition, without recompiling and basically in real-time with model changes. You can check the reference manual to see what kind of models are supported: http://www.manydesigns.com/en/portofino/portofino3/3_1_x/reference-manual

Currently Portofino 3 is an end-of-life version. The newer version 4 (http://www.manydesigns.com/en/portofino) is a significant re-write that currently does not support online editing of the data model as version 3 did, but keeps the same principle of making the application editable (through admin/configuration pages) and customizable (using Groovy) online without recompiling or restarting the server.

For data-model changes and db refactoring, Portofino 4 relies on Liquibase: http://www.liquibase.org/

softwareloop
  • 383
  • 2
  • 5