As mentioned earlier, this plugin was due for an update after I did an update to my Soft Delete plugin. I got around to finally pushing out an update last night, after pretty much spending a whole day bug testing & fixing, and finding even more bugs – I even managed to stumble on a security issue which I had not yet realised before (not that anyone would’ve probably noticed, as I bet no-one looks through my mess of code), so luckily, I patched that.
Though, as I somewhat expected, I did stuff it up, and this morning, woke up to find that my clever little pre-parser didn’t quite go a well as I thought it did. I fixed it up, though I did make a bit of a mess with it, having to release 2 versions. Well, now at v1.22, it seems stable enough, so I guess that’s over and done with.
As I haven’t written about this plugin here before, I’ll write some of my personal thoughts on it. This is probably my most complex plugin ever (ignoring stuff like my Syntax Highlighter, which is quite algorithmically complex). Currently at around 5,500 lines of code, this isn’t my biggest (MyPlaza has like >16,000) though I do code rather “compactly” and I’m a bit messy, and chuck stuff on fewer lines than what most other scripters would do. What makes this so complex, is the amount of integration with MyBB it does, and the amount of core changes it makes to the forum script. It has to do some rather elaborate hacks in many places to get desired behaviour. A script like MyPlaza, on the other hand, is much simpler – for one, it mostly adds functionality, rather than change functionality, which is what XThreads tries to do. However, the result is something I really like. You can implement a variety of things, from Thread Prefixes to Download Systems to Youtube Video Galleries (many thanks to RateU for the examples) – all without any PHP whatsoever. Furthermore, as this integrates tightly with MyBB, and in fact, uses many of its features, these systems will often inherit MyBB’s capabilities, such as permissions, ratings and comments, all without some coder having to explicitly implement them. And that’s not to mention possible integration with other plugins…
Anyway, back to the update, it pretty much adds everything people have asked for, as well as some random ideas that have popped up in my head. Now XThreads should have a solid base upon which customisations can be built with, as well as handling stuff like very big downloads much better than MyBB does.
So what else is there to do? I’ve got a long list of stuff that would be nice to implement, but I probably won’t implement many of them unless someone actually wants them. I think the biggest weakness of this plugin is it being targeted at more advanced users, or perhaps has a bit of a learning curve. The majority of the MyBB community aren’t terribly knowledgeable, or probably just can’t be bothered with doing things required to make this plugin work. So maybe something interesting would be a bit of a plugin API to allow third parties (or just the people actually contributing) to make simple modules which add-on functionality without the user having to do a lot of manual edits. The main thing would be some admin interface – take for example, a gallery – the module would do the necessary edits like in the gallery example, but also have an admin interface for adding gallery components. Or maybe, I’ll just fall back with a link to edit the gallery forum… But anyway, something as simple as this will be able to easily leverage the flexibility of XThreads and MyBB to make a powerful system, and perhaps add further specialisation, which has a strong potential to surpass the capability of any other gallery system out there for MyBB.
I’m glad I managed to finalise and push this out this weekend, before I start my second job. Managing two jobs might be a little taxing on the amount of free time I have, unfortunately. So this may be the last update in a while.