Results tagged “movabletype”

melody-logo-mark-on-white-thumb-200x200-7.jpg Today Melody was announced as a fork of the perl-based Movable Type platform. I helped the Melody project as it prepared to launch, in part advising on how to best to relate to the Perl community.  One of the stated interests of Melody is to refactor the project to use CGI::Application, which I maintain. Tim Appnel has already spelled out  a vision of what a "CPANization" of Movable Type might look like, and I've looked in depth at what the initial steps towards using CGI::Application could be.

My own vision for Melody is a code base that's very focused on publishing and content management, with all the infrastructure outsourced to CPAN modules that are well-written, well-documented, and well-tested.  The collaboration between Melody and CPAN would be a two-way code flow. While there are more CPAN modules that Melody could make use of, there are number of pieces of Melody which should be packaged as independent modules on their own and released to CPAN. One example is the great "dirification" that already exists in Movable Type. This is the functionality that turns any given string of words into a reasonable representation in URLs. It seems like an easy problem on the surface, but Movable Type has a sophisticated solution that takes into account what it means to do this well across many different languages. I also couldn't find any existing CPAN module which already takes on this problem space, so I started to extract this out of Movable Type myself and published a draft of String::Dirify. For that initial release, I ripped out all the fancy multi-language support, and there is still more significant work to be done to untangle this layer from from Movable Type. ( If you want to pick up that project and work on it, there's also some discussion of testing String::Dirify).

While Movable Type already had an open source release, I expect Melody to have  a more adventerous evolution, and I look forward to it becoming a shining star in the Perl community, not just for the exterior functionality, but also because internals have an opportunity to become an example of best practices.
"Feed Widget" allows you to easily display RSS and Atom feed summaries in your Movable Type templates. Just unpack the zip file and put "Feed_Widget" in your plugin directory. Then,
you'll have the following new tags available to you:

  • OSFeed uri=""

    A container tag representing a feed (RSS or Atom) feed. The "uri" argument is required and should be the URI of the feed.

  • OSFeedEntries [ lastn=""]

    A container tag that will loop through the entries of the current feed.  Entries are returned in the order that they appear. Using "lastn" limits the total number.

  • OSFeedEntryTitle

    The title of the current feed entry within the current OSFeedEntries loop.

  • OSFeedEntryLink

    The URL of the current feed entry within the current OSFeedEntries loop.

Here's a complete example:
<div class="widget-archive widget">
<h3 class="widget-header">Recently posted on<br/><a href="http://use.perl.org/~markjugg/journal">use.perl</a></h3>
<div class="widget-content">
<mt:OSFeed uri="http://use.perl.org/~markjugg/journal/rss">
       <ul class="widget-list">
         <mt:OSFeedEntries lastn="10">
        <li class="widget-list-item"><a href="<mt:OSFeedEntryLink>"><mt:OSFeedEntryTitle></a></li>
         </mt:OSFeedEntries>
           </ul>
</mt:OSFeed>
</div>
</div>

(The "OS" in the tag names stands for "open source" and is to avoid conflict with Feeds.App, which uses similar names).

The plugin does use caching and conditional requests to minimize publishing overhead. However, it does not handle periodically rebuilding the site to reflect changes in the feeds. Look into a tool like mt-rebuild to handle that part.

This plugin is free, open source software, and is licensed under the same terms as Perl.

I've now created the "Refeed Lite" plugin, which is based on the Refeed plugin, but created primarily to be easier to install by reducing external dependencies. It has the following differences:

  • It depends on far fewer Perl modules, and the ones it does need are bundled with it, so there is nothing else to install.
  • It use MT Perl API directly for posting, which should be faster than the web-service API it was using.
  • "Feed Autodiscovery" is no longer supported. (It was an undocumented feature of Refeed). You have to know the actual URL of your feed now.
  • Time zone handling may have gotten worse. This is likely fixable. Patches welcome.
  • There is now a hidden feature to specify which category from a particular feed are published into. When you are adding one-feed-per-line, you can now add "||Your Category Name" after the feed URL. Don't include any spaces before or after the bar. A patch to have separate fields for the URLs and categories would also be welcome.
  • We no longer prefix the feed name in the title. A patch to make this an option would also be welcome.

Installation

  1. Download the zip file and upload the "Refeed Lite" directory into the "plugins" directory in your MT installation.
  2. To configure Refeed Lite, go to the Plugins management page in your MT installation, and click on Refeed Lite to set up your feeds.
1

Recent Comments

Close