Our users have been remarkably patient waiting for v10, which has been taking a long time. I'm writing up this quick blog post because I worry people are going to think it is stuck in development hell, which isn't really the case.
Development has continued on, but it comes in spurts. The main thing causing slow development is that I can't delegate the remaining development core tasks easily to our other developers, as they require an intimate understanding of vast areas of ocPortal's internals. So it tends to be happening when I manage to claw away some free time to work on things myself.
v10 is a majorly architectural update and hence I want to use it as an opportunity to perfect the architecture, because we won't have an opportunity to do it again for a while.
Meanwhile, a lot of development is actually going on that isn't 'core' to the v10 roadmap, but will likely be included anyway. Particularly in the area of iOS and Android integrations (3 distinct things relating to iOS and Android are currently in development – which we'll announce at a later date, when things are closer to finished).
Also a lot of general bug fixing and tweaking behaviour happens on a continual basis.
This weekend I decided to take a bit of time to work on a few things. Here's a quick run-down of things that have happened in recent weeks…
- We've switched to the PSR-2 format for our code, and done many updates of our code quality checker tool, and related tools and processes. The source code is now a lot prettier, and it's going to stay pretty as we have automatic code formatting options in place for it. I understand this isn't very interesting, but for developers it's important that we're aligning our practices with the wider PHP community wherever possible. I got sick of training developers to apply our coding standards, it's better we switch to what is now the common standard, and ensure auto-formatting is an option.
- There's a new way of embedding Tempcode tags within CSS/HTML comments/attributes, so that these files may be natively edited in conventional tools without it making a mess.
- We've ripped out the ageing YUI, and moved over to a jQuery-enhanced HTML5-approach. jQuery is now first-class within ocPortal. We've also integrated select2 (for really nice drop-down lists). We've also dropped swfupload, and integrated plupload as core (after purchasing a redistribution license for it).
- Various features kindly sponsored by our users, such as the ability to mass-upload media in one go (images and videos) and have them display within a single lightbox navigation.
- "Kid gloves developer mode", which is now the default way add-on code runs. It's an innovative technique involving a number of automated filters and checks, means novice developers are less likely to inadvertently cause security holes.
- Reworked all password and session handling for future-proofing, as GPU-based password-cracking attacks are getting very powerful, especially for state-actors.
- Many improvements to our support ticket system.
Most of the above was pretty dry, but trust me everything is adding up to an awesome release. The stuff users will be most excited by was finished months/years ago, now it's a matter of getting remaining stuff sorted out.