Macrotone Blogs

Macrotone blogs upon Joomla, our products and other matters.

The use of specific Component User Tables

During our development of our Time sheet component we looked very closely at the use of specific component user tables. These are tables that are specific to a component, which are/can be very useful when there is a requirement to associate some specific criteria to one or more users. i.e We might wish to enable email sending only to specific users.  This could be achieved with the use of Joomla ACL controls but often this can be a little bit overkill especially when there are a number of different combinations involved. In these situations the number of ACL groups required could/would quickly get out of hand and require a lot more overhead in determining the result if user actions in the component. Such user tables are often automatically populated by a system plugin that would automatically add any newly registered Joomla users to the component user table and also maintain any changes that the user might make to their profile such as username or email address between the Joomla user table and the component user table.

One other use for a specific component user table would be where there is a requirement for specific ‘unregistered’ users. An example might be where the component was collecting details of users who requested information upon a specific topic by filling in a form upon the site front end, and at some later stage an administrator might process such requests from the details recorded in the component user table.

Generally component user tables work well in practice but there is one large downside, which is that there is (in all of the uses we have seen),  an explicit assumption that all Joomla users will or are required to make use of the Joomla component, which is not necessarily true.  A Joomla web site will probably have a number (often in the hundreds if not thousands) of users and if the site has a specific component installed that is used for example, by internal staff only, there is no need to have additional entries in the component users table for the non-staff members. In the case of our Timesheet component only certain of the site users would make use of the component so there is no need to have an entry in the component user table for every single one of the Joomla users.

This has resulted in our implementing a change to how Joomla users are integrated into the component user table. The former mechanism of having automatic user table update by the use of the system plugin was obviously not desirable,however we did want to synchronise any updates (and deletions).  Thus we have a need to introduce an optional parameter to the system plugin which will control whether new Joomla users are automatically added to the component user table.

With this in mind we have modified a few of our components, and are in the process of modifying a few others, so that the automatic addition of Joomla users to the component users table is a system plugin option. This change is relatively trivial, but there is an additional change required, which is to provide a mechanism so that users can manually added to the component users table by a site administrator when required, such as when new staff join the company..

The first component to use these mechanisms was our Timesheet component and we have now also added our Rialto (Classified Ads) component,  Obviously in the first of these we are only interested in providing the ability to create timesheets to our internal staff.  In the later component we may only have a select sub group of users who we may want to be able to create/manage their classified advertisements. We will also add that, yes we do also include the ability in the components to use Joomla ACL rules but this alone would not address the number of entries in the component users table and could well make the administration of ACL groups a lot more complex as mentioned earlier.

There is some additional code required but the benefits include a smaller component users table, with much clearer administrative visibility and control over who is using the specific  component.  It also provides the ability to have a simple test upon whether the register user in the front end has an entry in our component user table to control what specific front end views they may be presented with.

  797 Hits
  0 Comments

Rialto v1.2.1 released

rialtoWe are pleased to announce release 1.2.1 of the Classified Ads component for Joomla named Rialto.

This component runs on Joomla 3.5.1 (and above). 

This release adds adds a number of fixes and general improvements. There are no new features in this release.

See the change log and documentation for more details.

The release is available in the download area.

  781 Hits
  0 Comments

IP Mapping 1.4.1 released

location-48IP Mapping release 1.4.1 available.

The Joomla component came from a requirement to display IP addresses of site visitors upon Google maps.

This minor update adds a new option to permit its usage where the web server is located behind a CDN such as Cloudflare. It offers an alternative to loading the Cloudflare plugin, but is also expected to work with other CDN sites where such a plugin is not available.  It has not been possible to test against all possible CDN systems but there are not expected to be any problems.

Other minor changes include some coding cleanups and a change to use of the window.load function in the mapper module.

See the changelog for details.

The release is available in the usual download location on our site.

  688 Hits
  0 Comments

Timesheet Component 1.0.3 released

timesheet

We are pleased to announce the release 1.0.3 of our Timesheet component for Joomla 3.5.

Macrotone Timesheet is a component which allows employees to enter timesheet information that may later be printed and/or distributed to the company accounts for processing. The idea is that employees have a central mechanism for time entries against specific project (or account) codes.

Note that it requires a MySQL database version 5.5.3 or higher.

This minor update corrects a few minor problems, updates the underlying grid software to the latest release version and adds a few more options to the front end time code display.

Please see the changelog for more details.

  648 Hits
  0 Comments

CDN hosted sites, Tor browser and Captcha

We were recently making a modification to our IP Mapping component to support CDN sites such as Cloudflare as a result of a recent forum post, and we discovered the answer to a observation that we had seen a few times that we thought worth sharing.

We occasionally use the Tor browser to access web sites, usually to give us a random set of IP addresses that we can test upon a site, when using IP Mapping.  It is a very convenient way in which one can test access to a site, and appear to be coming from somewhere else in the world. We had observed that occasionally we were presented with a captcha page on some sites as shown below:

 20160502093024 Cap1 2

In the example shown we are accessing the Cloudflare site itself.

We hadn't worked out why this was occurring but now believe that it is something that sites hosted by Cloudflare sometimes display.  We think this is Cloudflare itself that is intercepting the IP address that the Tor browser is using, i.e. the specific Onion exit IP point, and that Cloudflare is then deciding to display the captcha.  If is probably not that difficult to do, and only requires a mechanism to keep track of all the possible Tor access points, and if the browser is coming from one of these IP locations present the captcha challenge.

Of course this makes some sense since Cloudflare is presumably protecting the sites it is hosting, but to a visitor (using the Tor browser) it is not evident or always known that Cloudflare is hosting the site, so it may come as somewhat of a surprise.

Of course other CDN sites may also be using such a mechanism as well so if you see such a captcha mechanism in place it may not be the site you are accessing that is the source of the captcha but the CDN site itself.

We have only observed this behaviour when using the Tor browser, and note that Cloudflare has a mechanism to let the hosted site decide what action to take when the Tor browser is used.  Other CDN based sites and other browsers may exhibit similar ‘opportunities’ but of these we are not (yet) aware.

  777 Hits
  0 Comments

Password Control 0.1.7 released

Password Control Icon

Password Control system plugin release 0.1.7 for Joomla 3.4 and 3.5.

This update corrects the display of the deprecated constructor method message seem when PHP 7 is used upon a site.

The install file is available in the download area.

  559 Hits
  0 Comments

EU Cookie Plugin 1.1.4 released

cookies

EU Cookie system plugin release 1.1.4 for Joomla 3.4 & 3.5.

This minor update corrects and removes the deprecated feature message seen when PHP 7 is used upon a site.

The plugin has been used on our site since the introduction of the legal requirement to comply with the EU Cookie Directive for web sites.  This plugin complies with the regulation by notifying the user of the Cookie policy.

 

  598 Hits
  0 Comments

Joomla 3.5.0. released

joomlaThe Joomla! Project and the Production Leadership Team are proud to announce the release of Joomla! 3.5.0.

Introducing 34 new features, including support for the recently released PHP 7 scripting language, which significantly increases web site speed.

This version of Joomla! supports the most recent release of PHP, the most popular programming language for developing web applications. PHP 7 was recently announced with significant performance improvements and is now available for use by the general public. With Joomla! 3.5 users can now enjoy the benefit of that performance improvement.

Joomla's new email update notification plugin periodically checks for available Joomla! updates and bug fixes, then emails administrators to notify them. 3.5's new statistics collection plug-in gathers the system environment in use. The raw data collected is anonymised before transmission and access to the compiled data is publicly available at https://developer.joomla.org/about/stats.html.

To have a full list of the features please visit our GitHub Repository.

Official release details are located here.

  681 Hits

Joomla Audit 1.2.0 released.

auditWe are pleased to announce the availability of Macrotone Joomla Audit release 1.2.0 for Joomla 3.4

This minor release intended to support Joomla 3.5 also corrects a few minor problems discovered in the earlier release.

This version has been tested against Joomla 3.4 and Joomla 3.5 RC3.

 See the changelog for details of all of the changes.

 The update is available in the download area.

  631 Hits
  0 Comments

Timesheet Component 1.0.2 released

timesheet

We are pleased to announce the release 1.0.2 of our Timesheet component for Joomla 3.4.

Macrotone Timesheet is a component which allows employees to enter timesheet information that may later be printed and/or distributed to the company accounts for processing. The idea is that employees have a central mechanism for time entries against specific project (or account) codes.

At initial release it runs upon Joomla 3.4 the current Joomla release.  Note that it requires a MySQL database version 5.5.3 or higher.

This minor update corrects a few newly discovers problems but also runs upon Joomla 3.5 RC1.

Please see the changelog for more details.

  661 Hits
  0 Comments
Go To Top

The Macrotone Consulting Web site would like to use cookies to store information on your computer, to improve our website. Cookies used for the essential operation of the site have already been set. To find out more about the cookies we use and how to delete them, see our Privacy Policy.

I accept cookies from this site.