September 2014 Archives

On September 8th, 2014, Six Apart launched Movable Type v6.0.4.

Almost five months of ongoing development brought up a huge number of bug fixes and new features.

Before going into further details let me add that this version introduced support with PHP v5.5 and MySQLi connections.


Here we go with more details about the new release:

New or Improved Features

Movable Type Advanced

  • Movable Type can now retrieve and properly paginate member and group information from an LDAP server using Active Directory when there are more than 1,500 members. (ticket #111294)
  • If user synchronization is configured on an LDAP environment, it is now possible to sync only specific fields. See the LDAPUserSyncAttributes and LDAPGroupSyncAttributes configuration directive documents for more information. (ticket #111295)
  • The Active Directory "Domain Users" group can now be synchronized. (ticket #110622)


File location will be displayed on the asset editing screen even if the file no longer exists at that location. Previously an "is missing" message was displayed, but that was unhelpful in potentially retrieving the missing file from a backup or elsewhere. (ticket #111794)

Data API

Revision history is now saved when entries are created or updated via the Data API. (ticket #110929)

Additional Template Tags

  • DataAPIScript is a new tag that retrieves Data API script names. (ticket #111815)
  • DataAPIVersion is a new tag that retrieves the Data API's latest version number. (ticket #111815)
  • HasNoParentFolder is a new tag that determines whether or not a parent folder exists. (ticket #110710)
  • HasNoSubfolders is a new tag that determines whether or not subfolders exist. (ticket #110710)

New Plugins Available

The following plugins have been created from code removed from various Movable Type core files and are now required to support mt-view.cgi and mt-add-notify.cgi. They do not come packaged with Movable Type Pro or Movable Type Advanced, and technical support is not available.
  • mt-plugin-mtviewer
  • mt-plugin-notifylist

Additional Modifiers

  • The parent modifier can now be used with the WidgetSet tag. (ticket #111700)
  • The include_private modifier can now be used with the Tags tag. (ticket #111633)
  • The raw modifier, which prevents underscores in theme IDs from being replaced with hyphens, can now be used with BlogThemeID and WebsiteThemeID. (ticket #110304)
  • The ignore_archive_context modifier, used to escape from the current archive context, can now be used with the Assets tag. (ticket #111351)

PHP 5.5 Support

  • PHP 5.5 is now supported. (ticket #110627)
  • Connections with MySQLi are now supported. (ticket #110725)


Data API

  • Login requests using the DataAPICORSAllowOrigin configuration directive are now possible for published websites or blogs. (ticket #111411)
  • The session will not distinguish between different caller paths originating from the same application. (ticket #110473)

Websites and Blogs

A forward slash (/) will be automatically added to the end of all site URLs that do not have one included. (ticket #112148)

Template Tags

  • If a trim_to modifier has a negative number value, that number of characters will be trimmed from the end of the output. (ticket #111767)
  • The AssetCount tag no longer includes system generated thumbnails in the asset count total. The output of the AssetCount tag now equals the number of assets output by an Assets block. (ticket #80745)


The language specified by the DefaultLanguage configuration directive will now also be used on the login screen. (ticket #110443)

For Developers

  • The fourth item called by the MT::Revisable::Local object_from_revision function will be returned as the Revision object. (ticket #111864)
  • It is now possible to assign a subroutine to a Data API resource's updatable_fields condition in the config.yaml file. (ticket #111497)
  • For all objects based on MT::Object, secondary sort is now performed using the primary key. (ticket #110910)


Alert messages will appear when values for the following settings are overwritten in the mt-config.cgi file:
  • EmailAddressMain
  • DebugMode
  • PerformanceLogging
  • PerformanceLoggingPath
  • PerformanceLoggingThreshold
  • UserLockoutLimit
  • UserLockoutInterval
  • IPLockoutLimit
  • IPLockoutInterval
  • LockoutIPWhitelist
  • LockoutNotifyTo
  • TrackRevisions
  • DisableNotificationPings
  • OutboundTrackbackLimit
  • OutboundTrackbackDomains
  • AllowPings
  • AllowComments
  • CommenterRegistration
  • DefaultTimezone
  • DefaultUserLanguage
  • DefaultUserTagDelimiter
  • NewUserAutoProvisioning
  • NewUserBlogTheme
  • NewUserDefaultWebsiteId
  • UserPasswordValidation
  • UserPasswordMinLength

The following modules have been added to the list of perl modules checked by mt-check.cgi and the installation wizard (ticket #111408, ticket #111550, ticket #111234):
  • Time::HiRes
  • IO::Socket::SSL
  • Mozilla::CA
  • Crypt::SSLeay
  • XML::SAX::ExpatXS (1.30+)
  • XML::LibXML::SAX (1.70+)
  • XML::SAX::Expat (0.37+)

YAML::Tiny (packaged with Movable Type) has been updated to version 1.62. (ticket #111716)
TinyMCE has been updated to version 3.5.10. (ticket #111547)

Solved Issues

Movable Type Advanced

On environments with LDAP authentication enabled:
  • authentication would fail if the LDAP username included parentheses. (ticket #112170)
  • an installation wizard error would occur if a connection could not be made to the LDAP server. (ticket #112177)
  • it was not possible to progress past the installation wizard's account creation screen. (ticket #112208)
If an LDAPGroupIdAttribute configuration directive contained parentheses and a group sync was attempted, that group would be deleted from Movable Type. (ticket #111647)

Installing and Upgrading

  • Users with certain environments could not complete the installation wizard. (ticket #111489)
  • Movable Type could not be installed successfully on environments using SQLServer and FastCGI. (ticket #110790)
  • When using DBD::Oracle 1.55 or above, certain database tables were updated unnecessarily upon upgrade. (ticket #111758)
  • Some messages were not completely translated. (ticket #112229)

Websites and Blogs

  • Website archive URL input validation was not working correctly. (ticket #111473)
  • On a Windows environment, if the BaseSitePath configuration directive was left undefined, the site path would not reflect the correct value following restoration from backup. (ticket #111480)
  • On environments with specified website paths, the path name for blog site paths would not reflect the correct path following restoration from backup. (ticket #110481)
  • Site URL input validation was not working correctly during new website creation. (ticket #111311)
  • "Vox" was mistakenly displayed as an authentication method. (ticket #111361)
  • The word "blog" was mistakenly used on the website settings screen. (ticket #111279)
  • When using subdomains with blogs, input validation would not work for subdomain values. (ticket #111373)
  • After saving website or blog settings, some sections of the generated log were not being translated. (ticket #111965)
  • After saving blog settings, unnecessary parts of the revision history would appear in the generated log. (ticket #111739)
  • On the entry or webpage creation screen, input validation was not working for entry basename, listing limit and excerpt character limit. (ticket #55672)

Custom Fields

  • After previewing an entry or page that contains image custom fields and then returning to edit the entry or page, the image data became corrupted. (ticket #111714)
  • If the basename for a custom field contained a hyphen, the field would not be included in an entry export file. (ticket #111735)
  • On the configuration screen for page custom fields, if a folder was selected, all other folders with the same basename as the selected folder would also be selected. (ticket #111645)
  • Custom fields specifically related to a category in a saved entry would continue to be displayed even if that category was removed. (ticket #111309)
  • Some sections of the filtering options on the custom field listing screen were not translated. (ticket #111896)

Data API

  • Entry excerpts were not always properly generated and returned. (ticket #112138)
  • Depending on the caller's URL, getTokenData could return an incorrect token. (ticket #111875)
  • When updating an entry, the entry's tags could not be removed. (ticket #111485)
  • An error would occur when the Data API was used to save entries with specified trackback destinations. (ticket #111601)
  • The correct data would not be retrieved during Google Analytics data retrieval. (ticket #111346)

Backup ad Restore

  • If an error message appeared due to a restoration failure, the transition to the login screen was not possible. (ticket #111847)
  • If the OS differed between the backup and restoration locations, path separation character strings would not transition to the restored location. (ticket #111090)
  • Entry scores were not restored correctly. (ticket #111319)


  • The Eiger theme would fail to load if YAML::Tiny was in use.( ticket #111825)
  • The wording on the system theme listing has been revised. (ticket #111816)
  • ZenBack would not display in preview mode. (ticket #111347)
  • <meta name="description" ...> would be mistakenly displayed if the summary contained an equal or unequal sign.( ticket #111360)
  • The title and description of a community blog or community forum would not be displayed if using dynamic publishing. (ticket #111366)
  • After posting an entry to a community blog or community forum, an error would occur if the "Sign Out" link was clicked. (ticket #111265)
  • An incorrect input validation error message would appear when posting an entry from a community blog or community forum. (ticket #112250)
  • The Rainier theme's translated about page has been revised. (ticket #111840)

  • Templates

    • For website templates modules and widgets, when an entry or page was created or updated, the disable cache option could not be selected. (ticket #112127)
    • The refresh template confirmation message has been revised. (ticket #111817)
    • Old administration screen headers would be displayed in preview mode. (ticket #111742)

    Dynamic Publishing

    • An error message would occur if SHIFT_JIS was selected for PublishCharset. (ticket #111116)
    • The template module cache activation period was not being determined correctly. (ticket #112140)

    Template Tags

    • Results were not being generated when the AuthorUserpicURL tag was used in the Entries block tag. (ticket #111377)
    • If a custom field was in use, the sort_by modifier for the Entries tag had issues sorting and comparing character strings. (ticket #111404)
    • An error would occur if the Calender tag category modifier was left unspecified. (ticket #111851)
    • The ignore_archive_context modifier would not work when used with dynamic publishing. (ticket #111087)
    • The include_with_website modifier could not be used in combination with the Entries/Pages tags. (ticket #112061)
    • If blog_id was specified in the WidgetSet tag, the include template link destination would not be evaluated correctly. (ticket #111700)
    • When the category modifier was used with the Calendar tag, the specified category would not be filtered. (ticket #111945)
    • In a nested If, if the name modifier was omitted and the Else and ElseIf tags were used, the calculated result would be incorrect. (ticket #111805)
    • If the type modifier was used with the IfCategory tag outside of an entry context, the correct error message would not be displayed. (ticket #111793)
    • The trim_to modifier could not have 0 after the plus sign in the value. (ticket #111778)
    • The convert_breaks modifier did not work with the EntryExcerpt tag. (ticket #111709)
    • Even after a vote was deleted, IfEntryRecommended would continue generating results as if the vote were not deleted. (ticket #111297)
    • If the regex_replace modifier was used on a character string containing the @ character, it would not work correctly. (ticket #111688)
    • The regex_replace modifier would not work correctly when used with the < and > characters. (ticket #111691)
    • The role modifier would not work correctly for certain role names when used with the Author tag. (ticket #111534)
    • Results generated by CustomFieldHTML could differ for static and dynamic publishing. (ticket #111451)
    • When determining whether to execute code in an Unless tag for an array variable, an error could occur if dynamic publishing was in use. (ticket #111460)
    • Japanese would become garbled if the nofollowfy modifier was set. (ticket #111350)
    • If Assets was used with a date based archive, the date filters currently being processed would be mistakenly used. (ticket #111351)
    • When filtering by custom field within the Entries tag, an error would occur if the offset value was higher than the limit. (ticket #111398)
    • If a value including a character other than a number was used with the AssetThumbnailURL width and height modifiers, a thumbnail would not be generated. (ticket #109425)

    Entries and Pages

    • If the host or domain differed between the admin screen and the published site, the URL link to the editing screen for inserted items would be displayed incorrectly. (ticket #111996)
    • If the body text and read more were replaced, the text area height would also be changed. (ticket #111751)
    • The English translation for the search box label was revised. (ticket #111640)
    • The tag auto-complete function was erroneously detecting symbol input. (ticket #111441)
    • When an existing entry was saved, depending on the archive mapping, the entry's permalink would reflect the older value. (ticket #111456)
    • When using the rich text editor with Internet Explorer 11, The "Edit HTML source" button would not work. (ticket #111547)
    • When returning to the editing screen from preview mode, the "Entry item" widget display would break. (ticket #111587)
    • When using Safari or Chrome, the HTML would break if an image inserted in the rich text editor was selected and then swapped with a different image. (ticket #111917)
    • After a tag was added to a selected entry or web page from the listing, the "update date" information would not update. (ticket #80072)
    • When using the publish queue, even after an entry status was set to "unpublish", the published file would not be deleted. (ticket #111248)


    If a published entry was unpublished, the entry information would not be displayed in the top access stats. (ticket #110904)

    Server Syncing

    • Syncing was not working consistently. (ticket #111253)
    • If FTP connection information (login user name, password, etc.) included symbols, syncing would not work properly. (ticket #111877, ticket #111326)
    • If SSL use was edited to either enabled or disabled, the save button became unusable. (ticket #111328)
    • If a scheduled task was scheduled and set to ignore a website or blog's offset, the task would not be processed at the specified time. (ticket #111344)


    • When uploading an asset, if the upload destination folder name beginning with a path delimiter (either / or \) was entered, the internal file reference destination would be given an invalid value. (ticket #111668)
    • If an asset upload was canceled, the asset record and the uploaded file could remain. (ticket #80850)
    • If an asset's cache directory could not be created, the thumbnail's file path would be displayed incorrectly. (ticket #82495)

    Comments and Trackbacks

    • CAPTCHA would be displayed even if a commenter was signed in. (ticket #110897)
    • The CommentCustomFields tag was added to the comment details template. (ticket #110922)

    Smartphone Option

    • Styles would break when viewed on iOS 7. (ticket #111439)
    • A JavaScript error would occur when body text was entered on a smartphone. (ticket #111474)

    For Developers

    • If two of the same filename were passed to the MT::FileMgr->rename, the specified file would be deleted. (ticket #111881)
    • When using dynamic publishing, if multiple values were specified for UserPasswordValidation, only the first value would be retrieved. (ticket #111823)
    • The $count (search result number limit) passed to the callback from MT::App:Search would not use the limit count parameter. (ticket #110758)
    • The MT::CMS::Common::is_disabled_mode,,, and callbacks would not be called when the "Registration/Authentication" settings screen was opened. (ticket #110977)
    • The MT::CMS::Common::is_disabled_mode,,, and callbacks would not be called when the "Community" settings screen was opened. (ticket #110978)
    • An error would occur when the MTDatabase class (PHP) MTDatabase tags_entry_count variables were called. (ticket #111654)
    • The set_notification_dashboard callback would be called multiple times. (ticket #111445)
    • When the set_notification_dashboard callback called XHR, nothing would happen. (ticket #111283)
    • In the Listing Framework, if either the author_id or created_by columns were left blank, an undefined user name would be displayed. (ticket #111382)


    • The search results listing column was not being displayed correctly. (ticket #111792)
    • User images could not be changed in some situations. (ticket #111785)
    • When operating under a PSGI environment, the execution environment was mistakenly displayed as CGI in the system information. (ticket #111741)
    • The Community Pack would not load if YAML::Tiny was in use. (ticket #111733)
    • If using IO::Socket::INET6 version 2.57 or earlier, an error would occur when connecting to Google Analytics. (ticket #111396)
    • In Internet Explorer, it was not possible to scroll in image pop up windows linked to items embedded in entries. (ticket #81259)
    • An error would occur when setting classification filters for the system log. (ticket #111619)
    • System information was not being displayed in the language specified by the user. (ticket #111484)
    • On the pages search result listing, the creation date was being listed in the last modified line. (ticket #111603)
    • If a scheduled publish and scheduled unpublish occurred at the same time, the published entry would not appear in the archive. (ticket #111612)
    • Styles would break in preview mode. (ticket #110746)
    • The listing style would break if viewed in Internet Explorer 11. (ticket #111050)
    • When Imager was used as the ImageDriver, an error would not occur when libjpeg could not be found. (ticket #105860)
    • An error would occur if attempting to access mt-cp.cgi without a parameter. (ticket #111298)
    • An error would occur if the user changed his language settings. (ticket #111335)
    • Automatic redirect to mt-wizard.cgi was not occurring on FastCGI environments. (ticket #111278)
    • A spelling error in HidePerformanceLoggingSettings was corrected. (ticket #111563)
    • If run-periodic-tasks was executed with Perl 5.8.x, an invalid regular expression error would occur. (ticket #111773)
    • If syncing failed on the group listing, an error would occur if the link to the log listing included in the sync fail error message was clicked. (ticket #112210)

    Knows Issues

    • The regex_replace modifier does not work correctly if the target character string contains double quotations. (ticket #111870)
    • There are several known issues and restrictions with Movable Type 6. For more information, please see Movable Type 6 Installation Notes.

    My recommendation to you is to upgrade your installation to this version and enjoy all these improvements, even if you are running v6.0.3.
    If you're running an older version upgrading is a must because the previous version (v6.0.3) introduced a fix for a security issue present on previous versions of movable type v5.x and v6.x

    Go ahead and play with movable type v6.0.4 from:

    Login as:
    - username: demo
    - password: testthis

    On April 9th, 2014, Six Apart launched Movable Type v6.0.3.

    This release include a number of bug fixes, a new configuration directive and a security fix.

    The newly introduced directive is called 'DBBlobMaxLen' and it would allow you to set the database driver buffer size. You could increase this setting beyond 512KB using this directive, but pay attention because this would raise your server CPU usage.

    As for the bug fixes, you should know that the following areas have been improved:


    A problem with data not being displayed properly on the Site Stats widget graph has been fixed.

    Entries and pages

    A problem that occurred when having the 'PreviewInNewWindow' configuration directive enabled has been fixed. The problem was that entry or page preview temporary files weren't automatically deleted with this directive was enabled.


    A problem that occurred when having the 'RPTProcessCap' directive enabled has been fixed. Sometimes the number of run-periodic-tasks processes that can run simultaneously on the server was not respected.

    Finally, the error "Cannot find column 'blogs' for class 'MT::Blog'" that was occurring under certain situations upon browsing to the Dashboard page has been corrected.

    Since a security fix is involved it is recommended that you upgrade your installation ASAP. If you need any help, I'm available.

    You could evaluate movable type v6.0.3 from:

    Login as:
    - username: demo
    - password: testthis


    If this initiative is useful for you, please consider making a paypal donation or getting your movable type project done with PRO IT Service.

    We're the right people for movable type consultancy services including: installations, upgrades, themes, templates, consulting, troubleshooting as well as hosting.

    The complete range of movable type services you might be looking for!


    We would love to work on any movable type jobs you might have! To find out more about the movable type services we're offering click here.

    You may like to know that we're offering a broad range of web development services as well as professional website hosting service in partnership with Pair Networks, Inc. from Pittsburgh, PA, USA.

    Check out everything we're proudly doing by visiting


    Would you like to be updated every time there is a movable type release? If you do, then subscribe for email updates filling out the form below.


    Delivered by FeedBurner


    This is a personal website and doesn't have anything to do with Six Apart nevertheless Chris Alden, the former Six Apart CEO, appreciated my idea when he saw it available online.