Web Team Update - February 2025

Website login features and authentication

Enabling Perl authentication

Charlie has done some proof-of-concept work enabling the Perl code (the bulk of our codebase) to leverage Drupal authentication (the member account mechanism that members use today to log in and ride perms). This is a step on the way to putting a number of sensitive functions - e.g., renewing memberships or changing member contact data - behind authentication.

Next feature for authentication

The web team proposes RBA results submission as the first Perl function that should require members to login. This would be a strategic rollout since it would ensure that each region would have a leader who's gone through the account setup process and can assist members with basic questions. The following would be involved in supporting this:

  • By default, only RBAs for each respective region will be able to see their completed events awaiting results. E.g. John Lee would see completed CO: Boulder events in the results submission function, but nobody else would be able to see those. Likewise, John Lee would only see completed events for CO: Boulder, and not events for other regions.

  • RBAs will have a dashboard where they can additionally deputize other members to submit results on behalf of regions they operate.

  • Result submissions will be rejected by any users who are not logged in or who are not authorized to submit results for the respective region.

  • Any programmatic results submission by third-party tools would require an API key with permissions for the respective region. This is not generally supported at the moment.

Website login features

Paul made an improvement to the login mechanism so that users no longer get an empty page / HTTP 500 error when attempting to log in with an invalid email / user ID. This should resolve some of the confusion surrounding the login process and cut down on the number of inquiries about login issues.

My Results function

After the introduction of website logins, RUSA implemented an additional "My Results" function available behind login. This created confusion because the functionality gradually drifted apart from the original implementation, e.g. with gravel credit and the trophy case feature. We have removed this tab and replaced it with a hyperlink alongside basic member information in the primary "View" tab.

Drupal club affiliation

Stale club affiliation used to be displayed in the logged in Drupal area. Paul has removed Drupal caching for this function so that the data will always be fresh.

RUSA membership workflow

The membership team confirmed that no hold-up is needed for renewals once payment is received. Any member updates to address or other contact info should not block the member’s joining / renewing in the Perms program, enabling the member to ride a perm.

American Randonneur

Lois placed the Fall and Winter editions of the magazine online.

Back office updates

Event names

Event names are now available in the back office reporting function. Event names are also displayed in the back office event management function for newly calendared events so that the brevet coordinator can easily review them before approval. All remaining functionality is in place and this just needs to be communicated to RBAs and rolled out.

UAFB cert numbering

RUSA's cert numbering code seems to be working fine. There is one Central Florida event whose cert#s need patching up.

Drupal + Debian + PHP upgrade

Testing continues in the Test environment. Looking good so far. Thanks to Paul Lieberman for his work on this.

User Interface Theme

Paul confirmed that there is no pressing need to move off of the deprecated Drupal UI theme we are using - Zircon - since we maintain a local copy and thus don't have to worry about its stability.

Code base cleanup

We are cleaning up some unused or duplicate functionality between the Perl and Drupal code bases to reduce the maintenance load.
https://rusa.org/bugzilla/show_bug.cgi?id=1053
https://rusa.org/bugzilla/show_bug.cgi?id=1050

The spammiest Perl warnings across most major website features have been resolved. A critical bug was introduced in the process, where the value '0' got dropped when saving any records to the database. The bug has been resolved and affected data has been corrected. Details in bug 1057 and bug 1058.

Respectfully submitted,
- Charlie, Lois, Kevin, Man-Fai, Osvaldo, JLE for the Web Team