Release 0.0.4

This was originally intended to be a stabilisation release. The following changes / fixes are included.

Fixes

The following fixes have been applied to this release:

  1. Error JParameter not found on some systems. This error is seen only on a few systems and is resolved by adding an addition include file in the main file header.

  2. The release information within the passwordcontrol_meta file was not updated correctly. Update has been modified to update with the correct version.

  3. There is a warning message generated on some sites when the checking for exempt users is performed. An additional check has been placed around the source of the error.

Changes:

  1. There are a couple of minor changes to determine whether to load the parameters from the plug-in itself, or from the password control component (not yet released). This check is also used to load the language for the component rather than for the system plug-in.

  2. The manifest file has been amended to add details of update servers to make use of Joomla update notifications.

  3. An additional file to make up of Joomla install, update and uninstall actions has been added to the distribution.

  4. The ability to save multiple passwords for a user has been introduced. This is specified by an additional parameter. The change allows for the additional checks for these passwords. Using a large value will cause some additional time to be used for the checking, which will depend very much on the performance of the host platform for the site. Database procedures are used to give the best possible performance of the checking.

  5. It is possible to specify a value of zero for the number of passwords to check. This is provided for those who want to force users to change their passwords but who do not specifically care whether they use different passwords or not.

  6. Additional parameter to specify whether password checks should be performed by the bespoke database functions, or use PHP code. See database notes below.

Database notes.

For performance reasons it was desirable to use a bespoke database function for password checks against previously specified user passwords. In developing this password checking function it was discovered that to perform the checking in the database required the MySQL binlog_format to be set to ROW or MIXED, otherwise the function failed. The setting discovered on the internal databases was set to ROW.

The setting is used by MySQL specifically where replication is being performed between databases. The default setting for all MySQL 6 databases and above is set to MIXED, but I am wary of forcing a change upon all users of the plug-in. For that reason there is PHP checking routine included as part of the plug-in as we l as the database function. Which is used depends upon the setting of the DBCHECK parameter. The default is to use the PHP routine. In tests the database routine is faster for large number of passwords being checked which might be the preference, but because of the logging this is not the default. Both routines generate the same result.

If database replication is not a consideration for a site then for the use of the database routine is recommended.

The storing of multiple passwords for a user is performed by a bespoke MySQL database procedure created when the plug-in is installed. The database procedure for storing passwords in the control table is not impacted by the logging mode.

Being experienced database engineers we tend to use database routines for performance reasons, something that is not very common with other Joomla extension authors, so it is possible that some database problems which may or may not have shown up with other plugins may be seen. These problems usually manifest themselves as errors accessing database procedures or functions. These problems may be caused by underlying problems with the MySQL database system tables, and are sometimes encountered when a MySQL database upgrade has not been completed successfully. Unfortunately this means that when others (i.e. service providers) fail to perform their upgrades we can appear to be at fault. There are several examples of theses types of problems reported on the Forum on the support site system.

Go To Top

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries