Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search

[REBOL] Re: RFC: Rebol Framework

From: petr:krenzelok:trz:cz at: 21-Sep-2002 6:42

Robert M. Muench wrote:
>Hi, it took some time but IMO I have a quite OK prototype running that's >available for download. Point your browser too: > > >You get some data-files and the main program (rebol-framework.r). > >How to use it: >- The business object "dialect" is from line 618. Very rudiementary but >OK for a start. Define your own objects and you are able to use them >instantly. > >- Searching is done by hacking in some value in the search-field. Only >exact matches work. > >- Relations between left side (master) and right side (detail) can be >set with the double-arrow-button in the middle. > >- Pressing the graph button will give you a layout of your semantic net. > >- Clicking on a node will set the node into the middle of the screen and >indicate the actual button. > >- Buttons can be dragged around. > >That's it for now. Most infrastructure stuff work, so we now can start >to make it sexy. My next steps are: >
there seem to be XY bugs ... pressing middle button, monitor, debug button - all crash an app. There should be also some kind of simple example of how to actually use it.
>- Try to integrate the "nakedobjects" idea. >- Create a prototype for a report-dialect: sum all time-entry nodes that >have a person with name="Robert" and a project with id="15" > >Let me know what you think. Robert >
I looked at sources and it lead me to idea, that I will probably gather some screenshots of our old DOS Clipper app generator called Zachary. Very good production app could be generated by it. I especially find highly insufficient (unless I miss something) to define field type as only being a datatype. In Zachary, we were able to define e.g. - how to initialise the field (e.g. by other field in db, joining some other fields in db, etc.) - is it part of index expression? If so, which one? 1, 2, 3 ...(index firstname + lastname + age) - can be edited? - is visible? - represented by collumn in browse? - VTG - variable to get - a cool feature - e.g. VTG("AB") allowed us to type only A or B chars (used for floppy sellection). - mask - (999)-(999 999) - e.g. phone-number - min - max value - field type - could be other than just datatype! We had something like - M - menu, R - Report, U - user code - relations/validations - is field validated? If so - does it need to exist in child db? Or it must not exist? Can user add new new value, if it does not exist in child db? - updates - a cool one. e.g. - imagine typical storage management system. You have stock-db, you have material-entry-db, and material-outgoing-db. In your material-outgoing-db, you set field called e.g. 'amount, as updating field 'amout in stock-db, and the equation is decrease . You does not need to care of anything else - if you give 5 pieces of mouse to some customer, the amount of mouses in your stock-db will be decreased. If you cancel order of your user, it will be added back to stock-db ... - and - very important - conditions, conditions, conditions! conditions for access, conditions for update, conditions for browse - the fine thing was - you could first define .dbf in your FoxPro or so tool, then you could go to Zachary, name your procedure, press import, and basic definitions were created for you - then you just went to screen-painter, and imported desired fields. Assigned given procedure name to menu field 1, and voila - your app was done ... - you could export your procedure definition to global repository - wow - repository based shared development in DOS times - we were kinds, noone could do what we did with Zachary back at that time. Then there was one executable, which went thru your app definitions and generated executable ... in clipper. But - app definitions are just that - it could as well be used to generate code in other language ... Some overview found: So, I don't understand a bit, where is your app framework positioned? What can be defined? What has to be maintained in code by ourselves? etc. -pekr-