views:

81

answers:

1

My newest project that I'm looking to build with PHP (likely CodeIgniter) would require some sort of system that would allow a user to drag and drop pre-defined functions/methods into mini-classes/objects and then run/test them in the browser.

So it'd something similar to Scratch. I've designed a relational database that I think could work for this (storing the function names and have these classes "subscribe" to those functions) - but I'm wondering whether or not to go ahead with it.

Is there a better way to do this or is there a system out there that would accomplish this for me?

EDIT: It would have to be extremely simple for an end user, but hopefully be flexible enough to easily add more complex functionality in the future.

A: 

I am working on a new model-driven software development paradigm named ABSE (http://www.abse.info) that supports end-user programming: It's a template-based system that can be complemented with transformation code. I also have an IDE (named AtomWeaver) implementing ABSE that is in pre-alpha stage right now.

With AtomWeaver, as an expert/architect, you build your knowledge Templates, and then the developers (or end-users if you make your meta-models simpler) can just "assemble" systems by building blocks, and then filling template parameters in form-style editors.

At the end, pressing the "Generate" button will create the final system as specified by the architect/expert.

ABSE and AtomWeaver are much more than this simplistic explanation, but I hope I've answered your question.

Rui Curado
Looks pretty sweet.I guess my main issue is storing the user's created commands/processes. Right now it looks like just a relational database would work.