XF 1.2 Assorted Small Things

Let's take a break from some of the bigger feature improvements coming in 1.2 and look at some of the smaller tweaks. This isn't necessarily an exhaustive list. I can't really remember everything. ;)

User thread title editing
A new permission has been added to control whether users can edit the titles of their own threads. This is automatically tied into the post editing length permission.

This also includes editing the prefix as well.

Style property cache size reduced
If you have a number of styles installed, you may have had to fight with MySQL max_allowed_packet due to the style property cache size. The cache will now only store changes from the default value, reducing the size of the cache per style.

Template compilation speed improvements
Don't expect this to be a huge change, but template compilation output will be reusable by child styles whenever possible.

With this change, you'll probably see the template compilation process slow down more by the number of languages than the number of styles you have. Remove any languages that aren't being actively used.

Code event speed improvements
This suggestion comes courtesy of digitalpoint. Many code events now offer a "key". When creating a listener, you can optionally specify the key to listen to. If you specify a key, your listener will only be called when the key matches.

For example, when firing load_class_model, the key is the class name to be loaded. If you're only extending one model, you can enter the class name and we will only call your listener code when the model is being loaded.

This can significantly reduce the number of listener calls per page, leading to add-on execution speed improvements.

Parsed BB code cache
The parse tree of messages is now cached for a configurable length of time. Note that this is the parse tree, not the compiled output. The final compiled output is still handled at run time. This gives significant performance improvements, but does not limit the dynamic nature of BB code output (by style, language, or user viewing).

This cache can easily be used by any content types.

Trophy and promotion cron speed improvements
Trophy and promotions are now automatically applied on session creation. While the cron still runs, it only runs for users that have been active very recently.

This significantly reduces the overhead of wasted trophy and promotion cron runs while simultaneously ensuring that users receive their trophies and promotions more efficiently (if they haven't been active for a while or if a new trophy/promotion is added).

New general-purpose system for long running processes
1.2 adds a new "deferred" system for running any code that can be broken up into pieces and may take a long time (multiple seconds or more) to run. Deferred tasks can be triggered automatically by the code as necessary and they will either be run automatically in the background (by page views) or by displaying the current running state to the administrator (in the case of some cache rebuilds). This effectively unifies the cache rebuild systems with cron and other potentially long running processes (such as the bulk user change system discussed in the past).

Mail queue system
Using the "deferred" system above, a mail queue system has been implemented for email that does not have to be sent immediately, such as thread watch emails. Other emails (such as registration confirmation or lost password) emails can still bypass the system.

This creates performance improvements, particularly for heavily watched threads or when using a slow, external mail server.

RSS content snippets
RSS feeds for forums now contain content snippets (if permissions allow). The snippet length is configurable.

Hidden staff
When creating a moderator, you can choose to make them a hidden staff member. This will prevent them from being seen or treated as staff by other users. For example, they will not show up in the online staff list.

Conversely, users who are not moderators can be made staff and will appear as such in the user interface (such as in the online staff list).

User search improvements
The search criteria for users in the admin CP is significantly expanded. You can now search by:
  • Gender
  • Has no secondary groups
  • NOT in a secondary group
  • Registration between 2 dates
  • Last visit between 2 dates
  • Message count between 2 values
  • Trophy points between 2 values
  • By all custom fields
---------
There are still various features, small and large, to talk about for 1.2, but we'll save them for later. :)
 
Yes absolutely, but I'm financing my site all by myself without ads and already made a huge mistake by buying vB4. So like 20 bucks saved which I can put in some addons is better than nothing. ;)
Also didn't want to derail the thread, sorry.

Really looking forward to the next features & improvements.
 
I have a question regarding the template compilation improvements - will it be possible to defer/postpone the compilation while installing/updating add-ons? I tend to add/update add-ons in batches and waiting 15 minutes or more for template compilation after each action is really time consuming - each update session takes hours.
 
Looks awesome! If now the Promotions are in session creation, it means if we set a custom field in register that gives X promotion, when user ends registration the promotion runs? (since it's when session is created) Or only in new login?
I hope it does. :)
 
I have a question regarding the template compilation improvements - will it be possible to defer/postpone the compilation while installing/updating add-ons? I tend to add/update add-ons in batches and waiting 15 minutes or more for template compilation after each action is really time consuming - each update session takes hours.

Rather than Template recompilation being part of every Addon install, it should maybe be a banner at the top
"WARNING! MOST GROSS DANGER! Your templates have not been updated for recently installed Addons. Click HERE to do this!"
 
Hi Mike, wondering if you can kindly answer this question very related to 1.2 :

I 'd like our site be able to assign each new registrant, based on a custom field value the user chooses, to a specific usergroup as soon as the new registrant completed his or her email confirmation. So if the user chooses value 'A' for that custom field, this user will have to be assigned to a secondary usergroup called 'A'(primary usergroup still 'Registered'), and so on.

I have configured a bunch of secondary user groups via ACP, and also set the user group promotions to auto assign a new user to a pre-configured usergroup based on the custom field value whenever the user state is 'Awaiting email confirmation' or 'Awaiting Approval'(if manual approval enabled). With such a setup in 1.2, can the new registrant be immediately assigned to a specific usergroup once the registration is complete? I need the function because there is a specific private node (associated with each usergroup) that I'd like the user be able to enter as soon as their registration is complete.

The original thread is here
 
Style property cache size reduced
If you have a number of styles installed, you may have had to fight with MySQL max_allowed_packet due to the style property cache size. The cache will now only store changes from the default value, reducing the size of the cache per style.

Parsed BB code cache
The parse tree of messages is now cached for a configurable length of time. Note that this is the parse tree, not the compiled output. The final compiled output is still handled at run time. This gives significant performance improvements, but does not limit the dynamic nature of BB code output (by style, language, or user viewing).

This cache can easily be used by any content types.

Trophy and promotion cron speed improvements
Trophy and promotions are now automatically applied on session creation. While the cron still runs, it only runs for users that have been active very recently.

This significantly reduces the overhead of wasted trophy and promotion cron runs while simultaneously ensuring that users receive their trophies and promotions more efficiently (if they haven't been active for a while or if a new trophy/promotion is added).

New general-purpose system for long running processes
1.2 adds a new "deferred" system for running any code that can be broken up into pieces and may take a long time (multiple seconds or more) to run. Deferred tasks can be triggered automatically by the code as necessary and they will either be run automatically in the background (by page views) or by displaying the current running state to the administrator (in the case of some cache rebuilds). This effectively unifies the cache rebuild systems with cron and other potentially long running processes (such as the bulk user change system discussed in the past).

Mail queue system
Using the "deferred" system above, a mail queue system has been implemented for email that does not have to be sent immediately, such as thread watch emails. Other emails (such as registration confirmation or lost password) emails can still bypass the system.

This creates performance improvements, particularly for heavily watched threads or when using a slow, external mail server.

I miss this part of the posts, im happy to see configurable options that are vitals to big boards owners.

Thanks for your work !!
 
No. It just sends them in a separate, background process to not get in the way of browsing.
 
Top Bottom