Chapter 12. Component Design

In this section we specifically concentrate upon some of the design aspects of the component.

User category subscriptions.

This was one of the more recent additions to the component and makes use of the 'cat_users' table to provide the linkage between categories and those users who subscribe to the categories.

The use of the table permits an easy control of any defined subscriptions a user may make.

  • When a user subscribes or changes their subscriptions, any existing subscribed categories to which they no longer wish to be subscribed are removed before any new entries to the 'cat_users' table.

  • When a category is removed, all entries in the 'cat_users' table are removed for that category.

  • When a user is removed from the component then any of their subscription entries in the 'cat_users' table are also removed.

There are options that control whether category subscriptions are permitted, and also whether they are required for 'new' entries, just 'updated' entries or both.

When a entry is created (or updated) upon the front end, after the entry is saved the subscriptions are checked. First whether subscriptions are enabled is checked, followed by the type of subscriptions to be used. If these tests are passed, then an email message is constructed for all of the subscribed users of that category. A single message is constructed and the names of the recipients are either all placed upon the email 'To' list, or the email 'CC' list or the email 'Bcc' list. The choice of which of these options is used is determined by the component settings. Once constructed a single message is sent to all recipients.

See below for how multilingual specific message strings may be used in the message headers and trailers.

There is a component option to defined whether any multi-lingual defined categories are to be presented in the category selection list presented to the user. Associated categories are not considered relevant in the subscription criteria and are solely used to control the generated subscripted categories updates to the users.

Go To Top

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries