Update: The OS is Linux RedHat 3 soon to be RH4, and the web server is Apache. Users will access the app through IE and/or Firefox.
I'll be writing a system that will provide web-based whiteboard facilities to a company in the case of a disruption. (Yes, it would make a perfectly good system in normal operations, but that's not what they want it for.) The business unit, called a Division, is broken up into seven sections. There will be one whiteboard per section plus one "overall Division" whiteboard.
The whiteboards will have two levels: Division-wide and then the section-specific pages. Each whiteboard will have a "General Note," presumably to be set by the boss, and then one row per person, including one under the boss' name. There are three fields per record: name, message, and a string representing who last edited the previous field (as determined by the web server), and when. Everyone in each section can edit everything on that section's whiteboard, but only members of that section's unix security group can edit that section's whiteboard at all.
The "main" whiteboard will have an row for each section which will be the "General Note" from the whiteboard of that section. Then there will be a "General General Note" on the main whiteboard which is basically a "message from the director," rally the troops kind of thing, I suppose.
So anyway each whiteboard (which I think itself will be an html table in a page with a cool stylesheet) should be editable only by members of the appropriate section, by membership of unix security groups. Anyone on the network should be able to view any whiteboard.
So far I am thinking that there will be one perl script which is the "editor" of any and all of the whiteboards. The data itself will be stored in csv files (I tried XML and it's just too clumsy for me compared to Text::CSV::Simple). Anyway the csv text files themselves have to be read/writable by section members only, AND r/w by the ID the web server runs under. That's the security hole right now, but we're working on it. In "phase II," we may introduce a "private area" on each whiteboard which is only viewable(as well as editable) by section members. However unlike the main portion where each section member gets their own field, this would be a shared field and, as my Director said, function as a chat room.
Update: please see the reply below for the current code. Thoughts and suggestions appreciated.
_________________________________________________________________________________
I like computer programming because it's like Legos for the mind.
|
|---|