What is on this web site?
This is a site provided by Multizone Limited to collect technology demonstrations, thoughts and notes. It isn't full of fancy graphics or smoke and mirrors. It is ad supported. Multizone build beautiful mobile apps which benefit you or your organisation by extending your products and services, delivering effective communication, providing engagement with your stakeholders and giving your customers an opportunity to recommend you or your products and services. All while demonstrating technology leadership!
Here you'll find opinion, information and demo's - particularly about macOS, Ubuntu, a little bit of Windows, Joomla, mobile devices and apps, their development in Flutter and product management. This site serves no purpose unless you are interested in those things. Please read the terms. Especially about it being provided "AS IS, WITHOUT WARRANTY OF ANY KIND"
Updated to Joomla 5
We’re celebrating two years of hard work by Joomla volunteers, who had the vision to produce a new major version every two years and have delivered, for everyone. Joomla 5 is FAST! And it has a host of enhancements, while maintaining compatibility with Joomla 4's default theme 'Cassiopeia' which we have customised for this site. Watch the Joomla 5 video, and go to the Joomla 5 landing page to find out more.
Dark Mode in Administrator: Joomla 5 boasts a more refined dark mode, not just for users but also for administrators.
Web Assets and Caching: Many improvements to the web asset caching
Schema.org Integration: Automatic activation of Schema.org data for organisation and site names enhances search engine optimisation.
Code Optimisation: Speed advancements are noticed due to automatic source code optimisation through the phpcs fixer.
PHP & Bootstrap Updates: Improved compatibility with PHP 8+ and an update to Bootstrap 5.3.2 ensures that the platform remains contemporary.
User Interface: Enhancements in dark mode for the Atum administrator template and the new Joomla modal window for select buttons promise a smoother user experience.
Tools & Plugins: The TinyMCE editor gets an update to 6.7 with added image alignment features. Several scheduled tasks have been moved to scheduler plugins, enhancing system performance.
Media Management: AVIF support in the media manager and the ability to exclude archived content from smart search indexing improve media handling capabilities.
Menu sorting: Allowing you to sort the menu in the way you want it.
Enhanced Security: Events have been migrated to their classes, and the removal of no longer functional Recaptcha plugins boosts security.
Modern Technologies: Internal code restructuring focuses on utilising more modern APIs. There's added JS Import map support for Web Asset Manager and deprecated fixes for php 8.2.
Extensions & Compatibility: Joomla 5 introduces Fontawesome 6.4, Codemirror 6, and has updated its Webauthn Library. Notably, Joomla now requires PHP 8.1, MySQL 8.0.13+, MariaDB 10.4+, and PostgreSQL 12+ for optimal performance.
Cleaner Code Base: Joomla 5 places a strong emphasis on code cleanliness. The transition from older APIs, removal of es5 support, and other heavily coded cleanups ensure the CMS runs efficiently.
Joomla 5 encapsulates modern requirements for a CMS, promising its users a combination of speed, security, and an intuitive user experience.
This site was originally based on Joomla! 4. Look at this screenshot in 640x480 just for old times sake. No changes to the site were required in order to upgrade to Joomla 5.
This site is written for Joomla! 5.0. Joomla 5.0 uses Bootstrap 5.0, the most popular open source UI framework in the world. It also uses Prism, a lightweight, extensible syntax highlighter, built with modern web standards in mind to make code listings easy to see.
If the text is inside the kbd tag it is an indication that it is a command line for the terminal. If the text
is inside the code tag it is an indication that it is a code term.
Bigger sections of code, like this minimal main.dart source code for the project are wrapped in code tags with a class of language-dart like this:
// // Copyright 2021 Multizone Ltd. All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, // are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following // disclaimer in the documentation and/or other materials provided // with the distribution. // * Neither the name of Multizone Ltd. nor the names of its // contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR // ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import 'package:flutter/material.dart'; import 'app.dart'; void main() => runApp(App());
Licenses become important if you publish your work, because they give permission, state limitations, warranty and liability, and attach conditions. The chief condition here is to display the license in your work.
If you encounter licenses in the sample code you use, you should leave them in place. There is also a widget for Flutter to display licenses for all the plugins and widgets used in your app. In a corporate setting you may need to further review the licenses used in your project with your legal department.
Creative Commons is an international non-profit organisation which has released several copyright licenses, known as Creative Commons licenses, free of charge to the public. You can use anything you find here, just don't remove the attribution to this site or use my company to promote derived products without written consent. I mean, why would you? You're not me.
Permissive license and copyright — BSD 3-Clause "New" or "Revised" License
Original code for mobile apps published on ezone.co.uk by Angus Fox, Multizone Limited is licensed using the same license as the one used by "The Flutter Authors". This License, the BSD 3-Clause "New" or "Revised" License (bsd-3-clause) is a permissive license with a clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
Free software — GNU General Public License v2.0 or later
Original code for Joomla! published on ezone.co.uk by Angus Fox, Multizone Limited is licensed using the same license as the one used by Joomla!. This License, the GNU General Public License Version 2 or later (gpl-2.0) is the most widely used free software license and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same license.
A few words about copyright
Copyright applies by default to creative work and this is why licenses are needed. This is explained well by the team at GitHub and the whole article is well worth reading.
The Legal Side of Open Source
Everything you've ever wondered about the legal side of open source, and a few things you didn't.
"Open source is an unusual circumstance, however, because the author expects that others will use, modify, and share the work. But because the legal default is still exclusive copyright, you need a license that explicitly states these permissions. If you don’t apply an open source license, everybody who contributes to your project also becomes an exclusive copyright holder of their work. That means nobody can use, copy, distribute, or modify their contributions – and that “nobody” includes you. Finally, your project may have dependencies with license requirements that you weren’t aware of. Your project’s community, or your employer’s policies, may also require your project to use specific open source licenses."