Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Arantor
2761
Features / Re: New revs
« on September 24th, 2012, 02:06 AM »
(2 files, 2KB)

Revision: 1707
Author: arantor
Date: 24 September 2012 01:05:30
Message:
! SMF bug: if a subaction is declared in the admin menu and it is declared with a custom URL in the process, that will be ignored during the admin search processing all the menu contents. (Admin.php)

! Maintenance move boards in bulk had malformed tags, replaced the broken tags with the styling we're using elsewhere anyway. (ManageMaintenance.template.php)
----
Modified : /trunk/Sources/Admin.php
Modified : /trunk/Themes/default/ManageMaintenance.template.php
2762
Features / Re: New revs
« on September 24th, 2012, 01:45 AM »
(13 files, 9KB)

Revision: 1706
Author: arantor
Date: 24 September 2012 00:45:00
Message:
! Removing yet another string concatenation that wasn't entirely necessary. (MoveTopic.php, ManageTopics language file)

! Not all instances of notice handler were styling things correctly. (GenericMenu.template.php)

! Converting pretend buttons into real buttons. (ManageBoards.template.php, ManageMembergroups.php, Admin.template.php)

! Juggling around the menu handling for manage members so that menu items are actually correct. This does generate a small side bug I will fix shortly in the admin search, well, more accurately it'll fix an edge case that's technically an SMF bug too. (Admin.php, ManageMembers.php, ManageMembers and Admin language files)
----
Modified : /trunk/Sources/Admin.php
Modified : /trunk/Sources/ManageMembergroups.php
Modified : /trunk/Sources/ManageMembers.php
Modified : /trunk/Sources/MoveTopic.php
Modified : /trunk/Themes/default/Admin.template.php
Modified : /trunk/Themes/default/GenericMenu.template.php
Modified : /trunk/Themes/default/ManageBoards.template.php
Modified : /trunk/Themes/default/languages/Admin.english.php
Modified : /trunk/Themes/default/languages/Admin.french.php
Modified : /trunk/Themes/default/languages/ManageMembers.english.php
Modified : /trunk/Themes/default/languages/ManageMembers.french.php
Modified : /trunk/Themes/default/languages/ManageTopics.english.php
Modified : /trunk/Themes/default/languages/ManageTopics.french.php
2763
The Pub / Re: Language editing inside Wedge
« on September 24th, 2012, 12:35 AM »
Quote
Oh... Right! Then that would be an excellent solution, yes!
Is it already written? I suppose not? What do we do in the meantime? (Because the code is already written, I'd simply postponed the language caching test code...)
No, this was more of a 'this is what I think we could do' and wanting comments before I wrote it.
Quote
See what I mean..?
Oh..... so you load the index file, pull the $txt entries out and inject that into the result file that then gets cached. Now it makes sense to me.

And now I understand the concern about language files and caching. There's one entire class of cases that's screwed up in passing - plugins. While we could check the core files for updates, and force those ones to be updated from the ACP, we can't do the same with plugins. There are no requirements about where plugins must keep their files, so unless we were to go through every folder of every active plugin, looking for .js files, just to look for @language directives, we can't do that.

The alternative is to simply nuke the cache when doing such an update and immediately rebuilding the most common (script, editor, topic) if affected and let the others rebuild on demand.
Quote
Okay, I'll trust you on this, I try not to 'unread' my PMs because it tends not to work... (I use convo mode, and if I unread the latest convo, it just redirects me back to that convo and thus cancels the unread state... Well duh! We need to do something about this... Redirecting to the homepage if we're on the PM first page?)
I'm a stuck in the mud who uses one at a time mode, so it's very clear. I can post a screenshot if that'd help?
2764
Features / Re: Things to do before the Mayan apocalypse: membergroups
« on September 23rd, 2012, 11:47 PM »
I see every single course of action causing a number of issues. Every approach, even leaving it as we have currently, has issues. It isn't as simple as 'which has fewer issues' because some of those have smaller or larger issues.

Contact lists being separate from membergroups would certainly be cleaner and more manageable.
2765
The Pub / Re: Language editing inside Wedge
« on September 23rd, 2012, 11:46 PM »
Quote
(Re: latest rev -- should it be notewarn for new PMs..
You're not too thorough with the three states. The reason I don't use notenice in the menu is simply because the green doesn't sit well in the menu when it's the active menu item. To replicate, make sure you have an unread PM that won't be marked read when you're on action=pm, then go to action=pm, so there's at least a (1) still present, and you'll see that green just doesn't sit nicely because of a lack of contrast. But it's more prominent on the menu.
Quote
(Process?)
script-123.js -> script.js with English strings (or whatever the default language is)
script-french-123.js -> script.js with French strings (or whatever the alternative language is)
Then you started talking about @language also referring to multiple language files... which seems unnecessary to me.
Quote
We need to determine whether a language file has been modified.
No, we don't. That's the underlying point of what I've been saying. If you have the files as-is and the database containing deltas, you do not need to worry about file dates, because you just cache it whenever the database changes. You don't need to keep rechecking - you tell people to use the language editor, which deals with all that stuff.

Hence all my comments about people that are stupid enough to edit the files.
Quote
these files only get generated when needed, thus they won't be regenerated all at the same time, and the extra CPU time is split over several minutes or hours.
And if you know what files are changed you can safely just regenerate only the file that's changed, just when it's changed, job done.
Quote
- Imagine that script.js uses @language ManageTopics, and the admin never actually visits the admin area... It means the script file never gets updated, even if the corresponding language file is updated. It's unlikely, but still...?
I'm thoroughly confused. Are you saying that you want to push the entirety of a language file into a JS construct so they can be used client side?

A language set is approximately half an MB. Even allowing for savings for language constructs being more compact, you're still talking hundreds of KB that almost entirely aren't necessary!

To be brutally honest, the number of strings actually needed and referred to solely in JS is actually surprisingly small, assuming it can actually be pushed to JS (because not all of them can, for example, some of the strings used in the moderation filters area are added inline but the bulk of them won't be known until a DB query has been run)

Better would simply be to find all the strings that are actually needed from JS and make a single file out of those which can be included as standard along with script.js. Then you get to simplify a lot of the architecture.
Quote
- I still can't think of a 'correct' way to cache file dates. I'm thinking of something like this... Please give me your opinion?
It's completely unnecessary under everything I've been saying...
2766
Features / Re: New revs
« on September 23rd, 2012, 09:15 PM »
(6 files, 5KB)

Revision: 1705
Author: arantor
Date: 23 September 2012 20:14:49
Message:
! Spacinazi. (Profile-View.php, Register.template.php)

! Remove one of the remaining instances of string manipulation actually in a language file. (ManagePosts.php, Help language file)

! Update BB implementation to match 2.2.10 ruleset, notably updating MSN ranges and some extra URL checking that *shouldn't* cause any problems. (Security.php)
----
Modified : /trunk/Sources/ManagePosts.php
Modified : /trunk/Sources/Profile-View.php
Modified : /trunk/Sources/Security.php
Modified : /trunk/Themes/default/Register.template.php
Modified : /trunk/Themes/default/languages/Help.english.php
Modified : /trunk/Themes/default/languages/Help.french.php
2767
Features / Re: New revs
« on September 23rd, 2012, 08:00 PM »
(2 files, 3KB)

Revision: 1704
Author: arantor
Date: 23 September 2012 18:59:36
Message:
! Use proper note classes for the numbers within the PM menu area. Everywhere else does it, this should too. (PersonalMessage.php)

! The manage rules area needed some consistency attached to it, using buttons consistently rather than two links and a button. Some minor logic changes were needed to make it work but no biggie. (PersonalMessage.php, PersonalMessage.template.php)
----
Modified : /trunk/Sources/PersonalMessage.php
Modified : /trunk/Themes/default/PersonalMessage.template.php

(Yes, a purely aesthetic commit from me. It doesn't happen often, either.)
2768
Off-topic / Re: Doctor Who
« on September 23rd, 2012, 04:32 PM »
Quote
The only lesser part of the episode, is the resolution I'd say. The part where the Doctor fixes it.
(click to show/hide)
Yes, that was a bit quick, but nothing unusual for Chibnall's episodes. Lots of handwaving of details. As for the second wave, he blew the ship up which should have prevented that.
2769
The Pub / Re: Language editing inside Wedge
« on September 23rd, 2012, 04:30 PM »
Quote
There are still at least 9x2 cases of string concatenation across 7x2 language files, I'm afraid
Then I'll fix that first. I am aware there are cases of concatenation in the language files for the purpose of encoding line-endings into certain strings. This is standard practice for the editor and it is already actually aware of this. But I'll check for any other cases and fix it.
Quote
Other than that, it's just on average twice the current amount of cached JS files, which is very, very small, especially when compared to the number of CSS files in the css cache... Just go have a look ;)
I count 9 JS files at present: admin, captcha, editor, mediadmin, register, script, script-sha1, suggest, topic. That's not necessarily definitive, but what I've encountered so far in general use.
Quote
Does it make sense at all?
Oh, it makes sense, but I'm not seeing that as a problem, actually.

add_js_file would load the file, you'd be calling loadLanguage or loadPluginLanguage anyway from there. That means, basically, you'll still fall into the process I'm talking about. There's no reason why the same process couldn't also contain the JS language file, though if I understand you correctly, you're almost talking about having multiple language JS files too...

Either way, I see no reason why an editor couldn't cope with being able to edit either and load from the DB, caching the results. It only has to worry about caching if people are daft enough to edit files directly, but then all bets are off anyway.
2770
Features / Re: Things to do before the Mayan apocalypse: membergroups
« on September 23rd, 2012, 04:03 PM »
Oh I have plenty of opinions but there are a LOT of issues that stem out of this, mostly fixable of course, but nonetheless a lot of issues.
2771
Plugins / Re: Something I started working on
« on September 23rd, 2012, 04:02 PM »
No, the message index has differently coloured columns, not differently coloured rows - just like Curve...
2772
Off-topic / Re: Doctor Who
« on September 22nd, 2012, 09:18 PM »
(click to show/hide)
Another manic Doctor. But this has some context that previous episodes did not - he's manic because he can't sit still and that's why he gallivants around the universe.

The whole 'one heart' thing was a bit laborious, especially given that he has survived on a single heart in the past, albeit not running around trying to save the universe at the same time.

The ending, tying into the title 'the power of three' was cute but seems a little too handwaving, the whole tie-in with Lethbridge-Stewart is cute, though.

I'm curious about the way the next episode is going. River's back, the Angels are back, and they're in Manhattan. I wish it didn't have to be Manhattan. I personally think it would have been awesome if they'd set it early in the history of LA, the City of Angels! But we shall see.

Oh, and yes, the intro is again darker this week. The TARDIS is almost black, which ties into the cubes, but mostly because it's foreshadowing.
2773
Features / Re: Plugin revs
« on September 22nd, 2012, 05:30 PM »
(1 file, 1KB - one line)

Revision: 51
Author: arantor
Date: 22 September 2012 16:29:39
Message:
! Updated birthday plugin with tweaks for scheduled task handling. In case it wasn't obvious, now it's the same as you'd pass to loadPluginSource (probably because that's what the scheduled task handler does too!)
----
Modified : /birthday/plugin-info.xml
2774
Features / Re: New revs
« on September 22nd, 2012, 05:28 PM »
(1 file, 1KB... it's literally one line)

Revision: 1703
Author: arantor
Date: 22 September 2012 16:11:32
Message:
! Oops, forgot to add the actual optional test. (ManagePlugins.php)
----
Modified : /trunk/Sources/ManagePlugins.php
2775
Features / Re: New revs
« on September 22nd, 2012, 05:07 PM »
(3 files, 7KB)

Revision: 1702
Author: arantor
Date: 22 September 2012 16:02:20
Message:
! Cleaner behaviour with respect to scheduled tasks in the event of a task being disabled, or if the installation moves folders/servers, by using the master folder listing rather than having the path in the DB. (ScheduledTasks.php, ManagePlugins.php)

! When disabling a plugin, check for any plugins that rely on the current plugin's hooks and refuse to disable it if any dependent plugins are found. (ManagePlugins.php, ManagePlugins language file)
----
Modified : /trunk/Sources/ManagePlugins.php
Modified : /trunk/Sources/ScheduledTasks.php
Modified : /trunk/Themes/default/languages/ManagePlugins.english.php


For the first case, this should not be any problem for any current Wedge user. The only time there is an issue is if a plugin has declared a scheduled task - to the best of my knowledge, there are only two plugins that currently declare a scheduled task, and neither of them are in use anywhere (Birthdays, WedgeDesk). It does also mean that when declaring the filename in the plugin-info.xml file you no longer have to prefix it with $plugindir. I will commit the update to the Birthdays plugin for reference later.

For the second, there are still going to be fringe cases. If you were to enable, say, Dragooon's notification plugin and the notify-on-reply child plugin, you cannot safely disable notifications without disabling the child plugin. Now the manager will not let you disable the main plugin without disabling the child plugin first. You could, theoretically, still disable it by physically altering the folder, but to remedy that would require a vast extra overhead every single page, to check all plugins every page, which is unnecessary.