Ultra Beginner Question/Request

Len Morgan len-morgan at crcom.net
Fri Feb 4 17:24:51 EST 2005

I have no doubt this is the right place to at least get started! The 
project I'm trying to convert is large but I think it is also typical of 
a lot of moderately complex application so I hope others can benefit 
from this discussion. The program has a database on the backend and is 
used to manage (private) prisons. The GUI consists of a menu at the top 
of the screen, a toolbar that includes a combobox to select what the 
user wants to do, a "current inmate" frame which is only a little taller 
than the text and labels that are on it, a large "main area" where 
different things go depending on what you select from the combobox, and 
at the bottom a status/progess bar. In a prior version of this program, 
the large main area had a tabset control to was used to select between 
the various tasks that a user wanted to do. As the program grew, the 
tabset had to be replaced with the combobox on the toolbar because it 
gave me an (almost) unlimited number of tasks (RR equivalent to cards I 
think). The tab control I had could not scroll if it got too big (which 
it did). The tool bar also has 4 buttons on it that are used by all of 
the tasks in the work area ("Add", "Delete", "Save" and "Cancel 
Changes"). What routines are called when one of these buttons are pushed 
depends on which task screen you're looking at when it is pressed. This 
sounds a little confusing but once you teach a user that pressing the 
"+" button adds one of whatever you're looking at (i.e., inmate, charge, 
program review)), they pick it up pretty quick. Now, for an additional 
wrinkle, in a prison environment (or really any other reasonably large 
organization), you need to have different rights for different people. 
In my program's case, no one but medical staff can look at an inmate's 
medical information, and so on. When the program is first started up, I 
get a username and password, and after authenticating them against my 
database, I get a "profile" that has been assigned to that username 
(from the same database). My tcl code has a script for each profile 
(medical clerk, mailroom, records clerk, case manager, etc) that loads 
("sources" in Tcl lingo) the scripts for each of the tasks they are 
allowed to preform along with certain permissions on those tasks. By 
that I mean, everyone is allowed to look at a certain screen of inmate 
information but only records clerks are allowed to change it. There is 
also a menu file that creates the top level menu structure also based on 
the user's profile. Again, there are a set of menus that everyone gets 
and then there are different ones added depending on the profile 
selected. Ok, that's how I'm doing it now in Tcl/Tk. I'm not expecting 
anyone to build this for me but I'd like a little direction on how to 
attack this in RR. Can I get different cards (or would I use stacks) 
depending on the profile or would I have a stack for each profile that 
had the cards necessary on it already? If it's the latter, how would I 
handle something like the "Search" task that everyone has but changes 
from time to time? Would I have to make the changes on every profile 
stack or can I say "use the Search card from ... on this stack?" I think 
I've figured out that my toolbar, "current inmate" and statusbar will 
endup being "groups" that I will just include on every card so that it 
looks like only the main work area is changing when in fact (I think) 
the whole screen is changing. I also think I've figured out that I'll 
need a stack to handle all of the database needs that I'll pass queries 
to and retrieve answers from. So there you have it. I'm staring at a 
blank mainstack and don't even know where to begin the design process. 
How do I partition things so that I'm doing things the "Revolution way." 
Thanks in advance for any pointers you might be able to offer. Len Morgan  

From: Richard Gaskin <ambassador at fourthworld.com>

You may have come to the right place.  You can consider this list a 
working group for your personal success with learning Rev.  :) 

Tell us a bit about this Tcl project and perhaps some of the folks here 
will chime in with suggestions on how to get started.

One of the tough things with learning a proprietary language is that 
there are fewer third-party resources avaiable for learning.

But one of the upsides with Rev is that this mailing list is chock full 
o' third parties ready and willing to offer personal assistance.

Len Morgan wrote:

>> Hello All,
>> I've been a programmer since the mid 70's.  I've used and/or tinkered 
>> with all of the "normal" procedural languages (C, Tcl, BASIC) and even 
>> some "ab"normal ones like Forth.  I consider myself a pretty good 
>> programmer and have been told I'm fairly bright in general.  I've had 
>> Revolution for a couple of weeks now, and I just can't seem to get my 
>> head around the "methodology" of using Revolution.

More information about the Use-livecode mailing list