« Previous postNext post »

Feature list for b2evolution v4.0.0-alpha

Posted on July 1, 2010 by Francois Planque in New features

Since the beginning of the year we have been relentlessly adding features and features and more features to b2evolution v4. All the while not producing a packaged release! If you wnated to use them, you had to dig into CVS...

Ok, this has been going on for far too long now! &#59;)

We have stopped adding features until we make a 4.0 release! Below, you will find the final list of features that made it into the next 4.0.0-alpha release.

No new features, means we are now focusing on cleaning up some of the code that doesn't seem quite right and then we'll release the alpha. (Don't ask, I'm not giving dates any more, even if this time I can actually feel the release &#59;) )

This alpha release will be functional as advertised but the UI may not be polished everywhere it should. We'll do some extra polishing for the beta and stable versions.

Watch out, this is a massive release!! &#59;) There is a lot of extra power and new stuff under the hood! Here's the list:


  • Skins:
    • Separate search page -- disp=search -- destined to gather advanced search params (@francoisplanque)
    • Post index feature -- disp=postidx (@francoisplanque)
    • Site map feature (HTML, not XML which already existed) -- disp=sitemap (@francoisplanque)
    • Help page -- disp=help (@francoisplanque)
    • Skins can now embed the login form - experimental - implemented for sending private messages (@evofactory)
  • Widgets:
    • Avatar widget (@blueyed)
    • Enhanced Menu link widget (@francoisplanque)
    • Enhanced Common navigation links widget (@francoisplanque)
    • Tag cloud widget now has a random order option (@waltercruz)
  • RSS Feeds:
    • It is now possible to choose the size of the images included in RSS feeds (@evofactory)
  • Post editing:
    • When typing a new post, it is now possible to create a new category on the fly without leaving the edit screen (@evofactory).
    • Images can now be linked to the top of a post or at the top of the "more" section. (@blueyed)
    • Better handling of "Publish!" button on post form (@francoisplanque)
    • Better handling of "Add/link files" on new posts - 1 single click will save draft & open file attach window (@evofactory)
    • Improved actions after upload - you can now link the file to the current post or insert an <img> tag into the post text (@blueyed,@francoisplanque)
    • In addition to upload, there is now an option to get images from an URL (@blueyed)
    • Linked files can now be visually located (@blueyed)
    • Option to link multiple files with one click (@sam2kb)
    • Mass post creation feature - useful for importing data to be released over time (@evofactory)
    • Option to stay in backoffice after publishing a post (instead of viewing the blog) (@evofactory)
    • Automatic post slugs will only include 5 words by default -- but you can always manually enter your own and longer slug (@evofactory)
    • Multiblog cross positing as well as extra category posting options can now be configured through the backoffice (@evofactory)
    • Ability to mass edit post attributes (Title vs slug vs <title> tags). (@evofactory)
  • Comments & Antispam:
    • Comments can now display avatars (including Gravatars) (@sam2kb)
    • Option to display comments by ascending or descending order (@tblue)
    • A quick moderation link in comment notifications by email allows to moderate comments with minimum # of clicks. No login necessary! (@evofactory)
    • Dashboard:
      • Refreshing comments on dashboard through Ajax (@evofactory)
      • It is now possible to remove spam URLs from comments with a single click in the dashboard (@evofactory)
      • It is now possible to call the Antispam tool as an Ajax overlay in the dashboard. (@evofactory)
    • Backoffice comment editing:
      • It is now possible to change "Allow message form" guest comments (@tblue)
      • It is now possible to move comments from one post to another (@evofactory)
      • 1 click Publish button -- visible only if Comment is a Draft (@evofactory).
    • Comment list in teh admin:
      • There is now a list view in addition to the full text view (@evofactory)
      • Various filters are now possible (@evofactory)
    • Extended antispam tool: (@evofactory)
      • Separate permissions allow moderators to separately moderate drafts, published and deprecated comments. (@evofactory)
      • The antispam tool now also checks user profiles. (@evofactory)
  • File management:
    • When you try to delete an image, b2evo now gives you a list of all posts to which that image is linked. (@evofactory)
    • The filemanager can now use _evocache folders instead of .evocache which will increase compatibility with more web hosts (@evofactory).
  • Messaging:
    • Messaging module giving users the ability to exchange private messages in the admin area. (@evofactory)
    • Possibility to contact blog, post or comment authors through private messages (PMs) instead of email. (@evofactory)
  • Maintenance:
    • Integrated backup feature (Database and files) (@evofactory)
    • Automated upgrade feature - EXPERIMENTAL - WARNING: for testing only at this point. It will overwrite your current version! (@evofactory)
    • Scheduled task to prune *old files* (>24 hours) from the full page cache (@evofactory)
    • Tool to clear *all files* full page cache (/cache directory) (@sam2kb)
    • Tool to clear thumbnail caches (.evocache directories) (@sam2kb)
    • Tool to optimize database tables (MyISAM tables used for sessions & logs)
  • Users & Groups:
    • Users may now create new blogs for themselves (depending on group permission) (@evofactory)
    • Admin/users now have better control on whether or not they can have multiple concurrent sessions. (@evofactory)
    • Option to have different session timeouts for different users (@evofactory)
    • Option to have nicknames used as IDs set by the admin, not the user. (@evofactory)
    • Modules & Plugins can now define their own group permissions (@evofactory)
    • Added post type permissions (@tblue)
  • XML-RPC:
    • XML-RPC can now be disabled (@tblue,@waltercruz)
    • MetaWeblog API: Use mt_keyword field to get/set
      post tags. Affected methods: metaWeblog.newPost,
      metaWeblog.editPost, metaWeblog.getRecentPosts,
      metaweblog.getPost. (@tblue)
    • MovableType API: Implemented mt.supportedMethods. (@tblue)
    • MovableType API: Implemented mt.publishPost (@tblue,@waltercruz)
    • MetaWeblog API: Implemented mt_allow_comments and mt_excerpt (@tblue,@waltercruz)
    • WordPress API: basic support for the following methods: wp.getPageList, wp.getUsersBlogs, wp.getPageStatusList, wp.getPostStatusList, wp.getCategories and wp.uploadFile (@waltercruz)
    • Improved metaWeblog.newMediaObject (@tblue)
    • Fixed API method signatures (return values) (@tblue)
    • Use correct charsets. (@tblue)
    • Check extra categories before checking permissions to post to them (sends correct XML-RPC error on failure). (@tblue)
  • Plugins:
    • Adsense plugin now has 'per blog' settings (@sam2kb).
    • New plugin: Watermark. Adds text watermark to generated thumbnails e.g. copyright notice (@sam2kb).
    • Twitter plugins now uses optimized private tiny urls (@evofactory)
    • Code highlight plugin: Correctly unfilter item contents. (@sir_yabs/@tblue)
  • General:
    • Durations can now be entered in days/hours/minutes/seconds instead of large amounts of seconds (@evofactory)
    • Installer will take care of testing .htaccess and install it if proven compatible with current webserver (@evofactory)
  • Performance:
    • Optimized for PHP5 (still works on PHP4 but we strongly recommend PHP5)
    • BlockCache stored to memrory (APC Cache & more): every widget is now cached individually and regenerated only when needed (provided it declares proper dependency keys). This provides a significant performance boost. More underway. (@francoisplanque)
    • User agent type is now saved directly into the hits table instead of a costly lookup in user agents table (@francoisplanque)
    • SQL optimizations (@blueyed):
      • SQL_NO_CACHE for queries selecting from T_sessions/T_hitlog
      • Remove information about seconds from item issue and start date,
        so that those queries can get cached for up to one minute
  • Technical mumbo-jumbo:
    • Debug mode can be turned on & off through the URL with a password (@francoisplanque)
    • Support iconv() on urltitle generation (@tblue)
    • Fixed a bug in fetch_remote_page() (wrong $info array keys). (@tblue)
    • Item::get_tags(): Bugfix and optimization:
      Remember items without tags and do not try to
      fetch tags for them on the next call. (@sir_yabs, @tblue)
    • Plugin hooks: Always trigger AfterCommentUpdate/AfterItemUpdate,
      not only if Comment/Item has changed. (@sir_yabs/@tblue)
    • Added hooks to let plugins handle disp modes: GetHandledDispModes & HandleDispMode (@sir_yabs, @francoisplanque)
    • Added hooks: AfterCollectionInsert, AfterCollectionUpdate, AfterCollectionDelete, DisplayProfileFormFieldset, ProfileFormSent, AfterFileUpload, BeforeThumbCreate (@sam2kb)
    • Extended skin tag params (@leeturner)
    • Increased core modularity
    • Upgraded to TinyMCE 3.2.7 (@blueyed)
    • CommentList has been rewritten to CommentList2 offering greater flexibility (especially on filtering) and matching the programming style of ItemList2 (@evofactory)
    • Other bug fixes (@sam2kb,@francoisplanque,@evofactory)


Comment from: ololo [Visitor]

great job!

07/01/10 @ 20:50
Comment from: slamp [Visitor]

Some great features for me:
- Comments can now display avatars
- Adsense plugin now has ‘per blog’ settings
- SQL optimizations
- Debug mode can be turned on & off through the URL

Thanks to all developpers for their work !

07/01/10 @ 21:43
Comment from: eric [Visitor]  

For future consideration, it would be useful to have the ability to restrict commenting only to registered users. I do this on my blog to fight spam. As I am not proficient in coding, I am currently doing this by forcing a captcha plugin for less than a certain user level and using non compliant fonts like wingdings to avoid unregistered users. Registration uses a different plugin for captcha.

Also, I’d like to see a more mobile-optimized skin, which is probably best suited for one of the skin wizards.

Looks like a good release, can’t wait to try it out!

07/01/10 @ 23:28
Comment from: Hybride [Visitor]

This looks great! I could have used the mass posting feature when I first transferred over to b2evo. :D

07/02/10 @ 18:41
Comment from: Francois Planque [Member]

Eric, both are on the todo list for a future version.

07/02/10 @ 19:24
Comment from: Keith [Visitor]

I’m using the CVS version on my local server and it’s working great (though, upgrading the database did produce some errors), but I’m too much of a wuss to upload it to my main, hosted server. Certainly, these features are great. I’m excited about the per-blog adsense settings.

07/03/10 @ 05:04
Sebastián Lalaurette

Wow! (Some of) My prayers have been answered! Category creation on the fly… check. Better handling of attached images… check. AdSense flexibility… check. Backup system… check. Sensible multiblog navigation… seemingly underway. ;)

I can’t wait to get it rolling! And start evangelizing again! :))

Kudos for the FG and all the team!

PS (And don’t drop PHP4 support yet, I’m stuck with a slow-adopting hosting provider.) ;)

07/05/10 @ 07:09
Comment from: Eric [Visitor]

Merci, Francois!

07/07/10 @ 19:28
Comment from: Mochababy [Visitor]

One feature that this system does not have, that I kinda feel is really important, is an option for a user to delete their account. We have private messages but can’t delete the account?

07/07/10 @ 19:32
Comment from: 传奇私服 [Visitor]

Really strong, function also more and more perfect。

07/14/10 @ 07:02
Comment from: perezlr [Visitor]  

What about a method for visitors subscripcion by email like wp ’suscribe2′ or ‘post notification’?

07/23/10 @ 14:35
Comment from: Steffen [Visitor]

Great work till now. Only thing I’m missing, is the possibility to create userdefined tabs, linked to another internal blog, having the same configuration as the main blog.

Maybe there is such function and I just don’t find it?

07/28/10 @ 14:45
Comment from: virtualmarc [Visitor]

Mhh no Twitter over oAuth.
The Standard Auth with User and Password will be disabled in 2 Days!!!
Only oAuth will be available than!

08/29/10 @ 15:49
Comment from: Francois Planque [Member]

Yes, virtualmarc, a twitter plugin with OAuth is included in version 4.0.1.

09/21/10 @ 04:16
Comment from: steve morak [Visitor]
steve morak

sounds like a great mix, wish i could get it on my other site and lose wp, cant wait for the release, and thanks for all your effort

09/22/10 @ 20:53
Comment from: Eric [Visitor]  


In future versions where you’re considering a mobile-optimized skin, is there going to be anything in the programming to automatically detect the mobile browser and implement that skin?

10/09/10 @ 03:42
Comment from: Vex [Visitor]

Built in support for Google’s recaptcha would be awesome. I have a major problem with spammers on my b2evo blog and thus have had to completely disable new users and comments. But I’d like a blog where I can offer new users their own blog without worrying about spammers….

Thanks and I look forward to upcoming releases! :)

10/10/10 @ 02:59
Comment from: Eric [Visitor]  


I have the same problem with spam. I ended up having to load captcha and recaptcha on my blog. Captcha has wingdings and webdings for fonts, and only renders for comments from people who are not signed in, forcing them to have to sign up to post. Then, I have to go in and approve each new user. As you can guess, people don’t register on my blog any more, because it’s too involved.

All this is a real pain in the rear, but it keeps spam off my site because no one can guess what wingding letters are being put in the captcha.

The ReCaptcha only kicks in when someone registers, further slowing the sign up process.

I’ve also spent the last month trying to get Disqus to work on another blog. Disqus would at least handle the antispam and registration process for me. But Disqus doesn’t render properly on any blog I’ve tested it on, making it mostly useless.

B2Evo needs some serious spam upgrades, in my opinion.

10/21/10 @ 21:29