A general update

Hi all,

It's been a while since we put out an update, so I thought I'd write briefly about what's been going on recently.

Development

Here are a few items completed for v11 in recent months:
  • Our new SVG theme image set has been incorporated. Around 650 original SVG images are now bundled included over 520 icons which you can re-use on your own web designs at any size (due to SVG being a vector image format). There's still work to do here to make things look clean, which ties into other work we are doing on updating the default theme.
  • Improvement to our new responsive layout, allowing the drop-down menu to morph into a hamburger menu on mobile without duplicating any HTML markup.
  • Google ReCAPTCHA. Users should particularly enjoy the 'invisible CAPTCHA'.
  • Renamed some confusingly named options ("Edit while fixing past recurrences", "Hide posts", "Hide awardee", "Importance Modulus"). The 'Hide' ones are flipped so that they are now 'Show'.
  • Removed some legacy technologies (explicit Flash, QuickTime, and RealPlayer support). It's important we keep the product as slim as possible; when we can throw out stuff no longer needed that's a win. These technologies have all been replaced by "HTML5" in some way and are very dead at this point.
  • Continued improvements to our coding standards documentation. This is very important for us to broaden our developer pool in the future.
  • Allow disabling manual URL inputs on things like gallery image forms, to simplify things for webmasters (so you just have an upload field instead). This works on a per-form basis via hidden config options.
  • Ability to delete old imported addon TARs.
  • Permission checks on blocks are now configurable, so you can have blocks that link to content where the user has no access, inviting them to join the site to get that access.
  • The Admin Zone dashboard has been greatly simplified. Most of the default links are moved into the appropriate tutorials, leaving only 2 by default. All the blocks have simple on/off config options to determine whether they are shown, and by default we're only showing around half of them. The staff checklist has been trimmed down quite a bit using a few different tricks, such as moving certain things over to the Health Check system instead.
  • Improved URL monikers by removing stop words (i.e. if your content title contains a word like 'the' then the auto-generated URL moniker won't contain that common word).
  • Added inline link to edit a forum grouping.

Improvements to Commandr:
  • New database search and replace functionality.
  • New filesystem search functionality, with result TARing support.
  • Ability to run Linux shell commands more easily.

Very technical ones:
  • Further JavaScript improvements, including replacing any synchronous server requests with asynchronous using JavaScript promises. This improves responsiveness and also future-proofs us (because browser's have deprecated synchronous calls).
  • Added APCu persistent cache support.
  • Allow rebuilding the catalogue tree cache.

General direction

Version 11 is a big project. I think previously I thought (and said) it would be a quick release mainly focusing on improved themeing tools and coding standards improvements. However, as we've got deeper into things, I think it is clear users want a big overhaul in themeing, but don't want us to keep breaking themeing regularly. So we want to get as much as possible into this release as possible. I also have quite a long list of improvements I want to make, mainly focusing around perfecting the quality of existing features: making things as robust, simple, maintainable, and seamless, as possible.

Salman is mostly now responsible for theme improvements (after doing an excellent job completing our JavaScript overhaul), while I work on the other areas.

Sorry, strictly no release dates. I wish we could have regular budgets and hours, but the reality is development is juggled with commercial work and v10 maintenance, neither of which can be predicted – and often the commercial work is what leads to new feature development anyway. I always advise to plan on what's already out (with a set of goals aligned to available budget, lol). I suspect v11 will still take a while still, but it'll get done (we wouldn't have gotten to 10 without delivering :) ).

I did mention we could implement an achievements system in live chats. However on reflection I think this would be a distraction until at least v11 is finished. There are too many important areas I need to put my focus into. Just as a rough yardstick, I think probably people would rather have drag and drop reordering during catalogue field and menu editing, than an achievements system (not that the drag and drop stuff is necessarily planned for v11, that's just an example). I still really love the idea of an achievements system though, I think it would be really fun :) .

Testing

Over the last few months over 50 automated tests have been added to our test set.

This has resulted in quite a few bug fixes in v10, and has helped reduce the number of bugs on the v11 branch (problems unexpectedly come up when one makes big sweeping code changes).

The main objectives of the automated testing are:
  1. Testing what isn't normally regularly tested and very prone to breakage, with a particular view on being able to reduce the amount we need to reference on our maintenance status sheet in v11.
  2. Generally keeping Composr development nimble. A lot of tests enforce our coding standards, so that new developers don't unwittingly break many subtle things that no developer could realistically internalise without years of experience.

Testing is an important investment in the long-term future of Composr.

My personal situation

I am still flitting between the UK and US (after getting married to my American wife last year), pending paperwork going through for me to move permanently to the US. However this is progressing. So hopefully in a couple of months I will be able to settle down to a more stable routine.

I still have a cough from getting a really bad case of flu in early January, although it is slowly recovering. Once my voice is perfect again I hope to re-start doing regular live chats, although it'll be a different format because I think the well of general conversation topics has run dry for now. It'll likely even be live programming or live v11 testing.
However, note the point about me still being somewhat in chaos due to my personal situation, so we'll see ;-).

Special thanks

I would like to give special thanks to the following members for being particularly helpful recently:
  • jacobgkau – for doing most of the work for the 8 multi-hour live chats we did
  • {{KingBast}} – for being incredibly helpful in bug reporting
  • bobmiers – also for being incredibly helpful in bug reporting and attending all the live chats
  • Jason Verhagen – for giving excellent detailed support to other members

Composr would not be the same without any of you :wub: .
Edited

← Previous Article

Important issue in PHP 5.1/5.2

Next Article →

Announcing Composr 9000