Events Component for Joomla 4.x
Purpose
The Events component and it's suite of companion elements are a custom Joomla extension package designed to manage and display, and disseminate postings of upcoming and past events relevant to the SCI Institute.
- Postings of event information in a standardized format with a consistent look and feel of the SCI website and related project sites.
- Maintaining a record of activities conducted at SCI and related projects for future reference.
- Providing a central database of events related to SCI sub-projects that may be displayed on separate websites.
- Facilitate sharing of events data among sup-project websites such that events related to specific projects may be automatically posted on the project website in a format consistent with each website's own look and feel.
- Allow searching and filtering of event data indexed by presenter, event type, relevant areas of research, and related project.
Presentation
Upcoming events are displayed on the SCI Website under The Institute → Events Calendar. At the top of the page a calendar is shown displaying the current month. Times and types of events occurring in the month are shown in their respective day boxes. Clicking on an event takes you to a page for that day with the full event descriptions displayed. Navigation arrows at the top of the calendar allow the user to jump forward and backward by month.
Below the calendar is a listing of upcoming events sorted by date with the type, presenter and title displayed. Clicking on an event title takes the user to the event day page showing the full descriptions of events on that day. Events occurring after mid October of 2024 now include a link to an iCalendar file that allows visitors to easily add the event to their personal calendar. An icon at the top of this page allows the user to return to the main Events page.
Above the Upcoming Events listing, a search box is available to find any event in the archive, matching by name or keyword in the title. Dropdown selection boxes allow searching by research group, field of research, or year of event. Both the events calendar and the upcoming events list are ajax driven so actions such as navigating the calendar months and executing searches update their content without having to reload the entire page.
In addition to the SCI Events page, events may also be found by using the main search tool for the SCI website. This search tool matches terms on the presenter's name, event title and the content of the event description. The tie-in to the main site search tool requires installation and activation of the Events Plugin.
Another major form of dissemination is by automatic emails which are sent to the SCI mailing list each week and on days when events are occurring. This is done by the server executing a script every day at 6am. On Mondays, the script polls the database for events occurring in the current week and sends an email listing the week's events. Links are provided which go to the day page for the events. On each day of the week if an event is occurring on that day, the same script also sends an email announcing events on that day. The emails generated are responsively designed to appear easily legible on both small device and desktop clients. For this feature to work, the eventsEmailer.php script must be installed and a cron job set up by the systems administrator to run it.
Administration
Front End
The Events component supports a front-end interface for adding and editing events. This allows non-technical users to manage events without needing to navigate the Joomla back-end. Account holders may log in to the front-end by going to “www.sci.utah.edu/login.” Once logged in, if the user has been granted authority to edit calendar events, they will see a “+ New” button above the calendar as well as edit icons accompanying each event.
When creating a new event or editing an existing one, the user is presented with a standard form requesting the standard content expected for event postings. The form is pretty straight forward as far as labels indicating the information to be entered into each field. Some fields include a link icon which expands an optional url field allowing the text above to be linked. Some fields require the data to adhere to a strict format, such as the date and start time for the event, in which cases drop down selectors or a date/time select tool is used to enforce conformity.
The Location box as well includes several radio button selectors which will auto populate it with common event location information. A photo selection box is available that points to directories where photos of SCI members and visitors are stored. If a photo already exists it may be selected. If not one may be uploaded.
The Search Groups are a set of check boxes that allow events to be associated with specific event series or research project. This feature may be used for sharing events among separate project websites such that they may display calendars or event listings with just their relevant events on them.
The Description section includes an HTML based WYWIWYG editor that full formatting control of the content. After editing the event content the user may use the buttons above the form to either “Save” the content and continue editing, “Save & Close” to save then return to the listing page, “Save & New” to save the current event and restart with blank new event form, or simply “Close” to discard the edited data and return to the listing without creating a new event.
Back End
Events postings may also be created and managed from the Joomla Administrator control panel. The Administrator login page may be accessed by adding “/administrator” to the base url of the site. Once logged in, the user is presented with the Home Dashboard page. A blue column on left side of the page contains buttons for the main administrative sections. Clicking “Components” here will expand a sub-listing of all the installed components including the “Events” component. Clicking this will take you to the main listing page for all the events sorted by date from future to past.
Buttons at the upper left of the page allow the user to create a new event, edit an existing event, or delete a selected event. Edit and Delete will not become functional until an existing event is selected by clicking a checkbox to the left of the event listing. A column on the right side of the listings labeled “Published” indicates weather or not an event currently appears on the public website. Clicking an icon in this section allows events to be removed from the website without deleting the data from the database. A search box in the top section of the page allows the user for find specific event postings. To the left side of each event listing is an edit icon that allows access to the edit form for an event. The back-end edit form is functionally identical to the front-end form.
Component Settings
In the upper-right corner of the events listing page is an “Options” button. This is were the basic settings for the component are set. This is for settings that are specific to our needs but may be different if the component were installed on another group's website. For example, the Collective Title in our case is “SCI Events”, but if the same tool were used for the University's football team it may be “Ute Matches”.
The Menu Item ID field is needed to match the event day pages with the proper template in Joomla. Ordinarily, the template is assigned based on a page's location in the menu structure. Event day pages, however, are dynamically created and therefore Joomla does not automatically know which template to apply to the page. Making the menu item ID of the SCI Events page available from here allows it be be included in the URL parameters and signal Joomla to associate the proper template.