covers versions 3.4.1 stable, 3.5.0 development
A bug fix release of MySource Matrix will be released on Monday the 2nd of May. MySource Matrix 3.4.2 will not contain any new features. There will also be no beta release again this month.
If all goes well during May, the next beta release of MySource Matrix will occur on the 6th of June. MySource Matrix 3.5.0 beta will contain a number of new features and will require a lengthy upgrade procedure. If the 3.5.0 beta is released on time, the earliest date for 3.6.0 stable will be on the 1st August.
It has been pointed out to us that the licence header for files in our commercial modules actually says that the files are released under our open source licence. This is obviously not the case so we had to make some changes.
We now have two licence headers. The current one is for files we release for free under our open source licence, while the other is for files in our commercial modules. If you are adding new files to CVS, you must use the appropriate licence.
All files added to specific client packages should still use the existing open source licence header.
The trigger manager has had three new methods created to allow scripts, or even other assets, to list and create triggers within MySource Matrix. The new methods are getTrigger(), getTriggerList() and createTrigger(). The functions they perform are self-explanatory.
MySource Matrix users accessing the administration interface using the Firefox web browser have complained about a "Login key incorrect" error for a while now. Things seemed to have gotten worse with each new Firefox release.
Geoffroy, from Squiz UK, recently committed a fix to MySource Matrix 3.5.0 that seems to be working correctly. This fix has now been made to the stable version and will be included in Monday's 3.4.2 release. More information can be found on the bug tracker for bug #352.
The new step_04.php script to complete the install of MySource Matrix 3.5.0 has now been replaced with the compile_locale.php script. The Compile Locale script can be run at any time after install, as step_04 could, but it must be run at specific times during installation.
When installing a new MySource Matrix 3.5.0 system, run compile_locale.php
after you have run step_02.php. This will allow any errors generated during step_03.php to be displayed correctly. It is not absolutely essential to run compile_locale.php at this time, but it will not take long and will help if anything does go wrong during step_03.php. Finally, ompile_locale.php should be run after step_03.php to compile the localised screens and errors messages for the installed assets.
To run compile_locale.php, use the following command: php install/compile_locale.php [SYSTEM ROOT] --locale=[LOCALE]{-[OPTIONS]}
[SYSTEM ROOT] is the root of your Matrix system (generally '.')
[LOCALE] is the locale that you want to compile. Parent locales will also be compiled automatically. Eg. if you compile en_AU it will also compile en
[OPTIONS] restricts the type of localising to do. If empty (eg. "--locale=en") all localising will be done. Otherwise can be a combination of 'screens', 'strings', 'errors', or 'messages'. For example "--locale=en-errors,messages" will compile the English language errors and internal messages only.
The form element printing functions in html_form.inc now allow more control over the printing of IDs. They also allow for the printing of labels for form elements through a new label() function. Labels allow for form elements to be selected by clicking the label text as well as the form element itself. The following example code would print a checkbox with a label.
check_box('details[mailing_list]', 1, true, '', 'id="mailing_list"'); label('Put me on the mailing list', 'mailing_list');
Previously, the check_box() function would add id="details[mailing_list]" to the check_box form element. The square brackets meant that the checkbox could not be given a label field. Now, passing in the ID of the form element to the extras argument of the function allows you to override this default value. You can then use the label() function to create a label for the checkbox.
All developers should get into the habit of using labels for form elements, both for frontend and backend interfaces
Added to: 3.5.0 development
A new trigger event has been added to the system. The Status Changed event fires after the status of an asset has changed, allowing you to hook into this event and configure custom business rules. For example, you could create a trigger that listens for the Status Changed event and sets a future status to Up For Review after 1 month if the status of the asset is Live. This trigger would enforce a business rule that assets must be reviewed one month after going live.
Using the other features of the triggering system, this rule could be broken down by asset type or location in the tree, allowing for very specific rules to be configured.
Added to: 3.5.0 development
The Search Box design area now has the ability to display a drop-down list of the categories from the selected Search Page. Previously, only the search text box could be displayed, but now the search can be further limited to a section of the asset tree using categories.
The Search Box design area now also allows the name of the search button to be configured. Previously, the search button was always labeled "GO". You can now label it with whatever text you require.
Added to: 3.5.0 development
The listing engine now allows for a sort drop-down to be displayed to the user on the frontend to allow them to choose how to sort the list of assets. An editor of the page is able to select which sort options will be available from the frontend and what the sort options will be named.
Sorting functionality is already available in the Search Page, but this has now been greatly enhanced and is available for Asset Listings and Whats New pages as well.
Added to: 3.5.0 development
Internal messages generated within MySource Matrix can now be translated into the system's default language. The final stage of the translation project will allow the translation of all other strings with the MySource Matrix administration interface and is expected to be ready within 2 weeks.
To be added to : 3.5.0
Estimated start date: already in development
Estimated end date : 13th May 2005
Run step_02.php: no
Run step_03.php: yes
Run compile_locale.php: yes
Additional queries:
BEGIN; UPDATE pg_trigger SET tgenabled = 'f' WHERE tgname LIKE 'sq\\\\_%'; ALTER TABLE sq_rb_ast ADD COLUMN temp SMALLINT; UPDATE sq_rb_ast SET temp = status; ALTER TABLE sq_rb_ast DROP COLUMN status; ALTER TABLE sq_rb_ast RENAME temp TO status; ALTER TABLE sq_rb_ast ALTER COLUMN status SET NOT NULL; ALTER TABLE sq_rb_ast_edit_access ADD COLUMN temp VARCHAR(100); UPDATE sq_rb_ast_edit_access SET temp = type_code; ALTER TABLE sq_rb_ast_edit_access DROP COLUMN type_code; ALTER TABLE sq_rb_ast_edit_access RENAME temp TO type_code; ALTER TABLE sq_rb_ast_edit_access ALTER COLUMN type_code SET NOT NULL; ALTER TABLE sq_rb_ast_lnk_tree ADD COLUMN temp VARCHAR(2000); UPDATE sq_rb_ast_lnk_tree SET temp = treeid; ALTER TABLE sq_rb_ast_lnk_tree DROP COLUMN treeid; ALTER TABLE sq_rb_ast_lnk_tree RENAME temp TO treeid; ALTER TABLE sq_rb_ast_lnk_tree ALTER COLUMN treeid SET NOT NULL; ALTER TABLE sq_rb_ast_lookup ADD COLUMN temp VARCHAR(500); UPDATE sq_rb_ast_lookup SET temp = url; ALTER TABLE sq_rb_ast_lookup DROP COLUMN url; ALTER TABLE sq_rb_ast_lookup RENAME temp TO url; ALTER TABLE sq_rb_ast_lookup ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_rb_ast_lookup ADD COLUMN temp SMALLINT; UPDATE sq_rb_ast_lookup SET temp = root_urlid; ALTER TABLE sq_rb_ast_lookup DROP COLUMN root_urlid; ALTER TABLE sq_rb_ast_lookup RENAME temp TO root_urlid; ALTER TABLE sq_rb_ast_lookup ALTER COLUMN root_urlid SET NOT NULL; ALTER TABLE sq_rb_ast_lookup_remap ADD COLUMN temp VARCHAR(500); UPDATE sq_rb_ast_lookup_remap SET temp = url; ALTER TABLE sq_rb_ast_lookup_remap DROP COLUMN url; ALTER TABLE sq_rb_ast_lookup_remap RENAME temp TO url; ALTER TABLE sq_rb_ast_lookup_remap ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_rb_ast_lookup_remap ADD COLUMN temp VARCHAR(500); UPDATE sq_rb_ast_lookup_remap SET temp = remap_url; ALTER TABLE sq_rb_ast_lookup_remap DROP COLUMN remap_url; ALTER TABLE sq_rb_ast_lookup_remap RENAME temp TO remap_url; ALTER TABLE sq_rb_ast_lookup_remap ALTER COLUMN remap_url SET NOT NULL; ALTER TABLE sq_rb_ast_lookup_value ADD COLUMN temp VARCHAR(500); UPDATE sq_rb_ast_lookup_value SET temp = url; ALTER TABLE sq_rb_ast_lookup_value DROP COLUMN url; ALTER TABLE sq_rb_ast_lookup_value RENAME temp TO url; ALTER TABLE sq_rb_ast_lookup_value ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_rb_ast_path ADD COLUMN temp SMALLINT; UPDATE sq_rb_ast_path SET temp = sort_order; ALTER TABLE sq_rb_ast_path DROP COLUMN sort_order; ALTER TABLE sq_rb_ast_path RENAME temp TO sort_order; ALTER TABLE sq_rb_ast_path ALTER COLUMN sort_order SET NOT NULL; ALTER TABLE sq_rb_ast_perm ADD COLUMN temp SMALLINT; UPDATE sq_rb_ast_perm SET temp = permission; ALTER TABLE sq_rb_ast_perm DROP COLUMN permission; ALTER TABLE sq_rb_ast_perm RENAME temp TO permission; ALTER TABLE sq_rb_ast_perm ALTER COLUMN permission SET NOT NULL; ALTER TABLE sq_rb_ast_url ADD COLUMN temp VARCHAR(15); UPDATE sq_rb_ast_url SET temp = assetid; ALTER TABLE sq_rb_ast_url DROP COLUMN assetid; ALTER TABLE sq_rb_ast_url RENAME temp TO assetid; ALTER TABLE sq_rb_ast_url ALTER COLUMN assetid SET NOT NULL; ALTER TABLE sq_rb_ast_url ADD COLUMN temp VARCHAR(500); UPDATE sq_rb_ast_url SET temp = url; ALTER TABLE sq_rb_ast_url DROP COLUMN url; ALTER TABLE sq_rb_ast_url RENAME temp TO url; ALTER TABLE sq_rb_ast_url ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_rb_ast_wflow ADD COLUMN temp VARCHAR(15); UPDATE sq_rb_ast_wflow SET temp = assetid; ALTER TABLE sq_rb_ast_wflow DROP COLUMN assetid; ALTER TABLE sq_rb_ast_wflow RENAME temp TO assetid; ALTER TABLE sq_rb_ast_wflow ALTER COLUMN assetid SET NOT NULL; UPDATE pg_trigger SET tgenabled = 't' WHERE tgname LIKE 'sq\\\\_%'; COMMIT;
Additional comments: The upgrade queries for this week must be run by the postgres database user.
| Bug ID | Stable | Beta | Dev | Description |
| 598 | N | - | N | Step Logic "at least" 0 condition(s) must be met in this step (not confirmed) |
| 599 | N | - | N | Metadata Date Incorrect When Keyword Chosen (not confirmed) |
| 600 | N | - | Y | Trigger manager - query too long |
| 601 | Y | - | Y | "URL not found" error should send a 404 HTTP response |
| 602 | Y | - | Y | Email receipts not sent if a blank email address is entered |
Bug #597 (Memory issue) was submitted by Karen but was marked as not being a bug because it cannot be fixed. The bug report indicates that when an asset has many children (4994) children, expanding the asset in the asset map will cause a PHP error because the script runs out of memory (16M in this case). A new feature where the asset map can show only some of the children for an asset will be required to overcome this problem.
| Bug ID | Description |
| 596 | Don't use a - as a word break when indexing |
| Bug ID | Stable | Beta | Dev | Description |
| 352 | Y | - | Y | Some people can't login using Firefox |
| 594 | Y | - | Y | Using an asset builder to create a calendar event returns error |
| 600 | N | - | Y | Trigger manager - query too long |
| 602 | Y | - | Y | Email receipts not sent if a blank email address is entered |
There are currently no comments for this newsletter.