- PeterMoulding.com
- Author
- Trainer
- Speaker
- Business Coach
- How to write a How To book
- PHP Courses
- Speaking
- Web Architect
- Australia
- Books
- Authors
- Akkana Peck
- Alex Berenson
- Andrew Nugent
- Ben Sanders
- Brock Clarke
- Chris Simms
- David Mercer
- Dianna Mullet
- Don Winslow
- Dori Smith
- Harlan Coben
- Jack McDevitt
- James Wines
- Jerry Yudelson
- John Grisham
- Kevin Mullet
- L. E. Modesitt Jr.
- Laurell K. Hamilton
- Marshall Karp
- Martina Cole
- Michael Marshall Smith
- Michel Roux Jr
- Nadia Sawalha
- Philip Pullman
- Raymond Khoury
- Richard North Patterson
- Robert Masello
- Sally Roth
- Sarah Langan
- Stella Rimington
- Stephen Booth
- Stephen King
- Stephen Leather
- T.C. Boyle
- Tom Negrino
- Tony Hillerman
- Urban Waite
- Val McDermid
- Valerio Massimo Manfredi
- Beginning GIMP
- Beginning Visual C++
- Culturalism
- Fiction
- A Drink Before The War
- A Talent for War
- Bag of Bones
- Blood and Ice
- Burn
- Dark Lady
- Dead Line
- Eclipse
- Empress of Eternity
- Exley
- Flipping Out
- Just One Look
- Nightfall
- Pet Sematary
- Savage Moon
- Skinwalkers
- Starvation Lake
- The Fallen
- The Gardens of the Dead
- The Jump
- The Last Templar
- The Mermaids Singing
- The Midnight Mayor
- The Secret Soldier
- The Summons
- The Terror of Living
- The Testament
- The Tower
- Under the Dome
- Virus
- AJAX and PHP
- Aging with Grace
- Food books
- Green Architecture
- Life Is So Good
- SQL: The Complete Reference
- The Backyard Bird Lover's Ultimate How-to Guide
- The Garden Gurus
- Authors
- Sustainability
- -18 hours left to decide the future of Australia
- Campbells vegetable stock or Massel vegetable stock?
- Carbon Sequestration
- Carbon tax for Australia is a fraud
- Copenhagen will fail
- Cost of living in Australia
- Dick Smith jumps on the population bandwagon
- Dry Run: Preventing the Next Urban Water Crisis
- Energy Saving Lights
- Garlic
- How many people can live in Australia?
- Its obsolete, throw it out!
- Julia Gillard offers 9.9 billion dollars bribe to Rob Oakeshott
- Laundry detergent
- Petrol or Diesel?
- Reflective foil batts kill
- RoHS
- Sea level to rise 3mm due to climate change
- Solar power
- Spring again in Sydney
- Sustainable fuels
- The CRUD Tax is back
- The people who make building regulations do not own houses
- Water efficiency
- Which insulation is safer, foil or wool?
- Will Australia reduce greenhouse gas emissions?
- Technology
- Android or Blackberry or iPhone or a flip phone?
- Apple versus Google 2011
- Cameras
- Cars
- Colour
- Burgundy
- Colour Blindness
- Colour Names
- Dulux colours
- Pantone colours
- Safe Colours
- Seculine ProDisk Mini colour balance card
- What Causes Colour Blindness?
- Hardware
- Batteries for the Digital Age
- Cables
- Cases
- Computer reliability
- Computrace
- Disks
- Astone ISO Gear 481E
- Best SSD for your notebook computer
- Disk block size
- Hitachi disk HDS722020ALA330
- LaCie USB 2.0 250 GB mobile hard drive design by F.A. Porsche
- SMART disk
- Samsung 2 TB HD204UI quiet low power disk for mass storage
- Seagate and Samsung merge disk business
- Select the right disk for your RAID array
- USB disk speed
- Western Digital WD20EARX 2 GB SATA 3 disk
- How long should computer hardware last?
- Keyboards
- Mainframe
- Memory cards
- Monitors
- Netbooks, notebooks, tablets, and xPads
- Network Attached Storage
- OLED Displays
- PC's are a thing of the past
- Printers
- Quiet
- Samsung Galaxy S
- Speed
- Television
- Tools
- USB
- Worst computer movies
- Xserve is dead. What next?
- Your backup will not work
- Z68 motherboards
- iPad or Acer Aspire One?
- IQ
- LG Intello Washing Machine
- Lack of a challenge
- Networks
- 802.11n wireless networking
- D-Link DIR-655 wireless router
- D-Link DWA-160 Xtreme N dual band USB adapter
- D-Link DWA-556 Xtreme N PCI Express desktop adapter
- MIMO
- NBN spends another $12 billion of our tax money on nothing
- National Broadband Network
- Netgear wireless modem router DGND3300 with 300 Mbps 802.11n
- Refrigerator kills wireless broadband
- Small Wireless Network
- TP-LINK TL-SG10005D 5 port gigabit switch
- TP-Link TL-WR1043N wireless N gigabit router
- Telstra Pre-paid Mobile Wi-Fi
- Where are the router plus proxy server combinations?
- Open Source documentation
- Software
- 7-zip
- Accounting
- Asterisk
- Audacity
- Backup software
- Bloat only in Windows
- CAD
- CDex
- Disk imaging software for copying and backup
- Exact Audio Copy
- Filezilla
- Firefox
- Java
- LibreOffice or OpenOffice?
- Linux
- 1 in 5 servers will ship with Linux
- Android phones outsell iPhone
- Another Move to Linux
- CentOS 5.5 installation on SSD and RAID 5
- Debian
- Debian 5.0.5 AMD64 installation
- Debian 5.06 installation
- Fedora
- Fedora or Ubuntu?
- Gnome or KDE?
- K9copy
- Linux 2.6.38
- Linux Gnome login settings lost
- Linux Mint
- Linux RAID, a rant
- Linux Speed
- Linux Time
- Linux reliability as demonstrated by Ubuntu 10.10
- Linux reliability as demonstrated by Ubuntu 11.4
- Linux still a struggle in 2011
- Linux workstation disk RAID 1
- Linux, NT, Windows, and SETI
- Linux, three years of progress
- London Stock Exchange switches to Linux
- Mandrake Linux 9.2
- The partition is misaligned by 48128 bytes - warning from Linux RAID
- Ubuntu
- How to fix the scroll bars in Ubuntu 11.4 Gnome
- Kubuntu 10.10 alternate installation on desktop with RAID 1
- POWbuntu
- Ubuntu 10.10 after 6 months use
- Ubuntu 10.10 alternate installation
- Ubuntu 10.10 desktop RAID 1
- Ubuntu 10.10 desktop RAID 5
- Ubuntu 10.10 desktop install on a netbook
- Ubuntu 10.10 desktop installation
- Ubuntu 10.10 netbook install on a netbook
- Ubuntu 10.10 server AMD64
- Ubuntu 10.10 upgrade to version 11.4 beta 2
- Ubuntu 10.4
- Ubuntu 11.10
- Ubuntu 11.10 first upgrade
- Ubuntu 11.4 after one month use
- Ubuntu 12.04 beta1 desktop amd64
- Ubuntu One
- Ubuntu by Microsoft?
- Ubuntu desktop upgrade 10.4 to 10.10 failed because I did not check the media
- Ubuntu strikes again
- Upgrade Ubuntu to Linux Mint 12 LDXE for extra speed
- Yes, use Linux but not that distribution!
- Nero
- OpenOffice
- OpenOffice is now Apache Office
- Project management
- Scribus
- Software for Windows and Linux
- Text editors
- Time
- Todo applications
- Tomboy notes
- Top text editors
- Version control
- VideoLAN VLC media player
- Visio
- Webmin
- Webmin installation on CentOS for Web development
- Webmin installation on Ubuntu
- What is the most popular open source software today?
- Windows
- Another Windows person goes Linux
- BAD_POOL_CALLER
- Cygwin
- Microsoft Malicious Software Removal Tool cannot find a common virus
- One of the developers of Windows XP is criminally insane
- There are unused icons on your desktop
- W32time
- Which Windows version?
- Windows 7 Home Premium
- Windows XP Stop 0x0000007B during installation
- Windows XP is a disaster
- Windows processes
- XML
- Zip, bzip, gzip, or 7zip?
- configFree
- Technology Succession Planning
- VoIP
- Web Sites
- Drupal
- Do Drupal themes have to use the GPL?
- Drupal 7
- A better search facility for Drupal
- Drupal - performance or flexibility
- Drupal 7 Fields are hard to fix
- Drupal 7 new features
- Drupal 7 ships on January 5
- Drupal 7.14
- Drupal 7.4 hits PeterMoulding.com
- Drupal function sequence
- The evolution of a module
- Undefined index: headers in DefaultMailSystem->mail() (line 54 of /modules/system/system.mail.inc).
- Undefined index: to in DefaultMailSystem->mail() (line 83 of /modules/system/system.mail.inc).
- implode(): Invalid arguments passed in DefaultMailSystem->format() (line 23 of /modules/system/system.mail.inc).
- Drupal 8
- Drupal Code Load Cut
- Drupal How To
- Drupal Modules
- Backup and Migrate
- Browscap
- CKEditor with Drupal WYSIWYG
- Captcha
- Cel
- Colorbox
- Content Construction Kit
- Content type
- Devel module for Drupal
- Drupal Rules as an automation language
- Drupal Spam add-on module
- Form alter to node
- IMCE
- IMCE Wysiwyg bridge
- ImageAPI
- Jdog
- Lightbox2
- Module variable
- Node Gallery Access
- Node_Gallery
- Path
- Path redirect
- Pathauto
- Pet
- Search
- Service links
- Session Variable
- Statistics
- Taxonomy
- Token
- Token ex
- Transliteration
- Trigger
- Watch
- Other modules
- Drupal Training
- Drupal access controls need a major rewrite
- Drupal coding tricks
- Drupal performance
- Drupal themes for the future
- Drupal.org colours
- Import existing data into Drupal
- Multiple Web sites made easy using Drupal multisite and the right start
- drupal_lookup_path()
- Adobe PDF
- Apache
- Apache Mahout
- Audi.com
- Bleet
- CSS Strikes Again
- CSS or xCSS
- Can you believe Facebook or email?
- Content Management Systems
- Databases
- Facebook scam
- Font
- Fonts
- HTML
- Install Apache, MySQL, and PHP 5 in Ubuntu 11.4 using the Ubuntu Software Centre
- Language Codes
- Marketing
- Memcache
- Nginx
- Open source development hits another roadblock
- Oscars
- PHP
- SPDY
- Search software
- Techoni.com.au
- Theme themes
- Things to hate on Web sites
- U.S. Patent No. 6,985,875
- Virtual Private Server
- Visible Improvement
- Web 4.0
- Web browser usage
- Web browsers
- Web site development
- Bluefish
- Crying over spilt code
- Eclipse and PHP
- Getting a Git client, a story of ancient technology and pain
- HTTrack
- MVC
- Netbeans
- PHP or ..., CakePHP/Symfony/ZF versus ...
- Programming
- Superfish
- Web browser emulators for testing your Web site
- Web development frameworks
- Web site books
- Web site development on your own computer
- Webmin or phpMyAdmin or cPanel for creating databases?
- aiki framework
- jQuery
- Views development - Learn Fields first
- Views development - Learn Actions and Rules
- jQuery .each()
- jQuery .has()
- jQuery .is()
- jQuery and Firefox Firebug
- jQuery children
- jQuery for people not using Drupal - Installation and getting started
- jQuery hover
- jQuery hover de-duplication example
- jQuery or CSS?
- jQuery performance
- jQuery tests
- Web site hosting
- Westpac Web site still broken after two years and ten months
- Wordpress wins another CMS survey
- Drupal
Mysource Matrix
Submitted by Peter on Sat, 2007-09-22 00:00
Content Management Systems make Web site development, updating, and management easier when your Web site grows beyond a few pages. Oracle Portal and Vignette are examples of CMSs you might buy if you have too much money and only a short time to spend it all. Mysource Matrix from Squiz.net/ is a lower cost option than the expensive products and has a basic free version to entice you toward Matrix.
Based on Matrix 3.16.0 from September 2007 and prior experience. There seems to be very little development of the free version.
Mysource Matrix is a direct competitor to Oracle Portal with a similar approach in many areas. Matrix is way ahead of Oracle in critical areas but behind general CMS development in other important areas. Matrix is a good choice if you want to pay for support and Oracle Portal or Vignette is the alternative. Drupal and Joomla are better choices where you are prepared to develop a first level support person within your organisation.
Matrix is the current version of Mysource. The base Matrix module is free and is called open source. You can implement the base module for just the cost of your time. Drupal and Joomla are the main contenders with both providing a better range of choices for free because all Drupal modules and many Joomla modules are free.
Matrix has optional modules that cost money and many sites will need at least one of the optional modules, which throws the cost up. When you try to buy one optional module, you have to take out a service contract on the whole product, making some prospective customers throw out the whole CMS. None of the Drupal optional modules cost anything. Any service contract on Drupal is completely your own choice. Joomla has a mixture of free modules and modules that cost money but you do not have to pay for service on the free Joomla modules when you buy a commercial Joomla module.
Before you decide between Matrix, Drupal, and Joomla, work out the exact mix of modules you will need now and the next few years then compare the cost.
Service
Some people want service with their software and Matrix offers a service option. The Squiz licence for Matrix effectively stops you shopping around for support as the licence stops other service organisations from making good money from Matrix. The Squiz service contract, their SSV, has to cover everything including the free part. An SSV is not cheap. Squiz also sell hosting and a lot of other things in the one package which might be attractive to some organisations but stops them shopping around for service.
When you choose Drupal or Joomla, you can choose from several support organisations offering commercial service contracts with or without full hosting of the Web site. Matrix offers all or nothing on service while the other companies offer lots of options. With Drupal and Joomla you can buy a fully supported installation and setup service plus support while you develop your own expertise. The Drupal and Joomla support contracts can fade out as your own staff take over. The Squiz SSV, typically three years, reduces the opportunity to develop your own staff and at the end of three years, you are faced with extending the contract or running into real problems.
You might be able to reduce the level of cover each three years but I doubt many companies will achieve significant change.
Software Development
Matrix is version three of Mysource and has severe problems that give Matrix a limited life. Matrix is limited to PHP 4 and PHP 4 is old stuff about to fade into history with the arrival of PHP 6. Mysource should be using PHP 5 today, not PHP 4.
There are many people helping convert most open source projects from PHP 4 to 5 or 5 to 6 but the restrictive licence for Matrix means Matrix is not open and the community will not contribute to Matrix until Squiz change the licence.
Squiz recently demonstrated version 4 of Mysource at a conference but there is no detailed announcement on their Web site. At a minimum, the update would have to replace all Java with an AJAX/PHP combination, replace DB with MDB2, PHP 4 with PHP 5, and support MySQL along side the existing Oracle and PostgreSQL support.
Most of those changes could be made today on Matrix without the need for a new release. If Matrix was issued under the normal open source licence, the public would dive in and help. Squiz are stuck with the task because of their licence and appear to be struggling to keep up.
PHP
Matrix is written for PHP 4 and a future update is promised to work with PHP version 5. The announcement from www.squizz.net:
Squiz have committed to making the 3.18 release of MySource Matrix, scheduled for release in January 2008, compatible PHP 5.1.
A quick look through Matrix 3.16.0 suggests the compatibility will be minimal as the current Matrix code already has problems that show they have not taken full advantage of PHP 4. Some of the code looks like it is written by people who know Javascript and only recently moved to PHP.
PHP has excellent error reporting but Squiz intercept PHP's error reporting and produce inaccurate substitutes. When you have script aa calling bb and bb calling cc, an error in cc is often reported as occurring in bb.
Drupal was compatible with PHP 5 a long time ago and already has better modularity within the code. Everything about Drupal is better from a code perspective. Matrix still has a large slab of administration interface stuck back in Java and there is no date announced to replace the Java with something modern.
Typo3 is an open source CMS that has, from what I can see, all the features of Mysource Matrix and a larger choice of modules but is already working with PHP 5 and about to switch to PHP 6. Typo3 already has published plans and development under way for MVC and other enhancements. The important difference between Typo3 and Mysource is the publication and public discussion of Typo3's roadmap for the future. The same happens with Drupal and Joomla. It is not happening with Mysource.
Java
A big chunk of the administration area is written in Java which is useless in a PHP based environment. Even if Matrix is open source, most small sites could not afford a Java programmer just to make minor adjustments to the administration interface.
The Java component could easily be replaced with an AJAX based Web interface written in the same PHP as the rest of Matrix. At a small site, one Web developer could work on every part of the code. Future development could race ahead with help from the millions of PHP programmers already developing Web sites.
Ajax does require Javascript but there are prewritten Javascript libraries that make Ajax easy. Most Web sites have some Javascript and most Web developers know a little Javascript; enough to work with an Ajax library. Few Web developers know Java and, of those who do know some Java, few know enough to maintain the administration interface for Matrix.
Matrix has to reduce from Java&PHP&Javascript to PHP&Javascript.
PEAR
Matrix uses PEAR; which is both an advantage and a disadvantage. PEAR is a library of prewritten PHP code and for years PEAR modules caused more problems then they cured. Today there are useful groupings of PEAR code but Matrix does not use the PEAR modules of most value.
There is a basic PEAR module named PEAR that provides error reporting. Matrix uses the PEAR error reporting and many of the error messages are useless or wrong or both. The built in native PHP error reporting is far more useful for developers. The PEAR error handling might be useful in a production system after you remove most errors by carefully testing your applications. For the initial development, save a lot of time, turn off the PEAR error handling, and let PHP tell you the truth about your errors.
PEAR provides several database abstraction layers including the useful and up to date MDB2. MDB2 is almost as good as the popular ADOdb. Unfortunately Matrix uses the obsolete PEAR DB module. DB is stuck in PHP 4 and does not do any of the nice things you get from ADOdb or MDB2.
I tried PEAR's PEAR and DB in PHP 5 with the combination producing endless errors. I am surprised that Squizz did not replace the DB module with something modern a long time ago.
MySQL
Many people want their Web sites hosted by an outside company, a Web hosting company or an Internet Service Provider, but many of those companies provide only MySQL. Matrix works with the expensive and difficult Oracle database, the free and reliable PostgreSQL database, but not the readily available MySQL. The base component of Matrix might be free and open source but it is not really open until it can run on MySQL.
MySQL support is easy if you use PostgreSQL but do not use the features that limit you to PostgreSQL. PostgreSQL does almost everything specified in the SQL99 standard while MySQL used to be limited to the main features of the SQL92 standard. MySQL did have some useful features that neither PostgreSQL nor Oracle had. Today MySQL has adopted all the important stuff out of SQL99, PostgreSQL and Oracle copied the extra features of MySQL, and there are database software layers that make the differences irrelevant.
It is easier for Web developers to talk their hosting companies into updating MySQL than it is to install PostgreSQL. Matrix could easily move from PEAR DB to PEAR MDB2 and open up development to the latest release of MySQL. Lots of open source developers could then start with the base Matrix and contribute extra modules to compete with the huge range offered by Drupal.
Assets
The best CMSs jump beyond page creation and give you a facility to create items of information that can then be assembled on a page. Matrix calls the items assets and stores each asset in a separate database row. When you plug in an extra module, the module may create a new type of asset.
Drupal calls the equivalent item a node. When you plug in an optional Drupal module, the module may create a new type of node or may add extra information to an existing node.
In Oracle Portal, you talk about portlets instead of modules and each portlet processes a type of information item. Oracle's Portal is oriented towards programs instead of information and the portlet structure reinforces that view by returning information already locked into a presentation format. Portlets enforce an approach that was considered bad when first introduced way back in the previous century and there is a long standing battle against CMS developers who make the same mistake as Oracle.
Drupal and Matrix offer more modern information presentation options and more flexible pre








