February 09, 2007

Appointment Scheduling Form...The Saga Continues

We are getting very close to having the appointment scheduling form in a workable state. At this point, we're shifting our focus a little more toward the visual presentation of the form and the resulting web pages.

At this time, the form works. When we click the final "submit" button, a record is inserted into our Appointments table; we can verify this by viewing the calendar within our form. For one of my "to do" items, I'll develop a page to present the user with a summary/confirmation of the appointment details.

Our use of IFRAMEs to control how parts of the form are displayed, as well as our implementation of DOM at various places within our code, are impressive indeed. Once I develop a thorough understanding of Michael Ellis' code, I'll be able to use this as an example for future programming projects.

Posted by goodeld at 08:47 AM

February 06, 2007

Progress With the Appointment Scheduling Form

Michael Ellis and I continue to meet a couple of times each week to work on the next steps in the redesign of the appointment scheduling form. We always make sure that I have a list of things to work on in order to prepare for our next meeting. For my current list of tasks, I have been modifying the code that he and I have developed so far. I have changed the form so that the "Submit..." button doesn't display by default when the form first loads, and I am working on a change to handle situations and display a message when a student may have a valid V-Number but isn't currently registered for classes.

Posted by goodeld at 09:03 AM

January 31, 2007

Appointment Scheduling Form

As I have discussed in previous blogs, I have been working with Michael Ellis to improve the layout and functionality of the form that I had developed to be used to schedule appointments.

In its current state, our form collects the student's V-Number, authenticates them against Banner, then uses this information to display a dropdown box listing their courses for the current term. Once they select a course, a new dropdown box will list the tutors, proctors or notetakers available for the selected course. The next major phase of the form will be the display of a calendar that will allow the actual scheduling of appointments with the tutor, proctor or notetaker selected.

Through our work on this form, I'm gaining an appreciation of the iframe, which is used within a page to process data behind-the-scenes (hidden from the user) or to display the processed information within the current page without requiring the page to refresh. We expect to have the form finished within the next week.

Once we have the scheduling form working properly, we'll focus our attention on incorporating my application into the WOU Portal, as well as changing my page design by using the standardized web templates that Michael has developed. A major change within my application related to this will involve authentication and security for department staff and application administrators. According to Michael, this will be fairly easy to accomplish within the parameters of the WOU Portal.

Posted by goodeld at 08:33 AM

January 24, 2007

Changes to Scheduler Application

In our meetings the last few days, Michael Ellis and I have considered how we might make improvements to the Scheduler Application.

As Michael has worked on many large projects and given in-depth training to several programmers within UCS the last few years, he has developed a set of core standards for the design of Oracle tables and coding practices within PL/SQL. We have already started to implement these practices as we've made changes to my table design. Adoption of these standards within my project now will provide more flexibility for greater use of the scheduling application across campus.

We're also working on significant changes to the form that I developed to schedule appointments. Again, considering some of the standard practices that Michael has developed, we can make improvements to the overall look-and-feel of the form, including how the data is validated, in order to provide a user interface (UI) that is more consistent with other campus web-based applications.

In redesigning the form, we'll implement the Document Object Model (DOM) to improve the processing and display of information. We've already used DOM to improve how students' identities are validated when their V-Number is entered. Through the use of an iframe, we've implemented this functionality in only a few lines of code that doesn't require the entire page to refresh.

Another major consideration is the incorporation of the scheduler application within the WOU Portal. Michael developed the WOU Portal and knows it "inside-and-out". We may be able to make use of the WOU Portal for some of the functionality, which would allow us to accomplish great things without "reinventing the wheel". Another advantage of using the WOU Portal is our idea of a more standard application and uniform UI. I'll discuss this in more detail as we make these decisions.

Posted by goodeld at 09:17 AM

January 19, 2007

Review of Scheduler Application

Michael Ellis and I met yesterday and reviewed the table structure that I have in place thus far for the Scheduler project. We will reorganize some of the elements that I have in place to make things work a little more efficiently.

We will replace much of the authentication and security that I have developed by using the WOU Portal that Michael has developed from the ground up. Incorporating my security and authentication needs within the portal Portal will help to make my application more generic. If staff within another department decide that they would like to use my application at a later time, having the authentication and security more centralized will make this much easier. This will also allow student access to my application to be more streamlined and standardized.

The code that I have developed thus far will be useful as we work through the goals mentioned above. Having the opportunity to work through the development of authentication and security has been a good learning experience for me.

Posted by goodeld at 10:13 AM

January 12, 2007

Upcoming Improvements to Scheduling Appointments

Michael Ellis and I had a good meeting this morning to discuss improvements that I can make to the form I have developed to schedule appointments within my application. We will meet next week and work on the "nitty-gritty" changes that will need to be made.

In the meantime, I'll work on a change that will have students enter their V-Number then have their first and last names obtained from Banner. I think I've also found code within wou_util that will be useful.

I also hope to develop a dropdown box where users can select the department and course, rather than typing these values.

For the long term, we'll work on many larger changes that will improve how users input information to schedule appointments.

Posted by goodeld at 04:08 PM

January 02, 2007

Indexing of Tables

As I have recently been working on additional calendar views to display an entire term of scheduled events (which seem to work well), it seemed as though my application took a very long time to query the Calendar table and display the results. I decided late last week to take a closer look at the Calendar table and see if I could speed up the queries.

Of course, before diving into this task, I decided to back up my table, just in case of disaster. Let's face it; I didn't want to re-create my test data. Having the backup copy has been good, as I've restored it several times the last couple of days.

First, I experimented with partitioning the table and creating indexes based on these partitions. As I had only worked with partitions once before (one of our Staff Development projects), I used Google to do a little more research.

While partitioning the Calendar table and creating several indexes based on the partitions really didn't hurt anything, I would have liked for the performance gain to be more noticeable. The five seconds it took to query the table without the partitions compared to the 4.5 seconds with the partitions was not impressive.

This morning I decided to take a look at the SIR application that Paul Lambert and I wrote several months ago. Within that application, our raw data table contains well over one million rows and the queries are very fast. Paul, in working with the tables, added several indexes for most of the columns.

Within the Calendar table, I decided to take a similar approach and create several indexes, based on the columns I'm using for the WHERE clauses within my queries. The queries now work faster -- about three seconds to display events for an entire term -- versus five seconds without the use of indexes. It will be interesting to see what happens when I add more data to the Calendar table, and I'll keep the speed of the queries in mind from now on. I'll also try to implement the use of partitions, as I believe this will be beneficial as well.

Posted by goodeld at 01:44 PM

December 28, 2006

Scheduler Application -- Status Report

Calendar Views for a Term

I now have the calendar views for a given academic term working for all three departments. Staff within each department can view appointments within the current two-week period as well as for a specific term. Aside from a few leftover tweaks necessary to establish the correct dates, everything seems to work properly.

The Next Phase

I will begin working with Michael Ellis in the next week or so to see how I can make some needed improvements to the form I developed to enter events into the application. While my form works for the most part, I need to make improvements to how the data is being validated, as well as some changes to the look-and-feel of the form. We will also take a look at some improvements that I can make within my tables. Throughout his many PL/SQL projects, he has developed very efficient code to accomplish similar functionality; I look forward to working with Micheel and learning from his expertise.

Posted by goodeld at 02:12 PM

December 18, 2006

Additional Schedule Displays, Continued

This afternoon I've had a major breakthrough, in terms of progress, in displaying the scheduled appointments for an entire eleven-week term. So far, it looks like my plan to recycle and make modifications to some existing code is working the way I originally intended.

I knew I would need to have the user select a term, then have my code generate the views based on the date range of that term. Getting this to work was fairly easy, but I ran into problems because of a "next week" switch that I had used to display my two-week calendar views. For the first week of the eleven-week term, this switch was set to "no" and all scheduled appointments for the first week seemed to display just fine. For weeks 2-11, however, the dates for the appointments were all wrong. I had set "next week" to "yes", thinking that this would be needed. I now believe that the use of this switch was causing the errors for weeks 2-11; commenting-out the code that sets the switch seems to have fixed everything.

I still need to do more testing to make sure everything is working correctly, and I need to get the eleven-week display working for my other calendar views, but I think this will be easier now that I've had this major breakthrough.

Posted by goodeld at 03:33 PM

December 12, 2006

Formatting of Web Pages Within Scheduler Application

Generally speaking, the templates, headers and footers that have been used throughout the campus web pages provide a good standard in uniformity and the presentation of web content. Until very recently, I have followed these standards in the development of pages throughout my Scheduler application.

Within this specific application, however, I feel that most users won't be as interested in the more generic content provided by the campus standard. Also, the header, template and footer use valuable real estate on the screen that I may want to use at at a later time.

I have developed my own header and footer to be used throughout my application, and now have it in place. For now, at least, I have resolved most of glitches that have resulted from such a change, and will continue to fix any problems as they surface. Although my header and footer looks somewhat plain, I believe the new page design will help users to better focus on navigating through the specific pages of the application.

Posted by goodeld at 10:00 AM

December 05, 2006

Validation of Form Data -- Striving for Perfection

In this blog entry, I continue my discussion of the validation of form data submitted to schedule a tutoring, proctoring or notetaking appointment. Since my last blog, I have made significant improvements to this whole process, as outlined below.

Location Field

With the likelihood that users will enter a location such as "APSC 401" for a tutoring session. I discovered in testing, as similar data was being passed via HTML, that everything to the right of and including the "space" was being deleted. I think I have fixed this by replacing the "space" with a dash ("-") using Oracle's instr and replace functions. I may make some improvements to the validation of this field at a later time.

Types of Tutoring Sessions for the Writing Center

Possible values for this field are "Tutoring" and "Brainstorming". This field is only being used by the Writing Center. As I am using the same form for all departments, I'm doing some testing to find out if the current department is indeed the Writing Center; if it is, then I'm calling the appropriate logic to validate this field.

Proctor and Notetaker Values for Office of Disability Services

This is a similar scenario as discussed above.

Data Entry for All Fields

I am requiring the user to complete all fields of the form. I have PL/SQL code in place to determine if a field has been completed when the user attempts to submit the form. In the future, I hope to improve this process with the use of Javascript.

Options to Submit and Reset the Form

After completing the form, the user will have an opportunity to preview and make changes to the data before submitting the appointment details. The record is added to the Calendar table when the user submits the form. At any time before the user clicks the final Submit button, they can reset the form, resulting in a new, blank form and discarding any previous data that had been entered.

Posted by goodeld at 10:18 AM

November 29, 2006

Validation of Form Data, Continued

In my last blog entry, I discussed my successful strategy to validate the date field supplied by the user within the form used to schedule a new appointment. I am continuing to develop code to validate the remaining form fields.

I now have working code that will determine whether or not the user entered a date value. If not, they will be taken back to the form and will see a message indicating that nothing was entered for that field. In taking the user back to the form, I wanted to properly display the values that they had actually entered for the other fields. For most of the form data, this was no problem; for the time values (hour and minute), however, the form reset the drop down boxes back to their respective default values of "none".

To solve this minor problem, I added another parameter to the procedure containing the form. I actually call this parameter a "switch". If the value of the switch is "y", I display the drop down boxes with the appropriate variables as "selected". If the switch has no value, I display the drop down boxes with their appropriate default values of "none". So far, this strategy seems to work.

I have more work remaining to complete the validation of the other form fields, but I expect this to go smoothly.

Posted by goodeld at 11:10 AM

November 28, 2006

Scheduler Application and Date Validation

Within my form to schedule a new tutoring/proctoring/notetaking session, I have perfected the validation necessary for the date field. With this now in place, the user cannot enter "bad" dates, such as 11/31/2006 or 2/29/2007. After some trial and error with a couple Javascript examples I gleaned from the web (and making little progress), I sought advise from Michael Ellis. Michael has developed a couple of procedures within the WOU_UTIL schema that display a date box and handles the validation. This was easy to implement, and I had to do very little with the resulting date field to insert the value into the Oracle table. I had to use the "secure" version of the date box procedure, and I have most of the "secure/insecure data" issues resolved at this time.

Posted by goodeld at 10:32 AM

November 07, 2006

Improvements to Scheduler Application

In doing some "clean-up" of my appointment detail pages, I decided to experiment with the links that I have been placing at the bottom of each page within the application. These are navigational links that allow the user to go back to the previous page, go back to the main menu for that department, or to logout of the application entirely. I was particularly interested in the link to go back to the previous page.

In order to see an appointment detail page, the user clicks on a link within the calendar summary page. As there are actually several summary pages (view all appointments, view appointment by course, by tutor, proctor, etc.), I wanted the link at the bottom of the detail page to go back to the proper summary page.

It should be fairly simple, I thought, to create a dynamic link simply by incorporating a URL as a parameter within another URL. After adding some necessary parameters to several procedures as well as a few more local variables, it all came down to trial and error. Once I had the proper single- and double-quotes and the parameters placed properly within all URLs being passed, everything worked as I expected.

Posted by goodeld at 02:42 PM

November 03, 2006

Scheduler Application

Within the calendar views that display scheduled appointments, I have configured the summary (tutor/protor/notetaker and course) as links to more detailed information about the appointment, including the location of the session/class and the name of the student/client. As of this writing, the detail page just displays the data; I still need to organize the information on the page to be more presentable.

As the same summary information is available through the staff (secure) login to the application as well as the general student (non-secure) page, I only wanted staff to have the capability to view the detailed information. This security check was easy to implement, as I already had the necessary environment variables in place.

The next major component will be to develop the interface to add, change and cancel appointments. It will be nice to have proper code in place for these critical functions within the application. Thus far, I have added all test data to the tables manually.

Also, we had a project meeting this morning. We hadn't had a meeting since mid-September, so I wanted to give everyone a demonstration of the current state of the application. I feel the project is going well so far.

Posted by goodeld at 02:16 PM

October 27, 2006

Scheduler Application -- Status Report

As I said in my last blog post, I had converted some column data from varchar2 to date, and that I still had some things to finalize with my code. Finalizing the little details turned into more of a troubleshooting process than I first expected, but I have things working much better now.

After difficulty getting my calendar views for the Office of Disability Services (ODS) to properly display separate appointments for Proctors and Notetakers, I decided that it would be best to work with a backup copy of my package. This meant that I would need to work through the varchar2-to-date conversions once again for ODS, but I thought this would be easier than troubleshooting other technical issues.

Using the backup package, the varchar2-to-date conversion went well, and I was able to work through the other technical issues with the Proctor and Notetaker views more quickly. I plan to do a little more testing on Monday, but I expect to be finished with this task very early in the day.

Next, I need to do some "clean-up" of my code. I have many troubleshooting htp.print statements that I need to remove, as well as the clean-up of the information shown in the calendar views. My intent is that the calendar views will be summary data that will link to a more detailed view.

Posted by goodeld at 03:51 PM

October 25, 2006

Oracle Dates and Times -- Success!

In my last blog I described my efforts to convert some varchar2 table columns into their proper date formats. I'm happy to report that this conversion is finished and that I can now display the dates and times appropriately within my calendar views. Having these values in their proper date format will make things easier for the long term of the project, and I'm glad I decided to dive into the mechanics of this change sooner rather than later.

Having the date columns in their proper format will save space within the table, as I now have one column each for the start- and end-dates and times. Previously, I had separate columns for the day-of-the-week, start-date, start-time, end-date and end-time values, all in varchar2 format. Now, to display the desired outputs within the calendar views, I'm using Oracle's trim and to_char functions extensively. The to_char function allows me to extract what I want to display; for example, a day-of-the-week ('Day'), date (I prefer the format 'MM/DD/YY') and time ('HH12:MI AM'). While I realize this represents a very basic (introductory) understanding of Oracle dates and times, I'll have ample opportunity to expand my knowledge later in this project.

I'm still finalizing some coding details with some of my calendar views, especially those for Proctors and Notetakers within the Office of Disability Services. I expect to have these views working properly within the next day or so.

Posted by goodeld at 11:54 AM

October 20, 2006

Oracle Dates

When I first configured my Calendar table for the Scheduler project, I ran into difficulties with the date columns. This was almost entirely due to my lack of experience. In a class I took a couple of years ago and in my reading about Oracle the past few years, I have learned that the subject of dates and times is not to be taken lightly. I am now gaining valuable, practical experience with Oracle dates and times. After first running into difficulties, I decided to just use varchar2 values for these table columns thinking that I would convert these items to dates later and make everything right with the world. I decided that this week would be a good opportunity to take care of this conversion. I took care of the table columns and I think I almost have my PL/SQL package working properly, but I'm still dealing with some run-time errors. My approach, for the moment, is to use Oracle's trim and to_char functions to use the date and time values for comparison and for output through htp.print. I expect to have everything working properly by early next week. I wouldn't have even considered this task before making backup copies of my table and appropriate packages first. When I get things working the way I want, I'll write a blog entry to celebrate!

Posted by goodeld at 03:51 PM

October 10, 2006

Scheduler Application -- Update

Improvements Within the Application

Over the last two days, I have made what I consider to be some major improvements within the Scheduler application.

View Scheduled Tutoring Sessions by Course. In addition to viewing scheduled tutoring sessions by subject and by tutor, I now have working code to view sessions by a specific subject and course number. Once the user selects a subject, the next dropdown box to choose the course number will only display valid course numbers for that subject. For example, if our table contains MTH 111, MTH 251, MTH 252, CS 260 and CS 311, when the user selects the subject CS, the only course numbers available will be 260 and 311.

Further Segregation of AALC and WC Data. I have made changes in the tables to further separate AALC and WC data throughout the application. As an example, when logged into the WC area of the application and viewing scheduled tutoring sessions, only WC data will be available. This saparation of data has been a major objective as I have developed code. As a result, the minor changes I have made to the data tables were easy to implement and were the logical "next step" within this objective.

ODS Module

I plan to add more functionality for the Office of Disability Services (ODS) area of the application within the next few days. Having the above improvements in place will help me as I add new capabilities to all areas of the application.

Posted by goodeld at 11:28 AM

October 04, 2006

Calendar Views

I have written code to view the calendar, with options to list the tutoring sessions by subject and by tutor. Once I had the calendar view working to show all tutoring sessions over the current two-week time period, listing the sessions by subject and tutor was fairly easy.

When selecting the link to view by subject or by tutor, you are prompted to supply the subject area or tutor's name using a dropdown box that involves a query to either the Subjects table or the Tutors table. After gathering this information, my code determines which view you have selected, runs the appropriate query (cursor), then displays the results within the generic calendar/table that I developed sometime back.

I still need to do some clean-up of my code, as the calendar views look a little crude at this point, and I need to fix some broken links within the various pages, which are the result of changes and additions to parameters being passed to several procedures.

Posted by goodeld at 09:22 AM

September 29, 2006

Calendar View -- Two-Week Display

I believe I have conquered almost all of the glitches discussed in my earlier blog. This afternoon I developed the code to display a two-week view of the calendar data. I'm passing a one-character varchar2 to the procedure that displays the actual calendar data. If that variable is equal to "y", then I have logic in place to add seven days to the starting date in order to print data for the second week of the two-week view. I've also made significant improvements to another procedure that determines the starting date to display data, so I'm still testing things.

Posted by goodeld at 03:21 PM

September 26, 2006

Display of Scheduling Information

I've been working on the display of schedule data within the various calendars. Querying the calendar table and displaying the results in a linear fashion is simple. As I'm still learning new skills, however, getting the data to display within my calendar template has proven to be a more significant challenge. For now, at least, I think I've conquered most of the technical hurdles. Once I get the data to display properly within one calendar view, I expect the others to be more straightforward.

One particular challenge involved the display of a variable containing the day-of-the-week, a varchar2 which was the result of a to_char operation on an Oracle date field. I could display the contents using htp.print, but couldn't isolate it using if/then/else logic or a case statement.

As it turns out, the real culprit was HTML and how it displayed the actual contents of the variable. For whatevere reason, the day-of-the-week variable contained a trailing space that didn't display in HTML (for example, 'Monday '). As a result, my tests for 'Monday' would fail. Ron was a great help in isolating the glitch. I now have a new appreciation for the "trim" function as well as the use of a delimeter to show the beginning and ending charaters of a variable's contents when printing for testing purposes.

Posted by goodeld at 01:14 PM

September 15, 2006

Scheduler Project Meeting

We had a short project meeting on Thursday, September 14, during which I gave a demonstration of the current state of the application. I created Administrative logins for everyone so they can take a closer look at the application on their own. It will be helpful to have everyone test the application and to suggest appropriate changes in the wording and page layout.

I am now working on various cursors to extract data from the calendar. At present, only an empty table is displayed on the various pages. My goal is to pass cursor variables to one procecdure that will display the results as needed throughout the application.

Posted by goodeld at 01:12 PM

August 30, 2006

Efficient Code

As the Scheduler application will be shared by multiple departments, I am striving to write as much generic code as possible. I am complementing this code with liberal use of parameters among procedures, functions and packages. With this strategy, I will write less code while retaining precise control of the detailed information to be presented throughout the application.

As an example of this goal, students and staff will need to view the appointment calendar and make new appointments, as well as change and cancel appointments. Staff authenticate to the application using their LDAP credentials; students do not. I have only written one copy of the procedures to view, add, change and cancel appointments. Using parameters and making decisions within each procedure based on the values of these parameters, I can use the same procedure for both students and staff, irregardless of how they authenticate to the application.

As another example, I have written only one procedure to actually display the calendar. In order to control the actual data being displayed, I will write specific cursors within the calling procedures instead of the single procedure that displays the calendar.

Posted by goodeld at 04:08 PM

August 25, 2006

More Improvements with Authentication and Security

I have made some major improvements to the authentication and security within the Scheduler application. I expect that, with these changes, it will be very easy for department administrators to control access for staff, tutors, notetakers and proctors as appropriate. Each user is a member of one or more groups; each group has permissions to a specific area within the application. Some groups inherit permissions from other groups; for example, if a login has been granted administrative permissions but not staff permissions, they will inherit staff permissions based on their administrative permissions.

Posted by goodeld at 11:25 AM

Meeting with Disability Services Staff

I met with Phil Pownall and Terry Manning in order to discuss their department's needs for the Scheduling application. A major area of interest here is the development of improved procedures for managing the scheduling of services, especially test proctoring. Also, it will be important for students (clients) to have the capability to login to the application and see their specific scheduled services.

Posted by goodeld at 11:08 AM

August 22, 2006

Separate Administrative Modules

I have completed the work of separating the administrative modules for the three departments (Academic Advising and Learning Center, Writing Center and Office of Disability Services). Now, for the administration of application logins, each department has its own independent module; staff, tutors, notetakers and proctors within the respective departments each have logins and permissions based on group memberships.

For the remainder of the project, I will use these group memberships and permissions as a layer of security to keep each department independent of the others throughout the application. This will allow me to consolidate functionality within my code and will result in code that is more efficient and robust.

Posted by goodeld at 09:58 AM

August 17, 2006

Scheduler Application -- Monthly Meeting

We held our monthly meeting this morning to discuss the status of the project. Phil Pownall and Terry Manning (from the Office of Disability Services) also joined us, as they are participating in the project as well. I will meet with them, hopefully next week, to discuss their project needs in more detail.

For today's meeting, I prepared a list of data elements -- fields, column names and other items -- that will be used throughout the application. Today's list is by no means complete, and I expect many changes during the development of the application.

In designing the Administrative module thus far, I have kept the tutors' logins and group permissions segregated. For instance, Writing Center tutors will only only be allowed access to the Writing Center module of the application. I have not done this, however, for staff and administrative logins. As it turns out, each department will need to have the permissions of their staff and administrators segregated in the same way. I will have this in place within the next day or so. Stay tuned for more blogs about this topic.

For the last part of the meeting, I gave a demonstration of the current state of the Administrative module. This went well.

Posted by goodeld at 02:34 PM

August 15, 2006

More Changes with Authentication and Security

Bill and I met last week so that I could give him a demonstration of the Scheduler application and, more specifically, the Administrative module that I had in place at that time.

He suggested some changes with the permissions and security for the application as a whole, which would involve creating groups, then assigning logins to appropriate groups in order to better control access to the various components of the application. Under this scheme, a login would be allowed membership in multiple groups if necessary.

At first, I decided to allow each login to be a member of only one group, but assign additional permissions as necessary. The more I thought about this, however, the less I liked this idea; while everything seemed to work, it also seemed somewhat awkward. At this point, I decided to allow membership in multiple groups and to change the interface used to create and modify logins. I realized that this would involve some work, including the removal of a column from the authentication table which would no longer be needed.

I removed the column and eventually worked through recompiling all of my packages, correcting all of the resulting compile errors. As a result, everything seemed to work much better. Now, during the creation and modification of logins, each group (column within the authentication table) is listed in table format, allowing easy management of group memberships.

As another part of this redesign, I also had to make some changes to the security that I had in place to block against unauthorized access to areas within the application. Now, a security check is present at the entry point for each major area; if a user is not a member of the appropriate group, they are not allowed access. I have also improved the verification of Staff or Administrator group membership. This allows members of the Staff group to access everything except the Administrative module, and members of the Administrator group are allowed access to every area of the application.

I still have some minor changes to make with how some of the pages are displayed, but I believe the Administrative module is now much improved.

Posted by goodeld at 09:29 AM

August 04, 2006

Authentication Improvements

I have been finishing up some authentication details with my LRC Scheduler application. As a refinement, when anyone logs in who is not designated within the application as an LRC employee, Writing Center employee or UCS employee, some decisions need to be made within the application.

If the user is designated as an LRC tutor or Writing Center tutor, they are taken to the main menu for the application. From this point, I have logic in place to not allow tutors access to the administrative module.

If the user doesn't fall into any of the above login categories, they are unknown to the application, assumed to be a campus faculty/staff member, and taken to the Faculty/Staff main menu.

Within my logic for Faculty/Staff main menu, if the user is unknown, they do not see links to any other area of the application; if they are a known user (within any of the above login categories), they are allowed to exit from the Faculty/Staff module in order to go back to the application's main menu. The Faculty/Staff main menu is an entry-point only for unknown users; anyone else will access this page from another menu.

Since authentication to the application is achieved via LDAP, anyone from off-campus will not be allowed to authenticate to any part of the application. I will develop a separate interface for the WOU student community.

Posted by goodeld at 10:06 AM

August 03, 2006

Scheduler and Data Collector

In addition to LDAP authentication to the application at large, I have the Administrative Module nearly complete. There could very well be some changes needed after I give a demonstration at our next meeting, thus the wording "nearly complete". The Administrative module has the following functionality:

● Manage employee and tutor logins (add, update, remove)
● Verifies that new users have an existing LDAP login (if not, don't allow the new login to be created)
● Checks to make sure that new logins are not duplicates
● Security checks -- ensures that tutors cannot change staff logins
● Separate login management for LRC and Writing Center

My focus over the next few days will be to develop the page structure of the major components of the application. Once I have this in place and everyone has come to an agreement about the overall look-and-feel of the application, I'll shift my focus to the details.

Posted by goodeld at 02:13 PM

July 28, 2006

New Project -- LRC Scheduler and Data Collector

I have been assigned a new programming project.

Bill and I met with Karen Sullivan-Vance and Katherine Schmidt to discuss the need for a scheduler and data collection application for the Learning Resource Center and the Writing Center. This application will track students' (customers) sessions as well as the scheduling of tutors. This will really be a management tool for the staff.

I have started working on an administrative module. So far, I have developed the capability to add new staff/administrators to the system, which includes some error checking (don't add the new user if they don't already have an LDAP login; don't add duplicate users).

Posted by goodeld at 10:47 AM