|Subject:||Seeking design guidance.|
|Posted by:||dogu (stonehus…@metrocast.net)|
|Date:||Tue, 14 Sep 2004|
I've worked the last number of years using an object oriented database
tool that comes with a complete IDE, built in wigets for things like
forms, buttons, hot spots, propietary client but apps are also
automatically rendered to html (Lotus Notes).
I've lately been thinking about trying to create a relatively simple app
using tools other than Notes just to see A) how difficult it it and B)
stretch my mind into new shapes.
I thought I'd try something simple to begin with, but find I don't even
have a concept of where to start the design (not totally correct, see
the ps). I'm not asking for detailed code here, just some sense of the
collection of tools that might be used and an overall 50,000 foot idea
of how I might put it all together.
Here's a simple set of design goals.
The system is a very simple problem logging app.
Seven kinds of data are stored, all text for this example:
All Name fields are automatically set based on the user login and their
There are three classes of users.
Submitters can only input and view Problems.
Analysts may see the Problem (but not edit it) and enter Analysis. They
may also set the Status to either 'in process' or 'analysis complete'
Managers may see the Problem and Analysis (but may edit neither). They
may enter Action and set the Status to 'Resolved' or 'Cancelled'.
The user rights/class management system has to be done via some type of
gui rather than hard coded into the system so the overall long term use
of the system is easily managed (add a user, assign them to a class,
they can do what they're allowed - no design change or code mods required).
It all has to work in a browser.
Pointers to good reference material is appeciated.
Simple schematic layouts of how this might be done would be wonderful.
Some idea of tools to use and time to develop would be very helpful.
Thanks in advance.
ps - how I think it might be done - how close am I really?
MySQL or other relational db
User logs into the MySQL db.
PHP figures our their class from the user table and displays a list of
available options, basically 'see your stuff' 'add new stuff'.
If they want to 'see their stuff', the system would do a query on the
user name and probably status and bring back a table or list of
Click an item (not sure how one would do this), and the data record is
displayed, fields based on the user's class.
Edit and Save/submit to get the record updated into the db and return
the user to their 'list of stuff'.
All queries would need to be written to account for the user class and
name and the PHP used to generate the returned table/list would need to
be specific for the user class.
Data the user is supposed to read would be rendered as text on the form.
Data the user is allowed to edit would be rendered into a field on a
form (not sure how this is done, is it possible?).
Not sure how to allow different users to see the status, but only set
specific values, pointer are appreciated).
Sorry for the length of this post, but I'm trying to be as clear as I can.