Back to Links

Aaron Cayard-Roberts
Open Source - Webdbfixes
V3.0


V1.0
9-24-00

I'm going to pick some of the enhancements that I listed in the previous webdb write-ups.

The first one was being able to pic the background color for webdb. This would involve makeing a globle variable for the background color (with a default) that the user can set. It might be easiest to let the user pick from a list of possable colors. modules that will need the globle variable: AUTHENTICATION, DATA_ACCESS.pm, ERROR.pm, bulk_email.cgi, course_search.cgi, grad_course_search.cgi, index.cgi, list_tool.cgi, login.cgi, midterm.cgi, nav.cgi, passwds.cgi, person_search.cgi, registrar_tool.cgi, serv_access.cgi, serv_avail_config2.cgi, status.cgi, switch_affiliation.cgi, switch_pidm.cgi, timesheet.cgi, timesheet_printall.cgi, timesheet_superuser.cgi, visit_tool.cgi . As long as I can find an easy way to use globle vars in a language I don't really know I think this one shouldn't be to hard.

The next enhancement would be a way to add links to the nav.cgi or have a link in the nav frame that takes takes you to a page were you can keep lots of personal links (less cluttered), this would also make it very easy to modify a little to display personal pics. This would change the nav.cgi module and in account.cgi where the changes could be made?

The 3rd enhancement that I thought of is a little big harder and I still need to work out some of the details of how I'm going to do it. My idea would be to have a second window that opens up whenver you check your transcript that give a graphical table like the current schedule one does with the days of the week by the hours per day. This will give a nice visual aid on what someones schedule will look like. If I can get someting like this to work I would then try to add some thing onto it like making the schedule conflicts have there boxes highlighted in red instead of black. I would think that the window would best be placed so that when the registration card link is hit or if the window is updated the window with the table will be refreshed as well.

V2.0
10-1-200

I've leaned that if something doesn't work you should give up on it sooner and find another way of doing it. I spent about 8 hours just trying to get a very user friendly color picking method (where it would show the color as well as the name so you know what color you were picking) but I found out that when you have html and java script embedded in cgi the java script functions no longer work right (there still in account2.cgi and DATA_ACCESS2.pm if you want to take a look) What I had to change was print out a little pull down menu in DATA_ACCESS.pm I then just found where it updates the font size and search prefs in the data base I just added the attribute that I made in the person view to it so it would save the option value (bg_color) that was selected in the pull down menu to the database as well. I then had to go to AUTHENTICATION.pm to find where it updates the session{ } so that I could set my &background = '#' .$session{bg_color} ; so everywhere .$backgound. is use for the color (where someone had already started the project) it now uses the session{bg_color} which is pulled out of the database in AUTHENTICATION.pm After giving up on using the java script color section method it only took me about 5 more hours to get to this point. so thats a total of 13 hours 2-3 of which were just trying to figure how more about how webdb worked and what I would need to change.

V3.0
10-5-00

Design:

There are a few things that now work that didn't before. One is when you login it now tells you what color you are using as the background color instead of the first color on the pull down menu. Colors (such as black and other very dark colors) were removed because they make reading the black text a little hard. More light colors were also added (with some 'nice' names) giving a total of 18. All pop-up windows and all windows that appear in the main frame now have a background color (if in-line is choosen then all of the main window frames will be the same color, it would also be easy to make it so just the pop-ups and not all the main frame windows had bg colors with an if statement...), execpt for about.html and help.html because they are hard coded html windows. An option for colors for different frames were asked of some webdb users and was rejected because they didn't think they would care for more then one color. A default color of white was also added for users that have not selected a color and for none loged in users. The most of the time I've spent designing is still trying to make a user friendly color selection method. I've played around with a colum of colored squrares with a botton next to it for the selection of the color but I haven't spent much time doing that because my heart is just no longer in it...mostly because I got so burnt out on trying to make it user friendly earlier with the java script that faled.

Implementation:

In order to make the current background color the chosen one in the menu I had to add an if in DATA_ACCESS.pm that checked the database for the current bg_color and then use the select>"some color" format for the one that is in the database and the normal >"some color" format for the else when it isn't the current bg_color. This is the same methode used for the font_size selection. The new colors were also added in DATA_ACCESS.pm The other modules that my $background was added to in order for all main/pop-upwindows are: course.cgi, course_search.cgi, grad_course_search.cgi, login.cgi, person.cgi, person_search.cgi, timesheet.cgi (some that this modifed was done and were not listed in V2.0 are DATA_ACCESS.pm and person.cgi) The default color of white was added in AUTHENTICATION.pm in the section were it checks to see if the user has a pidm and makes there sesion for them if they don't with the defualt session values.

Architecture:

There have been no real chages to the architecture. The only knew thing is there is now a variable being made (background) at the beginning of the modules that were modifed to have background colors that is being set = to the current sessions background color (bg_color). The other modifications (database access, session modification, and color selection menu) are all just extentions of the already existing architecture.

Reqirements:

The only thing that my modifictions require are a web browser (connected to the internet) that supports colors and pull down menues....which any browser that supports the other things in webdb before this release should already support.

Time:

Design: 40min
Codeing: 1 hour
Testing: 20min
This write-up: 1 hour+


Back to Links