Testing out Bad Behavior 2 extension for EE.

Paul Burdick, super amazing programmer and CTO of pMachine makers of ExpressionEngine, has just released an extension for EE that allows us to make use of the much ballyhooed Bad Behavior 2 anti-comment/trackback spam system that was originally developed for WordPress. So, being the popular target of spammers that we tend to be I figured I’d toss it in the system and see what happens.

This means two things: First, I’ve disabled the blacklist module to see how good this new system is. Second, I’ve turned trackbacks back on for SEB (but not the other blogs) as BB2 is supposed to be pretty good at filtering our trackback spam as well as comment/referrer spam.

So if you happen to notice anything funky happening such as you’re suddenly unable to post comments then drop me a note and let me know. If it’s as effective for EE as it appears to be for WordPress and MediaWiki then I’ll leave trackbacks on and be a happy camper. If you want to help test it on your EE site then be sure to go post a comment in the thread on the forums and give Paul any feedback you come up with. Here goes nothing.

pMachine announces the ExpressionEngine $15,000 Shoot Out.

Now this is pretty cool. The guys at pMachine who produce the script we use to run SEB and the other blogs I host are holding a contest to find out the cool ways people are using ExpressionEngine:

    Do you have an ExpressionEngine website that you think is pretty cool?  Enter your website in the ExpressionEngine $15,000 Shootout!

    Contest entries can be Commercial, Personal, and Core sites so anybody with an ExpressionEngine powered site can enter. Your website will be judged on innovation, excellence of design, usability, and content.  Did we mention that the winners will divvy up $15,000 in cash and prizes?

    If you don’t have an ExpressionEngine site you can get one for free! Just register at pMachine.com and then go to your Download Area to get a copy of ExpressionEngine Core (it’s free). Or maybe this is the incentive you need to get that project you’ve been thinking about finished up.

    We will be accepting contest entries until midnight (Pacific time) February 28. That means you have a whole month to get your site cleaned up and entered or start a brand new site.

    On March 1st we’ll reveal all the entries. Our panel of world-class judges will score the entries and the winners will be announced on March 15.  So what are you waiting for, enter now!

Check the Official pMachine Shootout site for prize details. If you’ve been meaning to give EE a try this in combo with the free Core version now available should be a pretty good motivation to do so.

ExpressionEngine 1.4 released along with a new free version.

The folks at pMachine.com have just released the latest version of ExpressionEngine and announced that they are now providing a free version of EE called ExpressionEngine Core for folks that want to take advantage of EE as a platform for their personal sites, but don’t need the full power provided by the personal license:

Back before ExpressionEngine, we developed a publishing app called pMachine, which was available in two flavors: Free and Pro. The feature-limited Free version helped us increase our user-base and create brand awareness, while the Pro version, with all the bells and whistles, allowed us to generate revenue.  As a business approach it worked pretty well.

When we released ExpressionEngine back in February of 2004, the idea of offering a free version appealed to me very much.  However, there was a problem:  EE didn’t have a lot of capability yet.  The first release only came with the bare essential core features.  It didn’t have a search module yet, or any of the APIs, or any of the ten additional modules, eighty plugins, and hundreds of features we’ve added since then.  There wasn’t enough meat on the bones initially to allow us to offer clearly demarcated free and paid versions, so we stuck to paid-only licenses.

As we approach the two year anniversary of the release of EE, it now has 19 available add-on modules and vastly more features and capability than it did when we started.  It has enough features, in fact, that we can now offer a very capable core system for free, while offering greatly enhanced capability for those who want more features. So that’s what we’ve decided to do.

ExpressionEngine will now come in three versions:

  • EE Core License:  Free for personal use.  Limited features (10 modules).  Non-membership sites only.  No tech support.
  • EE Personal License:  All features and tech support (18 modules).  Personal use only.
  • EE Commercial License:  All features and tech support (18 modules).  Commercial use only.

In addition, we have reduced the price of our personal license to $99.95 (it was previously $149.95).  Anyone who purchased EE at the higher price on or after November 15th, 2005 is eligible for one of the following compensations:

  • Option 1:  A free discussion forum module
  • Option 2: Three years of additional access to our download area (normally it costs $19.95 per year)

If you purchased a personal license after November 15th, please email sales@pmachine.com indicating which of the two options you are interested in. Please include the username you use at pMachine.com.

The free version of EE stacks up pretty well against many of the other packages that are out there in terms of features and power and if you’re running a relatively small site it’ll probably be more than adequate for the job and as your site grows you can purchase a license and take advantage of the additional modules. If nothing else it’s a good way to check it out and see if it’s what you want to use before having to plunk your hard earned cash down for the full version.

I’ve upgraded the installation of EE here to the new 1.4 release so please drop me a note if you notice anything funky going on. I don’t expect there’ll be too much of that as this was one of the more stable releases ever. I’ve included the full change log in the extended entry for those folks who are interested in what new goodies have been added to the package.

  * Added Advanced Conditionals, which allow the use of logical operators to compare multiple variables in the same conditions and the use of elseif and else in conditional structures.
  * Added Extensions Manager. Extensions are custom scripts that interact with the core EE code base to increase functionality or alter it without hacking.
  * Added Relational Capability to custom fields. Each custom field can now be populated with data from another custom field, or a complete weblog entry, or a gallery entry. These work on a per-entry basis, enabling complex relationships between data in two or more weblogs.
  * Added Entry Versioning feature, which will save previous revisions of your weblog entries.
  * Added multi-entry editor, permitting multiple entries to be edited at one time. Look at the bottom of the EDIT page in the CP for this feature.
  * Added IP Search page in the control panel. This utility will find all instances of an IP used in entries, comments, forum posts, and gallery posts.
  * Added search term log. This feature keeps a record of the search terms that your visitors submit in the search forms.
  * Added entry “views” tracking that lets you show the number of “views” a particular post has received. You can have up to four hit trackers per entry, so that different pages can be tracked. See user guide for setup instructions.
  * Added ability for search results to display custom fields, member data, categories and more meta data for the entry. Nearly everything you can output via the Weblog Entries tag.
  * Added pagination and date parsing abilities to the Query module (new parameter limit=”” to specify how many to show on a page)
  * Added Dynamic Parameters feature, enabling the parameters in your weblog and comment tags to be set dynamically from POST data submitted via a form.
  * Added Mailing List Templates. These permit each mailing list to contain default customization.
  * Added Mailing List Admin Notification feature, and global enabling/disabling of lists.
  * Added Enhanced Throttling feature. There is now a throttling configuration page in the Admin area which permits you to set various parameters.
  * Added a Description Field to custom member profiles which can be used to add instructions or additional info.
  * Added Category Editing directly from the PUBLISH page.
  * Added Spellcheck to Communicate section
  * Added magic checkbox code for the Edit screen where you can click anywhere on the entry row to select a checkbox and shift select multiple rows
  * Added Date field types to custom fields.
  * Added “today” links in the PUBLISH page calendars.
  * Added web-master name preference so that auto-generated emails can include a name.
  * Added a preference in the Member Preferences page that enables an admin to turn off the localization preferences page in the member profile areas. By turning off individual localization an admin can force dates/times to appear in the master admin choice, or in the local of one specific user.
  * Added a preference in the master Localization Preferences page that permits each post to determine the daylight saving time.
  * Added wild-cards to Censored Word feature, as well as a preference that enables words that are censored to be replaced with a custom line of text.
  * Added a new way of selecting Template Groups in the Template section. Can now select multiple Template Groups and scroll faster.
  * Added a new interface to the Admin section.
  * Added custom fields to gallery. You can have up to six custom fields.
  * Added the ability to show a Single Gallery Entry per page, for those who wish to create a photo blog.
  * Added Category List Tag to the Photo Gallery Module, enabling among other things, “jump” navigation to be created.
  * Added ability to change the status of multiple comments at the same time.
  * Added two new Template types, Static (pure content, nothing rendered) and JavaScript (outputs content as javascript file type).
  * Added character encoding preference in the Email configuration page (Admin area).
  * Added None option for Publish Tab Behavior in Control Panel Settings
  * Added ability to search custom member fields via the member search on the CP home-page
  * Added ability to show photo in addition to avatar in weblog entries, gallery entries, comments, and forum threads
  * Added 2 new cookies used with non-logged-in users which enable us to track “read forum topics” with guests.
  * Added a status check when submitting entries, which permits the stand-alone form to not contain the status menu. Instead, the default status is used.
  * Added name=”” parameter to Simple and Advanced Search form tags
  * Added “entry_id” parameter to the {exp:weblog:next_entry} and {exp:weblog:prev_entry} tags
  * “Views” counter in Gallery Module can now be edited.
  * Added entry_id to the orderby clauses in the gallery tag.
  * Added sort=”” parameter to month_links tag so you can reverse the display of months
  * Added show_future_entries and show_expired parameters to the RSS Module.
  * Added ability to exclude member group from site member list.
  * Added ability to set site member list defaults for sort by, order, and number of rows
  * Added ability to set localization settings via the Registration form
  * Added {gmt_comment_date} to Comment module’s entries tag
  * Added a new function to abstract the Edit screen search and display of entries so it can be used in Modules with great ease.
  * Increased length of Trackback URL field in Edit Trackback Form
  * Added Trackback search to Edit section. IP Address in Trackback viewing page are now search links too.
  * Added displaying of error messages for failed Trackbacks and Pings after submit of new entry
  * Added {id_path=””} variable to next_entry and prev_entry tags.
  * Added ability to have a few common attributes in the <a> tag when having Weblog set to use Safe HTML.
  * Added and modified code and queries to speed up comment submissions on large sites
  * Added more character support in the Moblog module for foreign and crazy mobile devices.
  * Added more MIME header decoding abilities for servers that do not have the convenience of certain PHP functions
  * Added TRUNCATE to valid query types list
  * Added backticks on database tables and field names in the insert and update string functions for developers using dashes and other characters
  * Added some code that deletes forum posts when members are deleted (assuming the forum is installed).
  * Added template’s name to page title when editing template
  * Added utf-8 variable for the Member and Forum templates
  * Added url_title=”” parameter to Weblog module. Make sure to specify a weblog with this parameter
  * Added search box to Template section of Control Panel
  * Added foreign character replacement code to URL Title javascript in Stand Alone Entry Form
  * Added Admin Notifications to the MetaWeblog and Blogger API modules
  * Added new global variable webmaster_email for display site’s webmaster email address
  * Added new default design, removed RSS 1.0 template, renamed Atom template

Bug Fixes for Version 1.4

  * Fixed a caching error that can happen when two groups being embedded have identical template names.
  * Fixed a moblog problem with Sprint phones.
  * Fixed a bug when Previewing a comment for a gallery entry that had no comments initially.
  * Fixed a bug with the stopwords and exact searches in the search module.
  * Fixed a problem in a query when new user registrations happen and the site allows instant activation.
  * Fixed a bug that prevented URL session IDs from working in the forum and member profile area when running a site as session only.
  * Fixed a bug with Opera and the tag/glossary insert javascript code
  * Fixed a bug with comment preview in the gallery
  * Fixed a stats bug that was preventing the “most recent visitor” date from updating.
  * Fixed a bug with topic preview in the forum when {exp:forum} is used in a template.
  * Fixed the parser of the conditional parser so that inner conditionals are not parsed before outer conditionals
  * Fixed Typography bugs dealing with XHTML Typography and <code>, <span>, and <p> tags.
  * Fixed a bug where location was not a valid registration field
  * Fixed a bug where failing Trackbacks were still stored in the database as sent
  * Fixed a pM Pro import bug that was incorrectly setting the forum post total
  * Fixed a bug where an invalid weblog specified for the comment form was causing a MySQL error
  * Fixed a typography bug that was incorrectly converting dashes to em-dashes if the very first item in an entry was a dash.
  * Fixed a bug where Safe HTML [url] tags were case sensitive
  * Fixed the problem where CSS or JavaScript template requests were being recorded in the tracker cookie.
  * Fixed a problem in which the {exp:weblog:category_archive} tag was not honoring the “show_empty” parameter if more than one weblog shared a common category group.

Some cool new features coming in ExpressionEngine 1.4.

Saw this blurb on the pMachine forums from Rick talking about some of the cool new goodies we can expect in the 1.4 release of ExpressionEngine:

Here are a few items we’ve already finished.  There’s more on the way, but I think we’ll keep some things secret.

* Added the ability to have Extensions.  One can now write extensions to the core EE code base to increase functionality without hacking
* Added relational capability to the PUBLISH page of the control panel. You can now pre-populate drop-down menus with content from fields in other weblogs.
* Added “Entry Versioning” feature, which will save previous revisions of your weblog entries.
* Added multi-entry editor, permitting multiple entries to be edited at one time.
* Added IP Search utility in the CP.  This utility will find all instances of an IP used in entries, comments, forum posts, and gallery posts.
* Added “search term log”.  This feature keeps a record of the search terms that your visitors submit in the search forms.
* Added an entry “hit tracker” that lets you show the number of “views” a particular post has received.
* Added ability for search results to display custom fields
* Added “dynamic parameters” feature, enabling the parameters in your weblog and comment tags to be set dynamically from POST data submitted via a form.
* Added mailing list templates. These permit each mailing list to contain default customization.
* Added enhanced “throttling” feature. There is now a throttling configuration page in the Admin area which permits you to set various parameters.
* Added category editing directly from the PUBLISH page.

I’m very excited about the new Extensions functionality as it plugs what I considered to be a hole in comparison to MovableType. With the 3.0 release of MT the folks at Six Apart unleashed a very impressive plugin system that allowed for some major flexibility for developers of add-ons. ExpressionEngine currently has both a plugins and a module system that together come to what I would estimate as around 80% as powerful in terms of how you can modify the way EE does things, but there was still a lot you could do with MT that wasn’t really possible with EE without hacking the code directly. The new Extensions option looks to make up the difference and then some and I can’t wait to see what people do with it.

Several of these other new features go a long way to setting ExpressionEngine apart from the rest of the offerings out there while further blurring the line between a CMS package and a blogging package. Can’t wait to see what other goodies are yet to be revealed. They’re hoping to have this version released by the end of the year at the latest so it shouldn’t be too much longer before we can get our hands on it.

Paul Burdick, CTO of ExpressionEngine, goes video.

This was an interesting idea. Paul Burdick, one of the folks who puts together ExpressionEngine, sat down and did up a small 3 minute video entry on his blog where he talks about what’s coming up in the development process. Among other things will be a new template for the forum module to show what’s possible with it and a few comments on the promised commerce module that a lot of folks have been waiting for. No ETAs on when these things would be available, but it should please a lot of folks to know they’re being worked on. Plus, Paul’s a bit of a hottie so that makes watching the video that much more interesting.

How to use w.bloggar with ExpressionEngine 1.3.x.

I promised John Hoke that I would explain how I got w.bloggar working with ExpressionEngine so here’s that promised entry. The truth is that with the release of version 1.3 which includes the new Metaweblog API it’s a pretty easy thing to do.

  1. Install the Metaweblog API module into ExpressionEngine if you haven’t already done so. If you’ve upgraded to version 1.3 or later then the module should already be on your server, but you’ll need to go into the Modules manager and tell it to install.
  2. Once you’ve done that you should be presented with a new screen that already has a “default” configuration in place. You’ll see a link titled Default and a URL that follows it. That URL is what you’ll need to make w.bloggar work. The URL will consist of your base blog’s domain and index file followed by a question mark and a couple of codes. Highlight the URL starting at the index file (index.php unless you’ve changed it) and everything to the right of it and copy it to the clipboard.
  3. Install w.bloggar if you haven’t already done so and then launch the program.
  4. You’ll be asked if you have a blog already. Presumably the answer is yes so select the Yes option and click next.
  5. Here’s where the magic happens. Click the Blog Tool drop down and select the MovableType tool.
  6. Put in whatever you want for the Account Alias. If you want w.bloggar to ping for you then check that box and select the service you want it to ping.
  7. If you need to use a proxy server then check that box and the next screen will allow you to define it.
  8. Assuming you don’t need to define a proxy server, the next step will ask you for the host URL and path. Type in the URL for your base blog in the host URL box without the http:// part.
  9. In the path box right click and select paste to put in your index file with the extra code that you highlighted back in step 2. It’ll look something like index.php?ACT=##&id=#. Click next.
  10. You should now be prompted for a username and password. Use the same ones you’d use to login to your EE installation.

That should do it unless you’ve modified the default field groups used in your blog. If you have then you can change the default configuration in the Metaweblog API control panel to tell it which fields to associate with the standard MovableType Excerpt, Content, More, and Keywords fields. You can even define more than one Metaweblog API configuration if you have the need.

ExpressionEngine 1.3.1 is now available.

This point release was set loose on 29th and I forgot to mention it then so I’m doing it now. Also released is version 1.1 of the forum module for those of you who picked that option up. This release is mainly a bug fix, but there are some cool new features as well such as the previously mentioned ability to link a blog entry with a forum post that I tested a little while back. You can check the changelog for a full list of changes or see it in the extended part of this post.

Version: 1.3.1 Final Release
Build: 20050728
Release Date: July 29, 2005

* Added a unsubscribe option to the mailing list batch subscribe form.
* Added pagination to the member groups page of the control panel.
* Redesigned the URI parsing function for better performance when a large number of template groups exist.
* Added a preference so that the throttling feature can be disabled.
* Added a variable called {upload_url} and {smiley_url} which allows the stand-alone entry form to have a link to the upload and smiley utilities. See user guide for info.
* Added two new parameters to the {exp:weblog:categories} tag (see user guide).
* Added two new parameters to the {exp:weblog:category_archive} tag (see user guide)
* Added an alternative way to fetch CSS files. You can now code URLs that look like standard EE URLs as long as they include the “css” segment: http://www.yoursite.com/index.php/css/weblog/weblog_css/
* Added a new member profile preference: Accept Private Messages. This allows each user to choose whether to accept private messages from other users.
* Fixed a security problem in the xml-rpc libraries.
* Fixed an issue with references that was causing EE not to work with PHP 4.4.0
* Fixed a CAPTCHA problem in the contact/tell-a-friend forms.
* Fixed an encryption bug that creates problems logging in when md5 is the stored preference.
* Fixed a problem when creating a new template using a user-stored template file.
* Fixed a problem with the height/width variables in member photos.
* Fixed a problem that prevented an admin from editing a users avatar.
* Fixed a redirect ID when deleting trackbacks
* Fixed a javascript error in the pmachine import utility
* Fixed a URL problem with the xml-rpc files
* Fixed an error that happens if you select the RSS templates when creating a new weblog.
* Fixed a path problem that prevents the control panel CSS from working on some servers.
* Fixed an undefined variable error in the communicate page.
* Fixed an error that happens when logging in if you have a particular preference set.
* Fixed the {custom_profile_data} tag, which was not working initially in 1.3.
* Fixed a blacklist problem when character entities do not end with a semicolon
* Fixed a word censoring bug
* Fixed a bug in the pMachine import utility that occurs when the two DBs have different users.
* Fixed a bug that affected the conditional in the comment script.
* Fixed an error that can occur if servers being pinged fail to accept the response.
* Fixed a blacklist bug that allowed people to ban themselves in some cases.
* Fixed a bug that cause an error when clicking a smiley during previews.
* Fixed a metaweblog API problem if when editing an entry, if there were no categories.
* Fixed a metaweblog API problem in which MarsEdit was only allowing the 10 most recent entries.
* Fixed an error message that can occur if you put your comment preview tag on the comment page itself.
* Fixed a language problem in the pagination script that forced English to be used.
* Fixed some typos in the language files.

ExpressionEngine 1.3 is about to enter beta.

And it looks like it’s going to bring a lot of goodies with it. Rick and the crew just migrated the pMachine website over to ExpressionEngine 1.3 Beta in preparation. It was still running under their pMachine software previously because that had a forum functionality that EE didn’t… until now. The new forum module for ExpressionEngine is impressive and is one of the things I’m most excited about. We have forums here on SEB already running under a different package, but integrating it into the main site hasn’t ever worked quite right and it used a separate membership database than EE does. As a result it’s a bit on the neglected side, but with the new forum module for EE I hope to change all of that.

In addition to that there’s going to be a bunch of new features in EE itself. A full list of changes hasn’t been made available yet, but digging around on the new homepage in the Feature Grid reveals a few tidbits of what’s coming. Things such as a Spell Checker, Member Avatars, Member Photos, and Member Signatures, support for both the MetaWeblog and MovableType APIs, and a new Updated Sites module. It’s been awhile since the last major update for ExpressionEngine was released so it should be fun seeing what the new version can do. The new forum module alone should make for some interesting possibilities. So stay tuned as I suspect the beta will probably be opened up to the public in about a week or so.

SEB is testing a new Polling module.

Fellow ExpressionEngine user King of Fools has developed a Polling module that allows you to put those little multiple choice poll questions on your EE blog as so many folks are wont to do. He’s already gotten it up to version 1.2 and that means I’m a bit late getting started on helping to test it out, but better late than never.

I must say that it’s really spiffy so far and I’ve always felt that my websites should have polls on them even though when I’ve gone through the trouble of adding them in I never actually bothered to come up with poll questions for them. Still, if there’s ever a question I need a completely unscientific poll about I now have the power to conduct it via SEB. Go ahead and try it out yourself and let me know of any errors you get. It’s over on the sidebar.

ExpressionEngine 1.2.1 now available.

If you’re running ExpressionEngine for your blog you’ll be happy to know that version 1.2.1 is now available. This new release incorporates 15 new templates that were submitted to the template contest with more to come and it fixes various bugs, refines some features, and adds some security enhancements, so all ExpressionEngine users are encouraged to update. Version 1.2.1 is available to all licensed ExpressionEngine users at no charge. This is the release we’ve been testing here at SEB. I’ll probably switching the Guest Entry form over to the new standalone method soon once I’ve got it working properly.

Here’s the complete changelog:

  • Added a stand-alone version of the PUBLISH page, allowing weblog entries to be submitted from a form outside the control panel.
  • Added 15 new themes that were submitted in our template contest. Additional ones will be added later.
  • Redesigned the plugin manager in the control panel.  It now shows all plugins that are available at pMachine.com, and allows plugins to be installed directly from the manager.  Note:  Your PHP installation must support the CURL library in order to auto-install plugins.  Big thanks to Chris Ruzin (http://www.chrisruzin.net) who rewrote the manager for us!
  • Added “new version check” feature which will show a message in the control panel home page when a new version of ExpressionEngine is available.  This feature can be enabled/disabled in the General Preferences page.
  • Added a new tag: {exp:weblog:info}  This tag lets you show some meta data from your weblog.  Please check the user guide for more info.
  • Added URL mapping feature for users who migrated from pM Free or Pro. When enabled, this feature redirects users who try to access old pM URLs to the new EE location.
  • Added a global trackback enabling/disabling switch (weblog preferences page), and updated the behavior of the global comment enabling/disabling switch for better control.
  • Added a new template revision preference that permits the x most recent revisions to be saved, instead of saving all revisions. Template revisions can use up a lot of database space so you are encouraged to use this preference.
  • Added a referrer limiter preference, permitting only the x most recent referrers to be logged in order to save database space.  The number of referrers can be set in the Referrer Preferences page.
  • Added a master “trackback enable” feature.  Similar to the master comment enable preference, it permits trackback to be turned off global for the entire blog.
  • Improved captcha feature.  You can now have a random three digit number appended to all captcha words, making it much more difficult to guess the word.  This can be enabled in the Captcha Preferences page.
  • Improved “entry_id” parameter in the {exp:weblog:entries} tag.  It now allows multiple ids:  entry_id=“1|3|9”
  • Changed the behavior of the gallery next/previous links so that they now cycle back to the beginning if you reach the last image (and vice versa)
  • Added “stop words” to the search module to prevent commonly used words like “and”, “is”, etc. to be searched.
  • Added a new control panel theme submitted by Jesse from http://www.31three.com
  • Added Danish language files
  • Changed the pagination query in the gallery so that it’s more light-weight.
  • Redesigned the “view member” query in the control panel Admin area, making it more light-weight.
  • Fixed a template rendering problem that occurred when using {variables} as tag parameters.
  • Fixed a bug in which category parents were not being shown when using the show_empty=“no” parameter if entries were not assigned to the parents.
  • Fixed an image path problem in the publish page that affected Imagemagick and NetPBM.
  • Fixed a bug that was preventing an entire year of entries to be shown if the month was not specified
  • Fixed an error due to a missing member group item in some installations.
  • Fixed a path bug in the trackback receiving function which was causing the URL of the weblog to be used instead of the comment URL
  • Fixed a bug that was creating extra captcha images in the folder
  • Fixed a bug that was preventing the trackback url randomizer from working when cached.
  • Fixed a date formatting bug when using the %r parameter
  • Fixed a path bug in the trackback RDF code
  • Fixed a bug that was putting the {captcha_word} in the captcha form by default.
  • Fixed a bug that was creating extra captcha images