SD.net proposed code update / multi-mod bundle
Moderator: Thanas
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
SD.net proposed code update / multi-mod bundle
On second thoughts this probably merits a new thread.
The 'enhanced polls mod' is now ready for beta testing and review. Feel free to take a look or register on the test server and help test. I have disabled catchpas and confirmation emails, so if you want to vote in or create polls just input a bogus email address, click 'submit', ignore the 'email could not be sent' error, click the 'login' link at the top and log in with the username and password you supplied.
Bug reports and feature suggestions can go here or in the 'comments' section of the test forum. Unfortunately there are still some known bugs that occur in situations where several poll options have been deleted, then new ones added, which I can't fix without completely ripping out and replacing a large chunk of the original polls code. I'd rather not; currently this is fairly backwards-compatible, with sensible behaviour for reverting extended poll types if the mod is uninstalled. Feature list;
* Instant Runoff Polls (with built in complete or partial abstention) - hopefully a good option for senate polls.
* Condorcet polls with Borda count resolution of circular ambiguities - fair if opaque way of selecting a single winner while considering secondary preferences.
* Approval polls - simple multi-vote polls, good for 'which of these is ok and which suck' type polls.
* Average rating polls - good for simultaneously rating a set of items (i.e. assigning average stars out of 5 to a list of movies, episodes, novels etc).
* Retractable votes, at the poll creator's option, can be enabled or disabled at any time before the poll expires.
* Poll results can be locked and unlocked at any time by the creator or a mod/admin independently of the poll expiration and topic locking mechanisms.
* Added a global configuration option 'max duration of polls on this board' (also the default poll duration). Does not apply to polls created by mods or admins.
* Fixed some of the existing bugs relating to deleting and creating poll options, including allowing people who picked an option that is later deleted to revote, in standard polls, even if 'retractable votes' is not enabled.
If people like the look of this and it performs ok in testing I will see about packaging it up into MOD format and talk to Darth Wong about the desirability/feasibility installing it here. If there are any minor non-poll-related enhancements you'd like to see to the phpBB2 code let me know and I'll see if they can be rolled in.
The 'enhanced polls mod' is now ready for beta testing and review. Feel free to take a look or register on the test server and help test. I have disabled catchpas and confirmation emails, so if you want to vote in or create polls just input a bogus email address, click 'submit', ignore the 'email could not be sent' error, click the 'login' link at the top and log in with the username and password you supplied.
Bug reports and feature suggestions can go here or in the 'comments' section of the test forum. Unfortunately there are still some known bugs that occur in situations where several poll options have been deleted, then new ones added, which I can't fix without completely ripping out and replacing a large chunk of the original polls code. I'd rather not; currently this is fairly backwards-compatible, with sensible behaviour for reverting extended poll types if the mod is uninstalled. Feature list;
* Instant Runoff Polls (with built in complete or partial abstention) - hopefully a good option for senate polls.
* Condorcet polls with Borda count resolution of circular ambiguities - fair if opaque way of selecting a single winner while considering secondary preferences.
* Approval polls - simple multi-vote polls, good for 'which of these is ok and which suck' type polls.
* Average rating polls - good for simultaneously rating a set of items (i.e. assigning average stars out of 5 to a list of movies, episodes, novels etc).
* Retractable votes, at the poll creator's option, can be enabled or disabled at any time before the poll expires.
* Poll results can be locked and unlocked at any time by the creator or a mod/admin independently of the poll expiration and topic locking mechanisms.
* Added a global configuration option 'max duration of polls on this board' (also the default poll duration). Does not apply to polls created by mods or admins.
* Fixed some of the existing bugs relating to deleting and creating poll options, including allowing people who picked an option that is later deleted to revote, in standard polls, even if 'retractable votes' is not enabled.
If people like the look of this and it performs ok in testing I will see about packaging it up into MOD format and talk to Darth Wong about the desirability/feasibility installing it here. If there are any minor non-poll-related enhancements you'd like to see to the phpBB2 code let me know and I'll see if they can be rolled in.
Last edited by Starglider on 2007-07-02 04:51pm, edited 1 time in total.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
Added a bonus feature - public display of votes;
This is at the poll creator's option and is off by default. This screenshot also shows the ability to rank options equally in Condorcet polls. The voters list is size-limited to displaying the first n votes only (a global config parameter, currently 100 for the test board).
This is at the poll creator's option and is off by default. This screenshot also shows the ability to rank options equally in Condorcet polls. The voters list is size-limited to displaying the first n votes only (a global config parameter, currently 100 for the test board).
Last edited by Starglider on 2007-06-01 05:56am, edited 1 time in total.
- The Grim Squeaker
- Emperor's Hand
- Posts: 10319
- Joined: 2005-06-01 01:44am
- Location: A different time-space Continuum
- Contact:
Registered and testing. Some seems unncesessary, but others such as multiple votes (In many) and public display of voters should help keep the "Post then don't argue" spammers away
Photography
Genius is always allowed some leeway, once the hammer has been pried from its hands and the blood has been cleaned up.
To improve is to change; to be perfect is to change often.
Genius is always allowed some leeway, once the hammer has been pried from its hands and the blood has been cleaned up.
To improve is to change; to be perfect is to change often.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
The main intended utility of the 'display voters' option is to avoid the spam of people posting just to say what they voted for (in polls where this is likely).
Due to a user request I have implemented semi-proportionate poll bars. Currently the pixel width of 100% is fixed, which means sucky resolution on polls where the votes are split between many options and my three-stage polls being too wide for low-res screens when there is a single winner. The suggestion was to fix the width of the poll graphs regardless of the max percent shown (i.e. assign the max pixel width to the winning option and scale the others proportionally). I've compromised because I didn't want to completely remove the absolute magnitude visual cue; the total poll width now varies between 35% of the original width (for the impossible case of an all-zeros poll that somehow still displays a bar) and 70% of the original width (for a poll width a 100% bar) and scales proportionally between those for intermediate max percentages (with all the other options scaled from that). IMHO this looks good; the resolution is better that it was before on all polls where the max option is below 60% share (much better for widely-split polls) but the worst-case width is small enough that even triple-stage single-winner polls are unlikely to suffer from formatting breakdown unless you're viewing them on a PDA. I have no idea who 'beyond' is - there is a SDN user 'beyond hope' but they seem to have stopped posting in mid 2004 - but thanks for the suggestion.
Due to a user request I have implemented semi-proportionate poll bars. Currently the pixel width of 100% is fixed, which means sucky resolution on polls where the votes are split between many options and my three-stage polls being too wide for low-res screens when there is a single winner. The suggestion was to fix the width of the poll graphs regardless of the max percent shown (i.e. assign the max pixel width to the winning option and scale the others proportionally). I've compromised because I didn't want to completely remove the absolute magnitude visual cue; the total poll width now varies between 35% of the original width (for the impossible case of an all-zeros poll that somehow still displays a bar) and 70% of the original width (for a poll width a 100% bar) and scales proportionally between those for intermediate max percentages (with all the other options scaled from that). IMHO this looks good; the resolution is better that it was before on all polls where the max option is below 60% share (much better for widely-split polls) but the worst-case width is small enough that even triple-stage single-winner polls are unlikely to suffer from formatting breakdown unless you're viewing them on a PDA. I have no idea who 'beyond' is - there is a SDN user 'beyond hope' but they seem to have stopped posting in mid 2004 - but thanks for the suggestion.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
Kuroneko asked for superscripts and subscripts as a simple improvement to equation rendering; now implemented in BBcode (was pretty much a trivial sanity-checked passthrough to HTML).
Due to user requests there are now two different types of spoiler tags implemented on the test forum.
To clarify on the LaTeX issue; there are several mods that involve bridging a stand-alone LaTeX-to-png renderer to phpBB2, but they all seem to suffer from serious denial of service issues and require a complex installation (including setting up permissions to prevent even worse security issues). I suggested using a simple Javascript-to-HTML one, either directly (for minimum server CPU load; phpBB2 is already very inefficient at processing BBcode) or translated into PHP, which has no security issues and no additional installation effort beyond a normal MOD. But if you can convince DW to go for a PNG-renderer solution, I'll help if I can.
Due to user requests there are now two different types of spoiler tags implemented on the test forum.
To clarify on the LaTeX issue; there are several mods that involve bridging a stand-alone LaTeX-to-png renderer to phpBB2, but they all seem to suffer from serious denial of service issues and require a complex installation (including setting up permissions to prevent even worse security issues). I suggested using a simple Javascript-to-HTML one, either directly (for minimum server CPU load; phpBB2 is already very inefficient at processing BBcode) or translated into PHP, which has no security issues and no additional installation effort beyond a normal MOD. But if you can convince DW to go for a PNG-renderer solution, I'll help if I can.
- Einhander Sn0m4n
- Insane Railgunner
- Posts: 18630
- Joined: 2002-10-01 05:51am
- Location: Louisiana... or Dagobah. You know, where Yoda lives.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
Currently combined but they would be trivial to separate out into separate mods. The later two are just straight inserted code into the BBcode handling. The polls mod is the only genuinely complicated one, because it actually replaces about half of the original polls code, affects more files and requires extra columns in the database.Einhander Sn0m4n wrote:Question: Are the codebases for the polls, spoilers, and sub/superscript mods separate or combined into one big Keg'O'Mods?
Incidentally spoiler tags (of both kinds) work in signatures (on the test board) at present; I suppose that's an option for people who just can't resist putting tons of crap in their sig (in that it is one way to do so without taking up screen space unless clicked on).
EDIT: Actually unless there are any objections I'd like to implement strikethrough, because it's something I miss from HTML (admittedly largely for joke purposes).
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
I have implemented strikethrough in BBcode. I have not implemented overline on the basis that I can't think of any use for it, but let me know if you have one. I have not implemented blinking text (the final type of CSS text decoration) because it's incredibly annoying.
Though perhaps there's a case for enabling blinking and the dreaded marquee tag in testing only
Though perhaps there's a case for enabling blinking and the dreaded marquee tag in testing only
- Einhander Sn0m4n
- Insane Railgunner
- Posts: 18630
- Joined: 2002-10-01 05:51am
- Location: Louisiana... or Dagobah. You know, where Yoda lives.
You put <blink> on SDN the Mods'll likely have your head. You put marquee on SDN, I'll have your head.Starglider wrote:Though perhaps there's a case for enabling blinking and the dreaded marquee tag in testing only
Joking aside, I can see high abuse potential for both, especially by nubs, trolls, spammers, misanthropes, and idiots. Plus I've seen marquee in action over at Subspace Comms Network, and it's very irritating and tends to be used primarily by the more irritating people over there (I in no way imply with this statement that anyone over there is indeed not irritating, with the exception of Flagg of course, just that some SCNers are vastly more so than others ). Eugh.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
You're not kidding, the very first thread I clicked on has an irritating and pointless scrolling marquee in the third reply. I suppose the only way it could get worse is if they enabled these things in signatures.Einhander Sn0m4n wrote:Plus I've seen marquee in action over at Subspace Comms Network, and it's very irritating
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
Implemented another convenience feature on the test board; 'copy quicklink to clipboard'. This is a (fake) link that sits next to 'view previous topic' and 'view next topic' in the nav bar at the top of the view thread page. When clicked it copies a pre-dressed BBcode link to the current page (with the forum name -> thread title string as the content) into the user's clipboard, ready for pasting into a create/edit post dialog. It's visible on every page of the test board but you can see a specific example here.
This should make linking to related threads a little faster and easier.
EDIT: Note that the 'public poll' option effectively subsumes the functionality of the 'event registration' MOD for phpBB2, in that it functions as a list of users that people can subscribe to (and unsubscribe from, if revokable votes are enabled).
This should make linking to related threads a little faster and easier.
EDIT: Note that the 'public poll' option effectively subsumes the functionality of the 'event registration' MOD for phpBB2, in that it functions as a list of users that people can subscribe to (and unsubscribe from, if revokable votes are enabled).
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
Ok, here's the complete list of stuff I've got ready to (potentially) add to the board;
* Enhanced Polls Mod
> Approval Polls
> Average Rating Polls
> Instant-Runoff Polls
> Condorcet Polls
> Retractable votes (if enabled by poll creator)
> Public Ballots / Voter List (if enabled by poll creator)
> Lockable Polls (by mods/admins, separately from thread locking)
> Board-global poll duration limit (for non-mods)
> Semi-proportional poll bars
* Minor BBcode enhancements
> Superscript/Subscript (for equations)
> Strikethrough (for visible edits and jokes)
* Click-to-reveal spoilers
> Block spoilers tag
> Inline spoilers tag
* Forum specific anti-necro limit.
* Quicklink button (copy dressed BBcode link to thread to clipboard)
* Icon-tile map creation from BBcode (for gaming purposes and maybe quick battle/scene visualisation).
* Dice rolling (objective board-supplied RNG).
* Assorted minor bugfixes.
Anything else?
EDIT: Oh and based on this maybe I should add an anti-necro feature. I'd suggest that each forum have an individually configurable 'necro limit' in days (set to zero for no limit), and that if more than this duration has passed since the last post in a topic only the topic starter and mods/admins can post new replies. There's really no excuse if the 'quicklink' button goes in considering how trivially easy it makes linking to an old thread. Sound useful?
* Enhanced Polls Mod
> Approval Polls
> Average Rating Polls
> Instant-Runoff Polls
> Condorcet Polls
> Retractable votes (if enabled by poll creator)
> Public Ballots / Voter List (if enabled by poll creator)
> Lockable Polls (by mods/admins, separately from thread locking)
> Board-global poll duration limit (for non-mods)
> Semi-proportional poll bars
* Minor BBcode enhancements
> Superscript/Subscript (for equations)
> Strikethrough (for visible edits and jokes)
* Click-to-reveal spoilers
> Block spoilers tag
> Inline spoilers tag
* Forum specific anti-necro limit.
* Quicklink button (copy dressed BBcode link to thread to clipboard)
* Icon-tile map creation from BBcode (for gaming purposes and maybe quick battle/scene visualisation).
* Dice rolling (objective board-supplied RNG).
* Assorted minor bugfixes.
Anything else?
EDIT: Oh and based on this maybe I should add an anti-necro feature. I'd suggest that each forum have an individually configurable 'necro limit' in days (set to zero for no limit), and that if more than this duration has passed since the last post in a topic only the topic starter and mods/admins can post new replies. There's really no excuse if the 'quicklink' button goes in considering how trivially easy it makes linking to an old thread. Sound useful?
Last edited by Starglider on 2007-06-20 08:34am, edited 1 time in total.
Oh I think they are enabled for sigs - it's just a miracle that no one has realized that yet (For the recored I'm the only major non-troll member who's been Perma-baned and not let back in after 6 months).Starglider wrote:You're not kidding, the very first thread I clicked on has an irritating and pointless scrolling marquee in the third reply. I suppose the only way it could get worse is if they enabled these things in signatures.
Would it be possible to get the code for these, so when I finally set up my board, I'll be able to use them?Starglider wrote:Ok, here's the complete list of stuff I've got ready to (potentially) add to the board;
* Enhanced Polls Mod
> Approval Polls
> Average Rating Polls
> Instant-Runoff Polls
> Condorcet Polls
> Retractable votes (if enabled by poll creator)
> Public Ballots / Voter List (if enabled by poll creator)
> Lockable Polls (by mods/admins, separately from thread locking)
> Board-global poll duration limit (for non-mods)
> Semi-proportional poll bars
* Minor BBcode enhancements
> Superscript/Subscript (for equations)
> Strikethrough (for visible edits and jokes)
* Click-to-reveal spoilers
> Block spoilers tag
> Inline spoilers tag
* Quicklink button (copy dressed BBcode link to thread to clipboard)
* Icon-tile map creation from BBcode (for gaming purposes and maybe quick battle/scene visualisation).
* Dice rolling (objective board-supplied RNG).
* Assorted minor bugfixes.
Anything else?
EDIT: Oh and based on this maybe I should add an anti-necro feature. I'd suggest that each forum have an individually configurable 'necro limit' in days (set to zero for no limit), and that if more than this duration has passed since the last post in a topic only the topic starter and mods/admins can post new replies. There's really no excuse if the 'quicklink' button goes in considering how trivially easy it makes linking to an old thread. Sound useful?
"I believe in the future. It is wonderful because it stands on what has been achieved." - Sergei Korolev
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
How did you manage that?MariusRoi wrote:(For the recored I'm the only major non-troll member who's been Perma-baned and not let back in after 6 months)
Sure; I will post the code when the feature set has been finalised/approved.Would it be possible to get the code for these, so when I finally set up my board, I'll be able to use them?
By being wrong and/or confrontational one to many times. If you PM me I'll send you more info, or you can ask Flagg.Starglider wrote:How did you manage that?MariusRoi wrote:(For the recored I'm the only major non-troll member who's been Perma-baned and not let back in after 6 months)
"I believe in the future. It is wonderful because it stands on what has been achieved." - Sergei Korolev
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
I can think of plenty of uses. However, I will add a prominent 'warning: this is a public poll' label to the voting panel if ballot display has been enabled, to prevent any unfortunate surprises.NecronLord wrote:Well, I'm vaguely satisfied that the public poll option will be optional, but I'd rather not have such a thing at all. I fundamentally disagree with almost any use of such a thing I can think of.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
I'd be happy to add a 'max subject length' setting to the board configuration panel. You'll have to convince Mike to increase it from the default though.Durandal wrote:I'd trade all those improvements for an increased subject length. That said, they'd be welcome improvements.
EDIT: Done on the test server (now a board config option, raised to 100 on my server from the hard-coded default 64).
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
Implemented multi-stage and themed board stars as suggested in this senate thread; you can see them in operation here. My board only has two themes, 'stars' and 'blobs'. The scheme is one red marker for every 16 days, one yellow marker for each extra four days, and one green marker for each extra day (capped at 10 markers maximum). For SDN presumably it would be gold, silver and bronze markers, for 4 years, 1 year and 3 months respectively, and hopefully artistic types would care to submit some interesting themes (rebel & imperial symbols, starfleet symbol etc) in the appropriate sizes and colours.
Hopefully this mod will be going into the rest of the bundle for testing and review by DW this weekend.
Hopefully this mod will be going into the rest of the bundle for testing and review by DW this weekend.
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
If anyone would like to review the code for this mod, the beta is now available for download here. This has all of the above (more poll types, public & retractable votes, board-global max poll duration, quicklinking, strikethrough/superscript/subscript, block & inline spoiler tags, configuration option for max subject length, forum-specific anti-necro limit, multi-stage themeable 'board time stars') except for the gaming stuff (dice rolling and icon tile maps) which isn't ready yet. This is intended to replace the existing year-stars code on SDN, so if you don't already have that mod you should install it first before trying this. Though obviously don't install this on anything other than a test server yet.
- MKSheppard
- Ruthless Genocidal Warmonger
- Posts: 29842
- Joined: 2002-07-06 06:34pm
Hey starglider; would you mind fixing tiny font, so that it is ACTUALLY TINY on Opera?
I refuse to use IE for security reasons and I did try firefox long ago, but gave up on it because it was so buggy. And the size=1 font code is actaully fucked up on Opera, meaning you are accidentall exposed to spoilers that way.
I refuse to use IE for security reasons and I did try firefox long ago, but gave up on it because it was so buggy. And the size=1 font code is actaully fucked up on Opera, meaning you are accidentall exposed to spoilers that way.
"If scientists and inventors who develop disease cures and useful technologies don't get lifetime royalties, I'd like to know what fucking rationale you have for some guy getting lifetime royalties for writing an episode of Full House." - Mike Wong
"The present air situation in the Pacific is entirely the result of fighting a fifth rate air power." - U.S. Navy Memo - 24 July 1944
"The present air situation in the Pacific is entirely the result of fighting a fifth rate air power." - U.S. Navy Memo - 24 July 1944
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
As Destructionator says, this is a client issue; the board code is generating the correct HTML, so your browser must be ignoring it. However hopefully people will use the click-to-reveal spoiler tags instead of tiny text if and when they get installed. I for one find the tiny text really annoying.MKSheppard wrote:Hey starglider; would you mind fixing tiny font, so that it is ACTUALLY TINY on Opera?
- Starglider
- Miles Dyson
- Posts: 8709
- Joined: 2007-04-05 09:44pm
- Location: Isle of Dogs
- Contact:
I've made some new yearstar images (and a 'blobs' theme just to test the theme selection code), here they are with the SD.net board styles:
Might need to take the black border off for the subSilver theme. I believe Acidburns is taking a look at making some SW-based yearstar themes.
Gold = 4 years, Silver = 1 year, Bronze = 3 months (except on the test server where 1 day = 3 months)
Might need to take the black border off for the subSilver theme. I believe Acidburns is taking a look at making some SW-based yearstar themes.
Gold = 4 years, Silver = 1 year, Bronze = 3 months (except on the test server where 1 day = 3 months)
Last edited by Starglider on 2007-07-02 06:03pm, edited 2 times in total.