A system for displaying a calendar in response to a calendar access request from a client computer.
About
Abstract A calendar system displays event data via an electronic calendar form that is accessible over a network by a user of a client computer. The system stores event data for multiple events and selectively displays event data based on whether a calendar access request is received from a guest user or an authenticated user. The system displays event data via a default calendar to guest users and displays event data via a customized calendar to authenticated users. The default calendar displays event data for related events based on a contextual relationship that is derived by examining event data for each the multiple events to determine a position separation and/or a frequency of a user supplied keyword in the event data. The customized calendar displays events based on contextual relationships and based on the viewing history of the user and other input data from user. Background With the growth of computer and information systems as well as related network technologies, such as wireless and Internet communications, ever increasing amounts of electronic information are communicated, transferred, and subsequently processed by users and/or systems. For example, educational institutions such as colleges and universities frequently offer web-based services to provide students and/or faculty access to information. Many users, such as students on a college campus, interact with multiple computer applications in order to establish and manage a personal schedule that may cover various school deadlines, meetings, class schedules, social activities, and other campus-related functions. As such, the user may be inundated with multiple activities from various sources that make it difficult, if not impossible, to coordinate and schedule these activities efficiently when managing a personal schedule. In addition, other types of users such as busy professionals are constantly multi-tasking using various computer applications when managing a personal schedule. Accordingly, there is a need in the art for a calendar system that provides an effective and versatile platform for allowing a user to interact and manage multiple applications while managing a personal schedule. Summary In an embodiment, a computer-readable media encoded with a calendar application may include modules executable by a processor to display a calendar in response to a calendar access request from a client computer. The calendar application may include an authentication module to receive the calendar access request including input data entered by a user of the client computer, designate the calendar access request as an authorized access request if the input data includes valid authentication data, and designate the calendar access request as a guest access request if the input data does not include the valid authentication data. A display determination module may select one of a default calendar form and a customized calendar form for display, wherein the default calendar form is selected for display when the calendar access request is designated as the guest access request and the customized calendar form is selected for display when the calendar access request is designated as the authorized access request. A first content determination module may retrieve event data from a data store. The data store may include the event data for a plurality of events and populate the default calendar form with the event data for a first at least two of the plurality of events based on an identified contextual relationship between the event data for the first at least two of the plurality of events and a position separation between at least one keyword included in each of the first at least two of the plurality of events, wherein the at least one keyword is included in the input data. A second content determination module may retrieve a user input data set comprising user preference data from the data store, retrieve the event data for the plurality of events from the data store, and populate the customized calendar form with the event data for a second at least two of the plurality of events based on an identified contextual relationship between the event data for the second at least two of the plurality of events, a position separation between the at least one keyword included in each of the second at least two of the plurality of events, a viewing history of the user, and the user preference data. A user interface module may generate for display the selected one of the default calendar form with the event data for the first at least two of the plurality of events and the customized calendar form with the event data for the second at least two of the plurality of events. In another embodiment, a system for displaying a calendar in response to a calendar access request from a client computer system may include a data store storing event data for a plurality of events and a server including a calendar application having modules executable by the server. The calendar application may include an authentication module to receive the calendar access request including input data entered by a user of the client computer, designate the calendar access request as an authorized access request if the input data includes valid authentication data, and designate the calendar access request as a guest access request if the input data does not include the valid authentication data. A display determination module may select one of a default calendar form and a customized calendar form for display, wherein the default calendar form is selected for display when the calendar access request is designated as the guest access request. The customized calendar form may be selected for display when the calendar access request is designated as the authorized access request. A first content determination module may retrieve event data from the data store and populate the default calendar form with the event data for a first at least two of the plurality of events based on an identified contextual relationship between event data for the first at least two of the plurality of events and a position separation between a keyword included in each of the first at least two of the plurality of events, wherein the keyword is included in the input data. A second content determination module may retrieve a user input data set comprising user preference data from the data store, retrieve the event data for the plurality of events from the data store, and populate the customized calendar form with the event data for a second at least two of the plurality of events based on an identified contextual relationship between the event data for the second at least two of the plurality of events, a position separation between the keyword included in each of the second at least two of the plurality of events, a viewing history of the user, and the user preference data. A user interface module may generate for display the selected one of the default calendar form with the event data for the first at least two of the plurality of events and the customized calendar form with the event data for the second at least two of the plurality events. A method for displaying a calendar in response to a calendar access request from a client computer may include storing event data for a plurality of events in a data store; receiving a calendar access request at a processor, wherein the calendar access request comprises input data entered by a user and wherein input data includes authentication data and at least one keyword; designate the access request as an authorized access request at the processor if the input data includes valid authentication data; designate the access request as a guest access request at the processor if the input data does not include the valid authentication data; selecting, at the processor, one of a default calendar and a customized calendar to display, wherein the default calendar form is selected to display when the calendar access request is designated as the guest access request, and wherein the customized calendar form is selected to display when the calendar access request is designated as the authorized access request; retrieving event data from the data store and populating the default calendar form, when the default calendar form is selected, with the event data for a first at least two of the plurality of events based on an identified contextual relationship between event data for the first at least two of the plurality of events and a position separation between at least one keyword included in each of the first at least two of the plurality of events, wherein the at least one keyword is included in the input data; retrieving a user input data set comprising user preference and the event data from the data store and populating the customized calendar form, when the customized calendar form is selected, with the event data for a second at least two of the plurality of events based on an identified contextual relationship between event data for the second at least two of the plurality of events, a position separation between the at least one keyword included in each of the second at least two of the plurality of events; and generate for display the selected one of the default calendar form with the event data for the first at least two of the plurality of events; and the customized calendar form with the event data for the second at least two of the plurality events. Implementation of the above embodiments may include one or more of the following features: an authentication module that is further configured to determine if the input data includes a selected date; a first content determination module that is configured to retrieve the event data from the data store for the selected date when the input data includes the selected date as well as retrieving the event data from the data store for a current date when the input data does not include the selected date; and a second content determination module that is configured to retrieve the event data from the data store for the selected date when the input data includes the selected date and also retrieve the event data from the data store for a current date when the input data does not include the selected date.