Nao

  • Dadman with a boy
  • Posts: 16,061
Minor features
« on May 11th, 2011, 03:53 PM »Last edited on May 15th, 2011, 04:05 PM by Nao/Gilles
Here's a tentative list of all minor feature additions/changes that I didn't deem worthy of their own section, but could still be mentioned here... (Complainers should go through the commit log themselves. Beware though, it took me a week to do that. Don't try this at home. Or at least try and help organize this list and point out what features you feel should be expanded upon in a post of their own.)

I've sorted them by author, because that's how I went through the commit log originally -- starting with Pete's additions, and then mine. I'm not in the mood for spending more time on sorting the list by type. I'm sure no one will read it entirely anyway! :P

Additions by Arantor:

- BBC tags are now defined in the database, making it easier for mods to add their own tags. (No file edits!)
- Database-controlled topic ordering in message index.
- Modders can now register custom {variables} to queries the same way {db_query} is done, with a function call. No code modification needed.
- Cache optimization on news items.
- Unread posts area now always shows the entire list of unread posts -- this should encourage the use of the Mark All Read button in the process, which in turn helps database performance.
- Users can now move topics only into boards they could actually create topics in.
- Imperative scheduled tasks (they're given a specific execution date in the future), and source file setting for scheduled tasks (i.e. you can specify a file to load before executing a given scheduled function.)
- Added group requirements to paid subscriptions. You may now offer a specific subscription to a given group, e.g. current subscribers could get a renewal offer at a reduced price.
- The language on PayPal pages will now match the user's language choice on Wedge.
- Added proper member recount in the maintenance area.
- New permissions: View IP (own / all), Edit Website, Edit Signature. (You can now easily prevent newbie groups from adding spam in their website & sig.)
- Debug info (database and stuff) can now be shown to different user groups, can be set in the admin area.
- At install time, the first topic is now posted from the admin -- no more 'Simple Machines' guest, meaning you can actually choose to edit the post and keep it.
- Added loadSource('File') function to load 'Sources/File.php' efficiently. Also saves you the need to add $sourcedir to the list of global variables...
- All actions are now each in their very own file.
- Actions can avoid being logged in the who's online list by defining a variable at the beginning of the file.
- blankGif() outputs a blank image directly, instead of redirecting to a gif file.
- Added ability to hide all banned users' avatars.
- Allow redirect boards to be opened in a new window (or not.)
- Most of the important Source files are now properly documented in the PHPDoc format. (And the both of us are trying to document our new functions as thoroughly as possible.)
- Removed all of the code pertaining to topic participation icons. Seriously, who even noticed these icons at all? If you want to know if a topic is popular, you just look at the number of replies/views in it...
- Removed help area. (Shortly after that, SMF did the same to their help system. They're now using a Wiki. We don't know if we'll do the same though.)
- Changed 'star' denomination to 'rank' in user group ranks.
- Dropdown selector for viewing mode in PM area. (I'm sure this will help many actually notice there are other modes available.)
- Removed easter eggs. Some were funny, but they were old (and could even slow down the forum.)
- Quick Reply area now allows you to immediately show the full editor icons in a single click.
- At registration time, some default user settings were switched, for logical reasons. Also, the time offset is detected by Wedge.
- Replaced musician and actor avatar packs with xkcd avatar pack. Which is wayyyy cooler...
- Moderators checking out the who's online area will now see the error message whenever a user action results in an error.

Additions by Nao:

- Chosen auto-suggest entries are shown above the auto-suggest input, rather than below. It makes more sense.
- parse_bbc_inline() is an alias function that parses messages for inline tags only, i.e. tags that do not result in an oversized object. It's best used in areas where text parsing could end up breaking the page layout.
- Added $browser global (an alias to $context['browser']). In addition, the browser array adds 'agent' (current browser's name), and 'version' (current version number).
- New menu system. Looks great, plays great, uses CSS3 but works in IE6, uses JavaScript but works when JS is disabled. Supports separators. Icons based on the Diagona set.
- An ": edit :" smiley. It's an easy addition, but priceless when you're modifying a post and you want to draw attention on the edited part.
- Made some permission names clearer.
- Removed so many useless things from SMF that I wouldn't know where to start... Wait. Don't even get me started, actually.
- All confirm() and similar JS calls using $txt are now protected with JavaScriptEscape(), fixing an annoying SMF bug where language files could unknowingly break features.
- Modified links inside posts to show an underline. It may seem like a detail, but I've often seen people spam by hiding links into their posts. They should be more visible.
- Removed stylesheet parameter from loadTemplate. Use add_css_file('mycss', true) instead.
- The 'php' bbcode is now looking more like a 'code' bbcode with syntax coloring enabled automatically.
- Quick edit icons now show during page loading, rather than after all JS is executed. Eliminates that awkward layout change effect in SMF.
- If an image (gif/png/jpg) is requested and not found, Wedge will log the error, instead of Apache. Should make it easier to spot these errors. (This was revision 404 in the SVN server. I have a weird sense of humor.)
- The auto-suggest control should now work flawlessly in IE and Opera. I believe the SMF team gave up on fixing these glitches long ago. Actually...
- ...Wedge supports all modern, current browsers. SMF dropped official support for Opera because they couldn't/wouldn't fix related SMF bugs. Way to go.
- Set $context['bottom_linktree'] to true to automatically duplicate the linktree at the bottom of the page.
- Buttons now all sport a contextual icon where useful, such as "OK", "Cancel", "New", "Delete", "Spellcheck" or "Save".
- Three stylings so far: Wine (default), Wuthering (Curve-like) and Warm (minimal look.)
- Removed all of the JavaScript eval/string function calls, and many of the PHP ones as well. Good riddance.
- SMF enjoys deleting your work when you quick edit a message and then click the quick edit icon again by mistake. We don't.
- If you're viewing your outbox and at least one of the recipients replied to a message, Wedge will tell you how many.
- Use hideChrome() function to hide the header, footer, sidebar and top templates automatically.
- Check $context['is_ajax'] to determine whether a page is being called through Ajax -- enabling you to send different content. Chrome is automatically hidden.
- $(object).dragslide() applies a drag'n'slide effect to any DOM object. Use 'nodrag' classes inside the object to mark non-draggable areas.
- I was in charge of the French version for SMF for a long time, so obviously it's even better in Wedge, and always up to date. Go go rude people!
- Most of the icons in the default theme (including language-specific icons) are now CSS-driven, so they're easier to style.
- Wireless template gets shortened tags and class names. When it comes to some data plans, a byte saved is a buck saved.
- Made profile links not clickable if user hasn't got permission to view profiles.
- $start_time global is now a valid value in seconds. Use microtime(true), guys!
- 'Child boards' are now 'sub-boards', as often requested in the SMF community.
- Optimized UTF8-aware string functions. Just wanted to say.
- If Today/Yesterday date transformations are enabled, check for the year and remove it if it's the current one.

Additions by both:

- {query_list_board} is like {query_see_board}, but only gives users the ability to view hidden boards in board lists, but not browse them. (Okay, maybe this one should be in a feature of its own...) :P
- Android, iPhone and iPad (tablet) posting icons. Now you can actually let these silly devices add typos for you. It's not your fault anymore.
- Restructured several important templates into series of sub-templates, for easier integration.

...And these are all the things we thought might be of interest. Internally, there are hundreds more changes to the code base, all of which are documented in the SVN changelog, which we might release in the future. If anyone's interested in reading it.

Re: Minor features
« Reply #1, on May 11th, 2011, 04:04 PM »
* Tah Zonemaster loves Wedge

Re: Minor features
« Reply #2, on May 11th, 2011, 05:57 PM »
Quote from Nao/Gilles on May 11th, 2011, 03:53 PM
I'm sure no one will read it entirely anyway! :P
I did.  :eheh:  I'm very excited about all the features and changes (both big and small) I'm reading about. :)
Quote
- Removed easter eggs. Some were funny, but they were old (and could even slow down the forum.)
Is there a list of all or most of the easter eggs in SMF anywhere?
Quote
- At registration time, some default user settings were switched, for logical reasons. Also, the time offset is detected by Wedge.
Can it auto-adjust for daylight savings time changes too or would that be something for a mod to handle?[1]
 1. I had a mod installed that did this in SMF1, but it was never written for SMF2 that I know of.  It also replaced the offset setting with a dropdown list of timezones the user could choose from.

Re: Minor features
« Reply #3, on May 11th, 2011, 06:24 PM »
There are no public lists of easter eggs in SMF, however there are lists of them that I have access to which pretty much nail everything.

Timezones... I do really want to fix that, the whole offset thing is rather limited and confusing, especially when there's no reason it can't be fixed once and for all (including DST)

Re: Minor features
« Reply #4, on May 11th, 2011, 06:28 PM »
Pete, do you still have a to-do-list? Because if yes, it must have been growing a lot lately :P

Re: Minor features
« Reply #5, on May 11th, 2011, 06:32 PM »
Oh, I have a huge to-do list, it is probably similarly sized to yours by now, only I'm referring to the Wedge subset of mine :P

Basically, I have a massive virtual list of what I want to achieve in Wedge, some more obvious than others, but eventually it'll all be done.

Re: Minor features
« Reply #6, on May 11th, 2011, 06:41 PM »
And when do you think you can resume work...?
(I don't know if you've noticed, but the smf devs have closed a dozen reports this week.)

Re: Minor features
« Reply #7, on May 11th, 2011, 06:47 PM »
I did notice, yes. I'm away at parents in law this week (until Sunday) and making full use of the new keyboard I got for my iPad, whereupon I'll sync the code, and add in some of the smaller things I've been thinking about. Then I'll finish the remaining 11 issues for SimpleDesk, and finally get my ass properly back into gear here.

Re: Minor features
« Reply #8, on May 11th, 2011, 07:13 PM »
Quote from Arantor on May 11th, 2011, 06:24 PM
There are no public lists of easter eggs in SMF, however there are lists of them that I have access to which pretty much nail everything.
That's what I thought after doing a quick search at smf.org, but wanted to make sure as I'm just curious what they all are since I'm horrible at finding easter eggs that aren't on a DVD.  :lol:
Quote
Timezones... I do really want to fix that, the whole offset thing is rather limited and confusing, especially when there's no reason it can't be fixed once and for all (including DST)
They are very confusing especially since your offset is usually different on different sites and I never remember to update it for DST changes.

Re: Minor features
« Reply #9, on May 11th, 2011, 08:39 PM »
Looking rev changes time to time and having a list of all (minor!!) changes is completely different. With the second you really realize the impressive amount of job! :o :o
Well done guys!

Re: Minor features
« Reply #10, on May 12th, 2011, 01:43 AM »
Quote from Arantor on May 11th, 2011, 06:47 PM
I did notice, yes. I'm away at parents in law this week (until Sunday) and making full use of the new keyboard I got for my iPad, whereupon I'll sync the code, and add in some of the smaller things I've been thinking about. Then I'll finish the remaining 11 issues for SimpleDesk, and finally get my ass properly back into gear here.
If I were you, I'd work on Wedge before SD... :whistle:

Re: Minor features
« Reply #11, on May 12th, 2011, 10:34 AM »
I finish those 11 issues, we ship 2.0, then I'm untied from the project since I then no longer have any other responsibilities on it other than what I do in my 'spare time', whatever that is...

Re: Minor features
« Reply #12, on May 12th, 2011, 10:36 AM »
But by the time you're finished with SD, SMF2 is out, and I'll have spent weeks in development hell all by myself :p

Re: Minor features
« Reply #13, on May 12th, 2011, 04:39 PM »
I bet I'll be done before them, hell I managed to implement several thousand lines of code since mid March, and just for fun they altered how one of the hooks works so I'm not even sure if what I have now will be compatible with both RC5 and final :/

I will actually do some Wedge work before finalising SD such as fixing the one known bug with drafts, and alongside that I'm debating adding the option to show/hide signature per post, it's a minor feature that I have been asked about (and the cost of implementing it is not particularly significant)

Re: Minor features
« Reply #14, on May 12th, 2011, 06:41 PM »
Hmm... Dunno, if it's in the same place as in Disable Smileys, I guess it makes sense.

If SMF goes gold in the next two weeks, you still think you can outrun them?

Re: Minor features
« Reply #15, on May 12th, 2011, 06:53 PM »
I still bet I can outrun getting SD finished before they go final, because most things are already tested, and of the 11 issues, 5 of them are bugs, with the others being a day each at the outside (and likely less) to implement.

And there's only one of me working on SD's development.

I should note, I have a strongish feeling that their manual will be reverted back in before final, with the changes and testing (and bug fixes) that will go with that.