WS want an online sign-out system for some equipment that students can borrow. Parameters:
1. Students must use their Netlink ID to access the booking system, and provide name, email address and phone number. We need department access to names, emails and phone nos. of students reserving equipment, but of course this info can't be public.
2. The system will be password protected.
3. Others must be able to see if the equipment is available or not. If a student selects a particular time slot, then completes the other required info (name, email, phone), that time slot should show "Reserved" to other users.
4. Booking time slots are 8:30-12:20 and 12:30-4:20 weekdays, plus 4:30-8:15 the following morning.
The technologies used would be:
an .htaccess file on folder(s) to restrict access
mysql database to store the data
ajax or php to communicate with the database and create the calendar the user sees
xhtml for the static elements in the web page
css to style the elements on the page
Because 1) this is an administrative project (as opposed to research or instructional one), 2) I can't readily see how it would have wider application to others in the faculty, and 3) it doesn't use any novel technology or techniques, I doubt the HCMC could provide development time for it. On the other hand, because the nature of the task is fairly conventional, it should not be hard to find a private contractor able to do this. The HCMC would be willing to help write the specs and hire that person.
Wrote back with this info and short description of components of implementation.
So far, I've managed to get the following third-party packages installed:
- JEDI (JCL and JVCL), using their installer, which works great.
- Virtual Treeview (again, using the installer).
- ADOM (problematic; following the instructions didn't work, and I had to remove the Utilities package and let the main ADOM package build it during its own build).
- Graphics32 (very problematic; eventually had to comment out a reference to GR32_BDS2006 package before I could get it to compile).
- UniSynEdit (worked fine).
I've been cautiously testing Delphi 2005 to make sure it hasn't been damaged by any of these changes, and so far it's building IMT just fine. I've also been able to create and compile an application which tests Graphics32 and UniSynEdit successfully, so it looks like we're on track for an IMT port.
Couldn't get finished in time because of last-minute emails...
In testing some other changes, I discovered that the relative paths in the menu bar for the faculty members' pages was incorrect. Problem very similar to the one I found earlier in the graduate colloquium page. Solved by using the same session variable assignment.
$_SESSION['level'] = "L2";
There is a variable called $level obviously intended to do this job, but the value in that var is not being maintained from page to page (of course). I'm sure that was working when Clifton wrote it, so either some code that hooks that $level var to a SESSION array has been accidentally deleted, or a change in the version of PHP running (or the config on it) has caused what used to be working to now fail.
Had to add that line of code to about 40 files in about a dozen directories.
This is what worked:
- Made a fresh build of XP using a 200GB expandable drive in VBox, and using the volume licence installer.
- Did all Windows updates.
- Connected to the Windows Backup file on the Ubuntu Host, and used Windows Backup to restore as much as possible.
- Exported the HKEY_CURRENT_USER and HKEY_CLASSES_ROOT hives on the original machine (logged in as myself), and then imported this into the registry in the VM (logged on as admin(. Some in the latter hive failed due to keys being locked, but most things succeeded.
- Ran Delphi 2005. It didn't know about any of its components, so I had to go to Components / Install Packages, and install all the .bpl files in the BPL directory (this was easy because I'd specified that this be in a separate location in Delphi).
- Started Delphi successfully, and discovered that the PATH was missing most of the PAS file locations, so I had to add them all manually until everything was found. Eventually I was able to compile Transformer and the IMT.
Today I installed Delphi 2009, and all the updates, and then started adding 3rd-party components. I have the latest JEDI JCL and JVCL installed and working, and I'm now looking at Graphics32, which is causing me problems, since there's no D2009 package for it.
Modified files
1) script_files/php/rssEventsReaderOneDept.php to
- extract "Description: " from Description string and hard code it on the page
- use the javascript already written to toggle the description text hide/show
- change target file in writeOutEvent (shortForm) to events.php
2) indexWithEvents.php to
- include an image at top of content div that floats right
- include short listing of 10 most current events
3) script_files/css/graphical_elements.css to
- write rule for image class="float_right" used on index page
4) events.php to
- minor edits to text
Spent a couple of hours sketching how to implement the search-and-report capabilities they want, rather than the graphic characteristics of the map itself.
Each record includes:
- id : key, likely also used to link to image data
- location : may end up being more than one field
- isArtArch, isEvent, isGeog, isHistory, isPeople : booleans
- title : open textfield
- topic(s) : not sure what this means, is it a list or open text
- details : open text area, may end up being more than one field
Text Query
- simple : texfield to query title, category and details fields
- advanced : controls for each significant field
- two report types
- to map (cause certain cities to become ofInterest)
- to table (location, title, category, truncated details, full details, maybe see in map)
Map of Europe
- Location hotspots have three possible states:
- default
- ofInterest (result of text query returning report to map)
- selected (user has clicked on it)
- on click
- return previous selected location to default or ofInterest status
- make this the selected location on map
- update report box with titles for selected location by category
Report Box
- Name of selected Location
- N (5) major categories
- art and archictecture
- event
- geography
- history
- people
- Each category accommodates sublist of titles of articles
- which belong to hilited location on map
- appropriate boolean's value is true
?Ability to limit which categories appear in report box
E.g. If user is doing text query for ArtArch, and then clicks on ofInterest location X on map:
- should the report box show the other categories for records which have titles in those categories?
Could which categories to show in report be some kind of config?
- on the report box or on the map
- settable from the text query
There are a couple of use-cases:
1) user clicks on location on map - it gets hilited and a "results" box lists the topic titles for records in the db associated with that city, and those topics are sorted into one of five major categories (art, history, geography, events, people). The user clicks on a topic title in the results box and the full details of that record are displayed somehow.
2) user does a simple text query and certain fields in each record in the db are searched. Results are displayed as a table (not sure how much of each record is displayed in table), possibly with each location found displyed as "ofInterest" in the map. Each record may have a button that hilites that record's location on the map as "selected".