Release Notes 2019–2020 - olszowka/Zambia GitHub Wiki

Zambia does not have formal releases (yet) so release notes are organized by PR. This page contains all release notes from 2019-2020.

Also see

PR 92          2020-12-26

Make enforcement of string character length policy limits multibyte aware.

Summary

This fixes a bug where enforcement of character length policy limits counted bytes rather than characters, i.e. it was unaware of multibyte characters.

Application Notes

None.


PR 91          2020-12-14

Optionally require consent to collect and retain data from users

Summary

The change creates a message where Zambia users must consent to have data about them collected and retained in order to proceed to use Zambia.

Application Notes

  1. Add an entry for "REQUIRE_CONSENT" in your db_name.php configuration file.
  2. Apply the db patch script 53_data_retention.sql to your database.
  3. If you enable this feature, ensure the text on the consent page aligns with your convention's policies by using the "Edit Custom Text" page to edit the "Data Retention Consent" text.

PR 90          2020-12-12

Fix Phases table capitalization in db creation scripts

Summary

This fixes a bug in the db creation scripts which had incorrect capitalization for the Phases table. Also, now these scripts fully populate the PatchLog table.

Application Notes

This change affects new installations only.


PR 88          2020-12-08

Add administrator page to edit custom text

Summary

There is now a new page for administrators to edit custom text. Custom text may now be HTML. The new page will let administrators insert HTML and assist with doing so.

Application Notes

  1. If you had existing entries in the CustomText table, ensure the values in the page column are correct. The values in SampleDBase.dump are correct. Review the display of these entries on the relevant pages and edit in the tool as needed. The wrapping element created by TinyMCE may now be required but be absent from one or more of your entries. Saving an unedited entry in the tool will create the wrapper.

Disregard PR's 86-87; They had bugs and were reverted.

PR 85          2020-11-01

Add page title to BS4 version of participant menu

Summary

Small non-functional layout change.

Application Notes

None.


PR 84          2020-10-24

Fix bug with participant profile

Summary

Small fix to participants editing credentials on profile page when deployments uses non-numeric badgeids.

Application Notes

None.


PR 81          2020-09-26

Fix bug with self service password reset mechanism

Summary

Small fix to code tracking self service password requests.

Application Notes

  1. This change fixes a bug logging self service password requests when users enter bad data from PR 69.

PR 79          2020-09-22

Support configuration where php default timezone does not match mysql server default timezone

Summary

New parameter in db_name.php configuration file for the purpose of overriding MYSQL timezone.

Application Notes

  1. If your php default timezone doesn't match your mysql server default timezone add an entry for "DB_DEFAULT_TIMEZONE" in your db_name.php configuration file specifying the time zone. Your MySQL db will have to be configured for named time zones. See https://stackoverflow.com/questions/19023978/should-mysql-have-its-timezone-set-to-utc/19075291#19075291

PR 78          2020-09-08

Initial support for Bootstrap 4 and JQuery 3.5.

Summary

3 pages were cut over to Bootstrap 4 and JQuery 3.5. Initial support for more flexible configuration for how your con uses Tracks and Tags.

Application Notes

  1. Add an entry for "TRACK_TAG_USAGE" in your db_name.php configuration file and select one of the four options described in db_name_sample.php.

PR 77          2020-09-08

Fix bug with Admin Participants page which affects Chrome browsers.

Summary

On Chrome browsers, if there were more results than would fit in the window, a scroll bar would not appear to view additional results. This issue is now fixed.

Application Notes

  1. We don't know which version of Chrome introduced the error. No changes are needed to apply this change.

Disregard PR's 74-76; They had bugs and were reverted.

PR 72          2020-08-30

Tweak two previous db migration scripts.

Summary

Two previous db migration scripts were modified to fix problems with the case of table names.

Application Notes

  1. The fix affects only MySQL servers with case sensitive identifiers enabled.

PR 73          2020-08-29

New add user script.

Summary

A new script has been added to add users and hash their passwords with new algorithm.

Application Notes

  1. The new script takes CSV files of users to be added and is somewhat more flexible than the previous script.

PR 71          2020-07-13

Improve password security.

Summary

The algorythm for hashing passwords is now more secure. Some other code related to passwords has also been made more secure.

Application Notes

  1. Applying this code change will break everyone's stored passwords!
  2. Apply the db patch script 52_password_security.sql to your database.

PR 61          2020-07-11

New page for controlling which phases are current.

Summary

There is a new admin page you can use to edit which pages are current.

Application Notes

  1. Apply the db patch script 51_admin_phases.sql to your database.
  2. Ensure the users you want to be able to administer the phases have the "Administrator" role.
  3. If your db has case sensitive identifiers enabled, see PR 72 for a fixed version of the db migration script.

PR 70          2020-07-10

Make default password configurable.

Summary

For deployments which use an initial default password when creating new users, it is no longer hard coded to "changeme". It is now configurable.

Application Notes

  1. If your deployment creates new users with an initial default password, you may now configure that password in db_name.php.

PR 69          2020-06-18

Allow users to reset their own passwords via email.

Summary

There is now a link on the login page which takes users to a page where they can reset their own passwords.

Users must know their badgeid/userid and have a valid email stored in the CongoDump table which they know.

Application Notes

  1. Apply the db patch script 50_password_reset_self.sql to your database.
  2. This change requires recent changes PR 65 and PR 64.
  3. In order to enable users to reset their own passwords by email link you must...
    1. ... configure an email relay for Zambia to use.
    2. ... configure a from address to be used for the password reset email.
    3. ... subscribe to reCAPTCHA service and configure it for Zambia to use.
    4. ... enable the feature in db_name.php
  4. If you do enable users to reset their own passwords you may...
    1. ... disable staff resetting user email because it is no longer necessary.
    2. ... create news users without a default initial password because that is no longer necessary. Instead, have users use this password reset mechanism to set their initial password.
  5. This change fixes a bug with which allows staff page content to be displayed even if the user is logged out from change PR 55.
  6. This PR has a bug which triggers an error if a user attempts to reset their password and enters bad data more than once. Apply PR 81 for the fix.

Disregard PR's 66-68; They had bugs and were reverted.

PR 65          2020-05-30

Incorporate Guzzle to repo.

Summary

No functionality change, yet. Guzzle is necessary to use reCAPTCHA for self-service password reset.

Application Notes

This change is required for change PR 69.


PR 64          2020-05-30

Incorporate Swift mailer to repo.

Summary

No visible functionality change; Change behind the scenes. Swift is necessary to send email for self-service password reset and email merge to participants.

Application Notes

  1. There are two more optional parameters for mail relay configuration
  2. If you had already installed swift, you can delete the version you installed.
  3. This change is required for change PR 66.

PR 58          2020-04-23

DB cleanup for upcoming Admin Phases change.

Summary

No visible functionality change; only preparatory work on DB Schema.

Application Notes

  1. Apply the db patch script 49_phases.sql to your database.
  2. If your db has case sensitive identifiers enabled, see PR 72 for a fixed version of the db migration script.

PR 59          2020-04-19

Make ability for staff to edit user password configurable.

Summary

There is a new permission atom which controls which staff may edit user passwords.

Application Notes

  1. Apply the db patch script 48_password_reset_optional.sql to your database.
  2. Insert rows into the table Permissions to associate any UserRoles you want with permatomid 18 so those users may edit passwords.

PR 57          2020-04-19

Clean up various bugs.

Summary

  1. Make various brainstorm views of sessions compatible with recent change to display tags in more places. PR 49
  2. Fix problem where Notes for Program Staff on Assign Participants page wasn't saving.
  3. Small changes to remove deprecated PHP syntax.

Application Notes

None.


PR 56          2020-04-13

Refactor XSL Transformations.

Summary

This change is entirely a refactoring of the code to make it more maintainable. There is no functional change.

Application Notes

None.


PR 55          2020-04-13

Refactor header rendering code.

Summary

  1. This change is primarily a refactoring of the code to make it more maintainable.
  2. All code to handle window resizing has been removed and replaced with use of flexbox styling. Therefore Zambia no longer supports IE browser < version 11.

Application Notes

  1. This PR has a bug which allows staff page contents to be displayed even if the user is logged out. It is fixed by PR 69.

PR 54          2020-04-05

Fix bug with title searches.

Summary

In several places where the user could search sessions on session title, the title constraint was not actually applied to the query. This bug has been fixed.

Application Notes

None.


PR 53          2020-03-30

Code cleanup.

Summary

This change is entirely a refactoring of the code to make it more maintainable. There is no functional change. Some unused files were deleted.

Application Notes

None.


PR 49          2020-03-28

Add tags functionality.

Summary

  1. Rename Publication Characteristics/PubChars to Tags throughout Zambia including schema.
  2. Add filtering by tags on many searches of sessions.
  3. Add display of tags in many places.
  4. Remove some superfluous reports

Application Notes

  1. Apply the db patch script 47_tags.sql to your database.
  2. If you are using Brainstorm functionality, do not use this version of code without also using PR 57 which fixes some bugs with this PR.

PR 51          2020-03-15

Miscellaneous bug fixes.

Summary

The most significant change cleans up syntax of some mySQL queries to avoid errors on newer versions.

Application Notes

None.


PR 47          2019-12-17

Fix Rooms table in DB creation scripts.

Summary

Fixed missing column from the Rooms table in SampleDbase.dump and DemoDbase.dump.

Application Notes

None.


PR 44          2019-12-04

Fix bugs from recent refactor.

Summary

  1. Fixes bugs with PR 43
  2. Significant stylesheet edits
  3. Delete unused file

Application Notes

None.


PR 43          2019-11-24

Add searching within large dropdowns plus refactoring.

Summary

  1. Add searching within large dropdowns on several pages with choices front end library.
  2. Refactor file structure of js and css files.
  3. Delete files from unused front end libaries

Application Notes

  1. Do not use this version of code without also using PR 44 which fixes some bugs with this PR.

PR 42          2019-11-16

Add support for global XSLT parameters in reports.

Summary

Reports can now access global constants from db_name.php.

Application Notes

  1. No standard reports use this capability. It is available for custom reports.
  2. webpages/reports/configurable_report_sample.php is an example of how to use this capability in a report.

PR 33          2019-10-11

Remove broken links in navbar and display user roles in 3 columns.

Summary

  1. The link on the leftmost of the navbar worked only one a few apache/php configurations and was unreliable. It has been removed entirely.
  2. The roles on the participants general interests page now display in 3 columns.

Application Notes

None.


PR 30          2019-10-03

Move css files to css directory.

Summary

This change is entirely a refactoring of the code to make it more maintainable. There is no functional change. Some files were moved.

Application Notes

None.


PR 29          2019-09-30

Fix several small bugs, mostly in brainstorm section.

Summary

  1. Fix some actual small bugs, mostly in brainstorm section.
  2. Fix a few misspellings in text.
  3. Reformat a bunch of code with inconsistent whitespace.

Application Notes

None.


PR 28          2019-09-25

Update some custom text entries and some validation entries.

Summary

  1. Update custom text entries in the db creation scripts.
  2. Change validation for divisionid for sessions.

Application Notes

Ensure that divisionid 99 is configured as "unspecified" in your database.


PR 27          2019-09-16

Bug fixes and code cleanup with brainstorm functionality.

Summary

Bug fixes and code cleanup with brainstorm functionality.

Application Notes

None.


PR 23          2019-02-05

Complete overhaul of report engine

Summary

  1. All specification and configuration for each report is now contained in a single file per report. This arrangement facilitates maintaining a branch with customized reports.
  2. Reports which output CSV are included in the same report engine and configuration mechanism.
  3. There is a command to rebuild the report menus after any changes to report configuration which affects them.

Application Notes

The application notes for this change have their own document.

⚠️ **GitHub.com Fallback** ⚠️