covers versions 3.4.1 stable, 3.5.0 development
A bug fix release of MySource Matrix has now been released. Version 3.4.1 fixes a number of core bugs. All clients on 3.4.0 should be upgraded to 3.4.1 if they are experiencing any bugs. This upgrade is not a complicated process.
Several database schema changes have been made this week to prepare MySource Matrix for Oracle support. This has resulted in a more complicated than usual upgrade procedure. There are a number of queries that must be run to upgrade development versions and they must be run in the correct order. Please see the Upgrading section of this newsletter for more information.
The Broken Links Report has now been renamed to Links Report as it lists all links found rather than just broken links. There are special instructions in this weeks Upgrading section for 3.5.0 development systems.
Added to: 3.5.0 development
A number of additional changes have been made to the MySource Matrix database schema and source code to allow MySource Matrix to run on an Oracle database. MySource Matrix can be installed and run on Oracle 9i but has not undergone thorough testing. Oracle support should be considered preliminary but one development team will be doing all new development on an Oracle database instead of PostgreSQL.
Added to: 3.5.0 development
The recently added log manager (in the system management folder) now has an interface that shows you a list of log files and allows you to view them in a human readable format. You are able to start viewing the last 10 entires from the log file and then have the list automatically refresh every 30 seconds to show you the newest 10 entries.
Added to: 3.5.0 development
A new concept called Paint Layouts has been added to MySource Matrix. Paint layouts are like designs for your content. You can crate a paint layout and customise how individual types of assets should look. For example, a news asset might be printed a certain way by default, but a paint layout could be created so you can define your own way it is printed. Keywords are used to place attributes and metadata values of the asset on the screen.
Added to: 3.5.0 development
The custom form has had a fairly large code review, which has lead to some parts being rewritten and others tested and modified. While most of the changes are behind the scenes, some functionality has been added or modified.
Previously, a user could choose the number of new sections to create. These were then named automatically (eg. Section 1, Section 2, etc). Now users are now able to enter the name of the sections they want to add and the number of section is no longer limited to 10 at a time.
Form submissions on the submission log screen are now printed on-screen in order of their submission time, most recent at the top of the table for easier searching.
Form rules are now printed in a different way. Each is now printed as a sub-section on screen instead of inside a table as before. This is less compact than the previous format but allows for further expansion of form rules and more complicated rules in the future. It also greatly lessens the coupling between the form questions and rules when printing them out.
Form rules Value Begins With, Value Ends With, Value Contains, Value Found In and Regular Expression now have a case sensitive option (checked by default to emulate the rule as it was previously). Unchecking the box will do a case-insensitive match on the submitted value.
To be added to : 3.5.0
Estimated start date: already in development
Estimated end date : 11th Apr 2005
To be added to : 3.5.0
Estimated start date: already in development
Estimated end date : 13th Apr 2005
Stage 2 of the backend translation project will see an overhaul to the error system. Error messages will now have error codes and will be able to be translated. Additional documentation can also be written and translated to help users who receive errors. Once an error is generated, a user could take the error code and consult some documentation that lets them know what has happened and how to fix it.
To be added to : 3.5.0 development
Estimated start date: 14th Apr 2005
Estimated end date : 20th Apr 2005
Stage 3 of the backend translation project will involve the translation of internal messages (eg. workflow notifications).
To be added to : 3.5.0 development
Estimated start date: 21st Apr 2005
Estimated end date : 29th Apr 2005
Stage 4 of the backend translation project will complete the project by translating all remaining text strings within the administration interface.
To be added to : 3.5.0 development
Estimated start date: 11th Apr 2005
Estimated end date : 15th Apr 2005
The listing engine will soon be able to sort it's list of assets by attribute, and will allow for a sort drop-down to be displayed to the user on the frontend to allow them to choose how to sort the list. An editor of the page will be able to select which sort options will be available from the frontend and what the sort options will be named.
Run step_02.php: yes Run step_03.php: yes Run step_04.php: yes
Additional queries:
ALTER TABLE sq_trig_hash ALTER COLUMN triggerid DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN asset_type DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN asset_type DROP NOT NULL; UPDATE sq_trig_hash SET asset_type = NULL WHERE asset_type = ''; ALTER TABLE sq_trig_hash ALTER COLUMN treeid DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN treeid DROP NOT NULL; UPDATE sq_trig_hash SET treeid = NULL WHERE treeid = ''; ALTER TABLE sq_trig_hash ALTER COLUMN tree_propagate DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN tree_propagate DROP NOT NULL; UPDATE sq_trig_hash SET tree_propagate = NULL WHERE tree_propagate = ''; ALTER TABLE sq_trig_hash ALTER COLUMN parent_type DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN parent_type DROP NOT NULL; UPDATE sq_trig_hash SET parent_type = NULL WHERE parent_type = ''; ALTER TABLE sq_trig_hash ALTER COLUMN child_type DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN child_type DROP NOT NULL; UPDATE sq_trig_hash SET child_type = NULL WHERE child_type = ''; ALTER TABLE sq_trig_hash ALTER COLUMN event DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN event DROP NOT NULL; UPDATE sq_trig_hash SET event = NULL WHERE event = ''; ALTER TABLE sq_trig_hash ALTER COLUMN assetid DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN assetid DROP NOT NULL; UPDATE sq_trig_hash SET assetid = NULL WHERE assetid = ''; ALTER TABLE sq_trig_hash ALTER COLUMN parentid DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN parentid DROP NOT NULL; UPDATE sq_trig_hash SET parentid = NULL WHERE parentid = ''; ALTER TABLE sq_trig_hash ALTER COLUMN childid DROP DEFAULT; ALTER TABLE sq_trig_hash ALTER COLUMN childid DROP NOT NULL; UPDATE sq_trig_hash SET childid = NULL WHERE childid = ''; This is where you are now supposed to run step_03.php BEGIN; UPDATE pg_trigger SET tgenabled = 'f' WHERE tgname LIKE 'sq\\\\_%'; ALTER TABLE sq_ast ADD COLUMN temp SMALLINT; UPDATE sq_ast SET temp = status; ALTER TABLE sq_ast DROP COLUMN status; ALTER TABLE sq_ast RENAME temp TO status; ALTER TABLE sq_ast ALTER COLUMN status SET NOT NULL; ALTER TABLE sq_ast_attr ADD COLUMN temp VARCHAR(100); UPDATE sq_ast_attr SET temp = name; ALTER TABLE sq_ast_attr DROP COLUMN name; ALTER TABLE sq_ast_attr RENAME temp TO name; ALTER TABLE sq_ast_attr ALTER COLUMN name SET NOT NULL; ALTER TABLE sq_ast_attr ADD COLUMN temp VARCHAR(50); UPDATE sq_ast_attr SET temp = type; ALTER TABLE sq_ast_attr DROP COLUMN type; ALTER TABLE sq_ast_attr RENAME temp TO type; ALTER TABLE sq_ast_attr ALTER COLUMN type SET NOT NULL; ALTER TABLE sq_ast_attr ADD COLUMN temp VARCHAR(255); UPDATE sq_ast_attr SET temp = description; ALTER TABLE sq_ast_attr DROP COLUMN description; ALTER TABLE sq_ast_attr RENAME temp TO description; ALTER TABLE sq_ast_edit_access ADD COLUMN temp VARCHAR(100); UPDATE sq_ast_edit_access SET temp = type_code; ALTER TABLE sq_ast_edit_access DROP COLUMN type_code; ALTER TABLE sq_ast_edit_access RENAME temp TO type_code; ALTER TABLE sq_ast_edit_access ALTER COLUMN type_code SET NOT NULL; ALTER TABLE sq_ast_lnk_tree ADD COLUMN temp VARCHAR(2000); UPDATE sq_ast_lnk_tree SET temp = treeid; ALTER TABLE sq_ast_lnk_tree DROP COLUMN treeid; ALTER TABLE sq_ast_lnk_tree RENAME temp TO treeid; ALTER TABLE sq_ast_lnk_tree ALTER COLUMN treeid SET NOT NULL; ALTER TABLE sq_ast_lookup ADD COLUMN temp VARCHAR(500); UPDATE sq_ast_lookup SET temp = url; ALTER TABLE sq_ast_lookup DROP COLUMN url; ALTER TABLE sq_ast_lookup RENAME temp TO url; ALTER TABLE sq_ast_lookup ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_ast_lookup ADD COLUMN temp SMALLINT; UPDATE sq_ast_lookup SET temp = root_urlid; ALTER TABLE sq_ast_lookup DROP COLUMN root_urlid; ALTER TABLE sq_ast_lookup RENAME temp TO root_urlid; ALTER TABLE sq_ast_lookup ALTER COLUMN root_urlid SET NOT NULL; ALTER TABLE sq_ast_lookup_remap ADD COLUMN temp VARCHAR(500); UPDATE sq_ast_lookup_remap SET temp = url; ALTER TABLE sq_ast_lookup_remap DROP COLUMN url; ALTER TABLE sq_ast_lookup_remap RENAME temp TO url; ALTER TABLE sq_ast_lookup_remap ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_ast_lookup_remap ADD COLUMN temp VARCHAR(500); UPDATE sq_ast_lookup_remap SET temp = remap_url; ALTER TABLE sq_ast_lookup_remap DROP COLUMN remap_url; ALTER TABLE sq_ast_lookup_remap RENAME temp TO remap_url; ALTER TABLE sq_ast_lookup_remap ALTER COLUMN remap_url SET NOT NULL; ALTER TABLE sq_ast_lookup_value ADD COLUMN temp VARCHAR(500); UPDATE sq_ast_lookup_value SET temp = url; ALTER TABLE sq_ast_lookup_value DROP COLUMN url; ALTER TABLE sq_ast_lookup_value RENAME temp TO url; ALTER TABLE sq_ast_lookup_value ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_ast_lookup_value ADD COLUMN temp VARCHAR(50); UPDATE sq_ast_lookup_value SET temp = name; ALTER TABLE sq_ast_lookup_value DROP COLUMN name; ALTER TABLE sq_ast_lookup_value RENAME temp TO name; ALTER TABLE sq_ast_lookup_value ALTER COLUMN name SET NOT NULL; ALTER TABLE sq_ast_path ADD COLUMN temp SMALLINT; UPDATE sq_ast_path SET temp = sort_order; ALTER TABLE sq_ast_path DROP COLUMN sort_order; ALTER TABLE sq_ast_path RENAME temp TO sort_order; ALTER TABLE sq_ast_path ALTER COLUMN sort_order SET NOT NULL; ALTER TABLE sq_ast_perm ADD COLUMN temp SMALLINT; UPDATE sq_ast_perm SET temp = permission; ALTER TABLE sq_ast_perm DROP COLUMN permission; ALTER TABLE sq_ast_perm RENAME temp TO permission; ALTER TABLE sq_ast_perm ALTER COLUMN permission SET NOT NULL; ALTER TABLE sq_ast_typ ADD COLUMN temp VARCHAR(20); UPDATE sq_ast_typ SET temp = version; ALTER TABLE sq_ast_typ DROP COLUMN version; ALTER TABLE sq_ast_typ RENAME temp TO version; ALTER TABLE sq_ast_typ ALTER COLUMN version SET NOT NULL; ALTER TABLE sq_ast_typ ADD COLUMN temp SMALLINT; UPDATE sq_ast_typ SET temp = lvl; ALTER TABLE sq_ast_typ DROP COLUMN lvl; ALTER TABLE sq_ast_typ RENAME temp TO lvl; ALTER TABLE sq_ast_typ ALTER COLUMN lvl SET NOT NULL; ALTER TABLE sq_ast_typ_inhd ADD COLUMN temp SMALLINT; UPDATE sq_ast_typ_inhd SET temp = inhd_type_code_lvl; ALTER TABLE sq_ast_typ_inhd DROP COLUMN inhd_type_code_lvl; ALTER TABLE sq_ast_typ_inhd RENAME temp TO inhd_type_code_lvl; ALTER TABLE sq_ast_typ_inhd ALTER COLUMN inhd_type_code_lvl SET NOT NULL; ALTER TABLE sq_ast_typ_inhd ADD COLUMN temp SMALLINT; UPDATE sq_ast_typ_inhd SET temp = type_code_lvl; ALTER TABLE sq_ast_typ_inhd DROP COLUMN type_code_lvl; ALTER TABLE sq_ast_typ_inhd RENAME temp TO type_code_lvl; ALTER TABLE sq_ast_typ_inhd ALTER COLUMN type_code_lvl SET NOT NULL; ALTER TABLE sq_ast_url ADD COLUMN temp VARCHAR(15); UPDATE sq_ast_url SET temp = assetid; ALTER TABLE sq_ast_url DROP COLUMN assetid; ALTER TABLE sq_ast_url RENAME temp TO assetid; ALTER TABLE sq_ast_url ALTER COLUMN assetid SET NOT NULL; ALTER TABLE sq_ast_url ADD COLUMN temp VARCHAR(500); UPDATE sq_ast_url SET temp = url; ALTER TABLE sq_ast_url DROP COLUMN url; ALTER TABLE sq_ast_url RENAME temp TO url; ALTER TABLE sq_ast_url ALTER COLUMN url SET NOT NULL; ALTER TABLE sq_ast_wflow ADD COLUMN temp VARCHAR(15); UPDATE sq_ast_wflow SET temp = assetid; ALTER TABLE sq_ast_wflow DROP COLUMN assetid; ALTER TABLE sq_ast_wflow RENAME temp TO assetid; ALTER TABLE sq_ast_wflow ALTER COLUMN assetid SET NOT NULL; ALTER TABLE sq_hipo_job ADD COLUMN temp char(1); UPDATE sq_hipo_job SET temp = running; ALTER TABLE sq_hipo_job DROP COLUMN running; ALTER TABLE sq_hipo_job RENAME temp TO running; ALTER TABLE sq_hipo_job ALTER COLUMN running SET NOT NULL; ALTER TABLE sq_internal_msg ADD COLUMN temp VARCHAR(100); UPDATE sq_internal_msg SET temp = type; ALTER TABLE sq_internal_msg DROP COLUMN type; ALTER TABLE sq_internal_msg RENAME temp TO type; ALTER TABLE sq_internal_msg ALTER COLUMN type SET NOT NULL; ALTER TABLE sq_internal_msg ADD COLUMN temp SMALLINT; UPDATE sq_internal_msg SET temp = priority; ALTER TABLE sq_internal_msg DROP COLUMN priority; ALTER TABLE sq_internal_msg RENAME temp TO priority; ALTER TABLE sq_internal_msg ALTER COLUMN priority SET NOT NULL; ALTER TABLE sq_pkg ADD COLUMN temp VARCHAR(20); UPDATE sq_pkg SET temp = version; ALTER TABLE sq_pkg DROP COLUMN version; ALTER TABLE sq_pkg RENAME temp TO version; ALTER TABLE sq_pkg ALTER COLUMN version SET NOT NULL; ALTER TABLE sq_sch_idx_wgt_dflt ADD COLUMN temp VARCHAR(100); UPDATE sq_sch_idx_wgt_dflt SET temp = type_code; ALTER TABLE sq_sch_idx_wgt_dflt DROP COLUMN type_code; ALTER TABLE sq_sch_idx_wgt_dflt RENAME temp TO type_code; ALTER TABLE sq_sch_idx_wgt_dflt ALTER COLUMN type_code SET NOT NULL; ALTER TABLE sq_sch_idx_wgt_dflt ADD COLUMN temp VARCHAR(255); UPDATE sq_sch_idx_wgt_dflt SET temp = description; ALTER TABLE sq_sch_idx_wgt_dflt DROP COLUMN description; ALTER TABLE sq_sch_idx_wgt_dflt RENAME temp TO description; ALTER TABLE sq_sch_idx_wgt_dflt ADD COLUMN temp SMALLINT; UPDATE sq_sch_idx_wgt_dflt SET temp = weight; ALTER TABLE sq_sch_idx_wgt_dflt DROP COLUMN weight; ALTER TABLE sq_sch_idx_wgt_dflt RENAME temp TO weight; ALTER TABLE sq_sch_idx_wgt_dflt ALTER COLUMN weight SET NOT NULL; ALTER TABLE sq_trig_hash ADD COLUMN temp VARCHAR(2000); UPDATE sq_trig_hash SET temp = treeid; ALTER TABLE sq_trig_hash DROP COLUMN treeid; ALTER TABLE sq_trig_hash RENAME temp TO treeid; UPDATE pg_trigger SET tgenabled = 't' WHERE tgname LIKE 'sq\\\\_%'; COMMIT;
Additional comments: Run the following command from your MySource Matrix root directory if the
CMS package is installed: php scripts/dev/rename_type_code.php . report_broken_links report_links
Peform the schema upgrades for this week by first running the sq_trg_hash queries, then steps 2, 3 and 4 of the install and then executing the additional queries.
NOTE: step_02 may produce some errors but these are safe to ignore
| Bug ID | Stable | Beta | Dev | Description |
| 561 | Y | - | Y | LDAP fails to get groups based on the DN |
| 562 | Y | - | Y | Email format does not replace keywords in 'To' field |
| 565 | N | - | N | Search mulit-select doesn't work (not confirmed) |
| 566 | Y | - | N | Custom Form's bodycopies not showing keyword drop-down |
| 568 | N | - | N | Asset names contain unencoded HTML characters (not confirmed) |
Bug #559 (Changing options in custom form select lists) was submitted by KateN but has been marked as not being a bug. A bug was present in a beta version before the 3.4.0 release, but was fixed before release. This client (DPI) still had the beta version of the Option List form question.
Bug #567 (Mousing over edit icons freezes page) was submitted by Marcus but was marked as a duplicate of bug #521 (Tooltips stop editing in bodycopy if you hover too early). The bug report has been closed and is no longer active.
| Bug ID | Description |
| 558 | Purge Trash using SquizServer fails for >500'ish items |
| 560 | Metadata fields should have a display format |
| 563 | Default date fields to today's date |
| 564 | Control order of errors in custom forms |
| 569 | Custom Form select/radio options |
| Bug ID | Stable | Beta | Dev | Description |
| 196 | Y | - | Y | Uncustomising then recustomising design area in design cust causes lock error |
| 406 | Y | - | Y | Permissions should always cascade to dependant assets |
| 492 | Y | - | Y | Bookmarks show in Broken link report |
| 504 | Y | - | N | Cant replace live file assets |
| 532 | Y | - | Y | Force and tags in the editor |
| 542 | N | - | Y | Sort order problem with newly created assets |
| 551 | Y | - | Y | CSS comments stop WYSIWYG styles from being shown |
| 552 | N | - | Y | Image transparency not preserved when resizing |
| 561 | Y | - | Y | LDAP fails to get groups based on the DN |
| 562 | Y | - | Y | Email format does not replace keywords in 'To' field |
| 566 | Y | - | N | Custom Form's bodycopies not showing keyword drop-down |
There are currently no comments for this newsletter.