Nao

  • Dadman with a boy
  • Posts: 16,063
Development, full speed ahead!
« on August 6th, 2012, 06:38 PM »Last edited on August 7th, 2012, 12:43 PM
Hey everyone! Long time no blog. Nope, none of us are dead... We just had 'things' happen in real life, which slowed everything down, sometimes to a halt. I made sure to have at least a couple of commits out every week, just so I never lose focus on what I'm planning to do, but it's true that I've had a tendency to focus on smaller details rather than the big picture.

The main point is that we've often gone through the same story: deciding to implement a minor feature that would be cool, and then realizing, weeks later, that we didn't realize that 'minor' doesn't mean 'quick to implement'... And it went on, and on. As a result, I myself became wary of starting the heavy-duty work on a number of 'heavy' features that I'd like to have in Wedge from day one[1], and I think if we keep it that way, we'll always have a good excuse not to release Wedge. Not that we're in a hurry to do it -- but we've got to keep it real, and part of it means we have to keep it real for users.

So, the reason why I'm so reluctant to go public is mainly the fact that it's hard to update the database once it's installed somewhere. If you don't tell people to use the upgrade script etc, then you're likely to get annoying support questions...
So here's what I'm suggesting: storing a $settings['db_version'] variable (or a variation if there's already an equivalent), and set it to the SVN revision number corresponding to the lastest database structure change. So, at runtime we can simply, as soon as we load $settings, check for the variable, and if it's lower than the current required database version, load an extra file that will automatically adjust the database structure. e.g. if the db_version is 1652, and user installs version 1815, Wedge will execute all database (and file structure) modifier functions located between those rev numbers -- db_update_1664, db_update_1727, etc... It should be easy to calculate, really, and we can safely call them, and then update db_version to the latest database version available. Then it wouldn't be (so) hard to change the database, whether for us or for users.

What do you think...?

PS: bugger, another issue I just discovered... The selection is off by a few bytes when I click the Bold button in the bbc box, perhaps related to the Opera hack that I wrote for editor.js in both SMF and Wedge... Maybe they FINALLY, after years, fixed that bug...? :edit: Yes, they did, but they didn't fix all of it, so I'll have to keep an eye open...
 1. Custom boards, board types, custom groups, general privacy system, general tag system, attachments as media items, and so on...



Re: Development, full speed ahead!
« Reply #18, on August 9th, 2012, 01:42 AM »
What ever makes you guys happy :) I have a few different configs to install on when the 25th hits :) and if that day comes and goes thats cool too :)

Re: Development, full speed ahead!
« Reply #19, on August 9th, 2012, 10:34 AM »
TBH when updating my forums I always uninstall all mods to be safe, and after updating re-install them one by one!

Re: Development, full speed ahead!
« Reply #20, on August 9th, 2012, 12:47 PM »
That should be far less of an issue with Wedge because of the way plugins work. It could be made almost transparent with little or no real effort, too.


jpb


Re: Development, full speed ahead!
« Reply #23, on August 13th, 2012, 10:44 AM »Last edited on August 13th, 2012, 10:53 AM
Quote from Arantor on August 9th, 2012, 12:47 PM
That should be far less of an issue with Wedge because of the way plugins work. It could be made almost transparent with little or no real effort, too.
Yeah.
Technically, I think we could even get away with a webinstall if we provide a single PHP file to upload somewhere, and that will retrieve the latest files from our server and install them. That way, we can be sure the entire Wedge folder has the same rights as the PHP user... (Of course, updating files manually could then cause issues.)

Well, anyway I don't even know if Wedge will be released anyway. I spent my entire weekend fixing bugs and ended up making them worse. For instance, Opera had the fantastic idea of releasing a new alpha where CSS gradient prefixes are removed -- and support for the prefixed version is removed! Thank you guys, now I have to include both versions... -_- Anyway, as Opera updates itself automatically, once v12.50 is out it won't be much of a problem. When it comes to Firefox, though, v16+ removes the prefixes, but if you want to support both, it won't work: showing the prefixed version then the unprefixed version will fail altogether in v<16. Thankfully, they still support the prefixed version so I'm sticking to that one only for now...
Stupid browsers and incompatibilities.
Now it also shows that simply providing a '-prefix' variable in WeCSS isn't enough to warrant compatibility. Well, it COULD be enough, but it'd mean I have to add browser-specific files to disable some of the CSS that would make everything fail. That's stupid. So I rewrote the system to simplify it for users... And, of course, it doesn't work well. (Still working on it.)

Not only that, but my confirm() rewrite is stalled, as well as my virtual keyword bug.

I'm pretty much screwed these days.

Re: Development, full speed ahead!
« Reply #24, on August 13th, 2012, 02:50 PM »
It gets soul destroying, one step forward, one and a half steps back.
You have both come a long way.... you can do it
 :cool:

Re: Development, full speed ahead!
« Reply #25, on August 13th, 2012, 03:21 PM »
Quote
That way, we can be sure the entire Wedge folder has the same rights as the PHP user...
There is absolutely no way in hell I am going to do that. It's a recipe for being hacked.

Re: Development, full speed ahead!
« Reply #26, on August 13th, 2012, 03:58 PM »
Quote from Arantor on August 13th, 2012, 03:21 PM
There is absolutely no way in hell I am going to do that. It's a recipe for being hacked.
Then we'll have to live with people who keep bugging us about upgrade paths...

Eh.

As if it's not already enough that I have to live with internal W3C wars that force me to rewrite WeCSS for days... -_-

God why did I start work on Wedge?! Why am I heading towards an OS license when we should really be selling it for a million dollars?!

Re: Development, full speed ahead!
« Reply #27, on August 13th, 2012, 04:20 PM »
Quote
Then we'll have to live with people who keep bugging us about upgrade paths...
It's the same reason I've been so stubborn about the plugin manager and having write access - doing it all via FTP is the only safe path.
Quote
God why did I start work on Wedge?! Why am I heading towards an OS license when we should really be selling it for a million dollars?!
Because we wanted to make a difference. And because it wasn't ever really about the money.

Re: Development, full speed ahead!
« Reply #28, on August 13th, 2012, 05:33 PM »
Quote from Arantor on August 13th, 2012, 04:20 PM
Because we wanted to make a difference. And because it wasn't ever really about the money.
Yeah it never was... But money can be an incentive to continue. Money can help pay for treating the cancer I'm likely to get in a few years from now (if it's not already too late) due to all the stress Wedge has generated in my life.

Anyway... I've rewritten WeCSS in a lot of ways. Now it also caches the browser version, even if not IE. It's a bit sad I know, but it's the only way I can safely enable/disable prefixes at will. (As of now, if you run wedge.org with the latest Opera 12.50 snapshot, none of the gradients will show up.)
I'm not even going to complain... I added a small script to automatically purge the filecache every month, so that older browser versions don't clutter the filesystem after being unused for months.