Selective Cloner is plugin for Movable Type that enables administrators to clone (copy) existing blogs. Unlike the blog cloning tool that comes with MT, Selective Cloner only clones Blog Settings, Permissions, and Templates. This plugin enables you to quickly create new blog with all of the same settings and templates as an existing blog -- in seconds you can have a new blog up and running, with the same look and feel. This is handy for blog networks or organizations who have more than one blog with the same templates.

Installation

Upload the contents of the 'plugins' directory to the 'plugins' directory of your MT install.
Go to "Manage Blogs" at the system level, click the checkbox beside the blog you want to clone, and choose "Clone Blog (Perms,Settings,Templates)".

License: GPL

Download Selective Cloner

Download Now
Downloads: 282

Convert To Global Template is a plugin for Movable Type 4.1+ that does exactly what it says: it enables you to convert blog templates to global (system-wide) templates in MT 4.1.

Movable Type 4.1 has a new feature in which you can create template modules and widgets at the system level. These "global" templates can then be included from any blog in the system. This plugin enables you to convert blog-level modules and widgets to global ones, in just a few clicks. Simply check the templates you want to convert, choose "Convert to Global" from the "more actions..." dropdown box, and hit Go.

You can also convert in the other direction, from global to blog level.

Requirements

  • MT 4.1+

Installation

  1. Upload the contents of the 'plugins' folder to the 'plugins' directory of your MT install.
  2. Convert templates as desired from the Blog Templates listing of modules and widgets.

Note: Only users with system admin permissions will be able to see and use this action.

Get Convert To Global Template

This plugin is free to members of MT Hacks.

Download Now

Download Now
Downloads: 197

Membership required, please sign-in or register:


Designed to be used with the Template Installer plugin, Template Exporter is a plugin for Movable Type that enables you to easily export your blog templates in a way that can be shared, distribute, or even sold to to others.

New in Version 1.1

  • Support for the new "Template Sets" feature in MT 4.1. Starting with MT 4.1, when you create a new blog, you can choose from multiple template sets to use. Template Exporter v1.1 enables you to export your current templates into sets that you can chose when creating new blogs, in a very easy way. More info on this feature below.
  • The code has been optimized to improve performance.

Note: templates exported with version 1.1 of Template Exporter cannot be install with older version of the Template Installer plugin, you will need Template Installer v1.1 (or higher).

Also note that version 1.1 can be used with both MT 4.01 and MT 4.1.

Screencasts

The easist way to describe how Template Exporter works is to show you. The first video below shows how you can export all of a blog templates:

And the the following video shows how you can export only selected templates:


Potential Uses of Template Exporter

This plugin can be put to use in several ways:

  • To create a "backup" of their templates, which can be re-installed later if desired.
  • To copy a set of template from one blog (or installation) to another (some call this "template portability").
  • To share your templates with friends, or post them for download on your blog.
  • To package and sell your customized template designs.
  • To deploy a common template design to multiple blogs in an MT installation.
  • To distribute blog Widgets.
  • To distribute blog templates with MT plugins, providing easy installation.

How it Works (if you care)

Template Exporter provides two main functions:

  • It extracts your templates and saves them in files named according to the template_identifier or template_name, such as main_index.mtml. Each template gets stored in its own file. (Technical note: if a template has an "identifier" field defined in the database, then it will be used for the file name. If not, a "dirified" version of the template name will be used, so "Main Index" will become "main_index".)
  • It automagically creates a YAML file named config.yaml, which defined the configuration information for template set. This includes things like the type and name of the template, and for index templates, the output file and "rebuild with indexes" setting. For example of a Template Exporter config.yaml file, click here.

These files are then saved in their own directory inside a "template_exporter" subdirectory of your blog. You can then use FTP or other means to download the directory and files from there, and subsequent shares the exported template or use with Template Installer to install them on another blog or installation.

Using Template Exporter with the MT 4.1 Template Sets Feature

Movable Type 4.1 includes a feature called Templatee Sets that enables you to choose a template set when you create a new blog. Template Exporter supports this template set format, so you can export your favorite template set and use it as one of the template set choices. No code or plugin creation required. Just use these easy steps:

  1. Go to the Templates area for the blog you want.
  2. Choose the "Export Templates" link from the "Actions" menu on the right side of the page.
  3. Give the new set a name and export it.
  4. Now take the exported set (including the folder that contains the set - for example, if you named it "Cool Style Templates" then the folder would be 'cool_style_templates') and move it into the 'plugins' directory.
  5. Create a new blog and your set will be among the options!

Requirements

  • MT4+

Installation

  1. Download and extract the zip file and upload the contents of the 'plugins' folder to the 'plugins' directory of your MT installation.
  2. Go the blog you want, then Design > Templates then choose the "Export Templates" link from the lower right. (Or, to export only selected templates, check the boxes of the templates you want, then choose "Export Template(s)" from the "more actions" drop-down box, then click "Go".)
  3. Give the template set a name, using only letters, numbers, and spaces, and then click Continue.

Get Template Exporter

Commercial License - $97

Personal License - $33

Comments and suggestions are welcome.

Template Installer is a plugin for Movable Type that makes it easy to install new template sets for your blogs. Combined with Template Exporter plugin, this makes is very easy:

  • For bloggers to share templates / widgets with others
  • For designers to package, sell, and distribute template sets.
  • For companies to deploy template sets to company blogs

Currently, sharing templates requires a lot of cutting and pasting, a very time consuming process. Using Template Installer it takes only a few clicks to install a partial or complete template set in your blog.

New in Version 1.1

Update 1/25/08 13:15 EST:Due to an error on my part, the download link was pointing to the old version for the previous 24 hours. This is now fixed. Please use the download link below to get the new version.
  • Version 1.1 of Template Installer now includes support for MT 4.1. You can use this version with either MT 4.01 or MT 4.1.
  • The code has also been optimized to reduce CPU / memory usage, thus improving performance.
  • No new features have been added.

Note: Template Installer v1.1 can be used to install templates that have been exported using any version of Template Exporter. Templates exported by the new Template Exporter v1.1 cannot be installed with older versions of Template Installer, you'll need version 1.1 for those.

Screencast

The following screencast shows how easy it is to install new templates using Template Installer. In this example, the user chooses to install the "Default Templates", which is handy when you want to revert back to the defaults. The same process would be used to install a completly new set of templates. Click on the video below to watch:

As you can see, it is very quick and easy. As you can see from the last screen, Template Installer will back up your existing templates if they have been customized from the MT defaults.

The missing step from the above example is to upload the desired template set to the /plugins/TemplateInstaller/template_sets directory. No need to edit any files or settings. Once you have uploaded the set, it will appear as an option when you click "Install Templates" from the right side of the Manage Templates screen.

Requirements

  • MT4+
  • Template Refresh plugin (included with MT4)

Installation

  1. Download and extract the zip file, and upload the contents of 'plugins' folder to the 'plugins' directory of your Movable Type installation.
  2. Go to Design > Templates and then choose the "Install Templates" link from the lower right of the page.
  3. Choose a template set from the drop-down box, then click continue.
  4. View the results, then click "return to templates", and you are done.

Included Template Sets

The current version of Template Installer includes 3 template sets:

  • Default Templates - These are the default templates that come with MT4. While you can also use the Template Refresh plugin to re-install these, Template Installer provides easy access to do so. This set is also a good example set to see how it works.
  • Default Templates with Prefix Notation - A version of the default templates that use the new prefix notation. For example, <MTEntries> becomes <mt:Entries>, and so on. This template set will have the same output in your published blog as the default set, only the notation used is different. Note that the tags in this are not complete lowercases (it used mt:EntryTitle and not mt:entrytitle) Thank you to Marleen Zachte for creating this set and giving permission for its inclusion with this plugin!
  • Page Template Only - This set will install the MT4 default "Page" template, as well as the included "Page Detail" module. This set will be useful for those upgrading from previous version of MT, since the Page template is not automatically installed on existing blogs, during the MT4 upgrade.
  • 2 Column Layout Header - This set provides a replacement to the "Header" template module. The default MT4 templates use a 3-column layout. If you want to eaily change your blog to a 2-column layout, just install this template set.
  • Template Installer Widget - The set includes a widget template that you can use with the MT Widget Manager to show your support and spread the word about Template Installer. It is also a good example of how Template Installer can be used to distribute and install blog widgets.

Want more template sets?

Template Installer is new, so there are currently not many template sets available. If you have template sets that you would like to share, I will post a link to them here. Please contact me using the contact link in the menu above. You should also check and post your template sets to the following page on the MT wiki: Template Sets for MT4.

Get Template Installer

Template Installer is free to MT Hacks members for commercial or non-commercial use:

Download Now:

Download Now
Downloads: 4852

Membership required, please sign-in or register:

A Feature for Plugin Developers

For certain plugins, it makes sense to distribute custom template or widgets along with the plugin code. In the past, I included a special template installer routine to help users install such templates. In future, I will be use Template Installer for this purpose, and you can too. Rather than ask users to upload your template set to the Template Installer directory and ask them to install the set, I have include a "side door" feature that can be used instead. Using this approach, the templates are stored in a sub-directory of your plugin. Then you can simply present a link to your users to install the templates. The link would look something like this:

<a href="javascript:void(0)" onclick="return openDialog(false, 'install_blog_templates', 'template_path=$your_template_path&set=$your_set_name&blog_id=$blog_id &magic_token=$magic_token&return_args=$your_return_args')">Install Templates</a>

Of course, you will likely use template tags to form this url, but the key things are to make it open a dialog, to set the "template_path" parameter to the path to your template files (relative to the mt root directory), the "set" parameter to name of your set, and you can also set the "return_args" to return the user to your plugin screen after the templates have been installed. When users click this link, they will bypass the "choose a template set" screen and your templates will be installed immediately.

How do I Export Templates for use with Template Installer?

While you could do it manually, and it wouldn't be too hard, you probably want to use the sister plugin, Template Exporter, which automates the process in a single click.

As always, thoughts and suggestions appreciated.

Cache Block is a plugin for Movable Type that can dramatically speed up publishing by caching blocks of built template code. Cache Block is very flexible, enabling you to cache an entire page, a small template snippet, a template module, a sidebar widget, and entire sidebar, etc. Each block can be set to expire after a certain duration -- some blocks you may want to cache for 5 minutes, others for hours, or even days. When used wisely, the result is significantly faster publishing times and faster comment-posting.

Cache Block on ReadWriteWeb

ReadWriteWeb is a very popular technology blog with many entries and comments. And with over 130 front page Diggs and counting, ReadWriteWeb gets a lot of traffic. With the goal of speeding up publishing and comment posting, I recently implemented Cache Block on ReadWriteWeb. Combined with other optimizations, Cache Block helped to significantly improve publishing speed and now comments post much faster. This is one example of Cache Block being used on a live, busy site.

How It Works

For each page that is published by Movable Type, a large number of template tags are evaluated by the system, which often requires many database lookups. The Cache Block plugin strives to reduce those database lookups by caching groups of template code that has already been evaluated. For example, suppose you decided to cache your entire sidebar. The first time MT publishes that sidebar, it will do many database lookups to generate lists of recent entries, comments, lists of archives and tags, etc. After that, the Cache Block plugin will take all of that sidebar HTML and save it in the cache. The next time MT needs to publish your sidebar, it will find it in the cache, so it will skip the evaluation and related database lookups for the entire sidebar, and simply fetch the pre-built sidebar from the cache. This can speed up the process a lot. Imagine if you are trying to publish a 1000 page site, and each of those pages includes the sidebar!

Behind the scenes, Cache Block checks to see if memcached is available and enabled. If it is, CacheBlock will stores blocks using memcached, which is very fast. BUT, you don't need to have memcached! If memcached is not available, Cache Block will simply store the block in the database. As such, it will still require a database lookup to retrieve it from the cache, but you can save dozens or even hundreds of database lookups by caching significant segments of built template code, by replacing them with a single lookup to the cache. Even without memcached, Cache Block can dramatically speed up publishing.

Template Tags

Cache Block has just one template tag:

  • <MTCacheBlock> - This container tag should be wrapped around the block that you want to cache. Everything between the opening <:MTCacheBlock> and the closing </MTCacheBlock> will be saved as a single block in the cache. There are several arguments for this tag:
    • key - (Required) The key argument represents the cache key, a unique identifier for the cache block. Each block should have unique key. Note that keys are not namespaced on a per-blog basis -- meaning that a key of "foo" used in one blog will overwrite a key of "foo" on another blog.
    • expiry - (Required) The number of minutes that the block will be stored in the cache. Longer expiry times will result in more speed improvements, but the ideal expiry depends greatly on the content being cached and the volume of activity of your site.
    • refresh - (Optional) This argument is designed for temporary use only. Adding refresh=1 will force an update of the cache. In other words, with this argument, blocks will never be fetched from the cache. This argument is useful when you are making design changes to your templates, and you want to refresh the cache block so that you can view your changes on your site. After your template editing is complete, remember to remove the refresh=1 from all MTCacheBlock tags, so you can once again reap the benefits of the cache.

Cache Block Expiry

For Cache Block stored in the database, blocks are expired by a scheduled task that is set to run once per minute, at most. To ensure timely expiry of cache blocks, I strongly recommend that you set up a cron job to run the /tools/run-periodic-tasks script on a regular frequency that is consistent with your caching strategy. Click here for more information about scheduled tasks and setting up a cron job.

Cache Block Pro

Cache Block Pro includes the same powerful caching features, and adds powerful administration tools to facilitate further optimization and management of your Cache Blocks. Features include:

  • Flush Entire Cache - This useful function provides a quick way to flush your entire cache. Normally, you wouldn't want to do this, but during a redesign of your site, this one can come in handy.
  • Cache Blocks Widget - When you are editing a template, this widget will appear on the right side of the page, listing the Cache Blocks used by the template. When possible, listed blocks will have a "flush" link next to them so you can flush a single block easily. You can also click on the linked names of the blocks to view the contents of the Cache Block.
  • View All Cache Blocks - Use this feature to view a list of all Cache Blocks on the system, including the expiry date of each. Note that this feature is not currently available if you are using memcached.
  • Edit Cache Block - Manually edit the contents of specific Cache Blocks and change the expiry dates as desired.
  • View Rendered Block - From the Edit Cache Block screen, you can view the rendered HTML of the block. Instead of view the built HTML source, this will display thye block as it would be shown in the browser (in most cases, without applying your external styles)

Requirements

  • MT3.3+

Note: The Pro features described above require MT4.01 or higher.

Installation

  1. Upload the contents of the 'plugins' folder to the 'plugins' directory of your MT installation (usually /cgi-bin/mt/plugins/)
  2. Start using the >MTCacheBlock> tag in your templates, as described above.

Click here for Cache Block Examples.

Get Cache Block Pro

Commercial License for 1 to 10 blogs - $97

Blog Network License for 10+ blogs - $249

Personal License for 1 to 4 blogs - $33

Get Cache Block

Cache Block is free for personal or evaluation use.

Download Now

Download Now
Downloads: 399

Membership required, please sign-in or register:

As always, comments, questions, and suggestions are welcome.

The key to using the Cache Block plugin to speed up publishing is to cache items that may require a lot of resources or database queries to build, that don't strictly need to be updated on every single page build. One thing to keep in mind when planning your caching strategy, is that the posting of new entries and the posting of comments will trigger a automatic rebuild/re-publish of multiple pages of your site. For example, when someone posts a comment, the entry page for that comment gets rebuilt, as does the category pages for all categories of that entry, any date-based archives containing the entry, author archives for the entry author, and all index templates that are set to "rebuild with indexes". As such, the frequency of comments can play a major role in how much publishing activity happens on your site.

Some ideas for Cache Blocks:

  • cache your entire sidebar for 60 minutes
  • cache your entire "Archive Index" for 1440 minutes (a full day)
  • cache your feeds for 60 minutes (so they won't get built on every comment)
  • cache entry summaries and comment detail modules to speed page builds with many entries or comments
  • cache individual sidebar widgets that don't need to be updated frequently
Example: Cache Your Sidebar

If you are using MT4 default templates, you can cache your sidebar as shown below. In this example, the sidebar is cached for 60 minutes.

<MTCacheBlock key="blog1_footer" expiry="60">
<$MTInclude module="Footer"$>
</MTCacheBlock>

Let's assume the above code is on your "Main Index" template. The existing MTInclude is simply wrapped inside an MTCacheBlock container. Note that doing it thos way will only check the cache when the Main Index template is built. But most sites have the same sidebar displayed on multiple pages of the site. If this is true for your site, you can gain even more benefit from wrapping each of those MTInclude blocks, using the same cache key. But be careful -- many sites have unique sidebars for each archive page (entry, category, etc.) -- in such cases you won't want to pull the same "Main Index" sidebar.

Looking at the above example, you may be wondering whether it would be easier to simply place the MTCacheBlock tags inside the "Footer" template module. That way, you wouldn't have to repeat the process for each template that shares the same sidebar. There are two reasons why this is not a good idea:

  1. As a general rule when caching the contents of template modules, you will get more speed gains by placing the MTCacheBlock tags around the MTInclude statement, rather than inside the module itself. The reason is that if MT finds the block in the cache, it won't even bother trying to load and evaluate the included Template Module, which requires a database lookup by itself. In short, you can save at least one database lookup by wrapping the MTInclude tag instead.
  2. The second reason -- at least in this specific example -- is that the default "Footer" module is included for all pages for the site, and it contains some conditional code that creates different sidebars for different pages. As noted above, the sidebar for the Main Index may be different from the sidebar that appears on an Entry archive page. In such case, you need to be very careful. If you placed the MTCacheBlock tags inside the Footer module, then every page would have the exact same sidebar, and that would be the first sidebar that was built and saved in the cache. For example, suppose the first page to publish was one of you Entry Archives. MT would built the special sidebar for that entry ("This page contains a single entry from....", etc.) and save that in the cache with the key "blog1_footer". And then MT would publish your Main Index and MT will check the cache for "blog1_footer" and it will grab that Cache Block and place it in your Main Index. You should always be careful when caching block that include condition logic. For similar reasons, you should also be careful when caching block that are inside looping container tags (see below).

Example: Caching the 'Comment Detail' Module for each Comment

Suppose you have a site that gets a lot of comments. Some of your entries get over 100 comments. Every time a new comment gets added, MT will re-publish your entry page and build the HTML for every one of those 100+ comments. Consider that once a comment has been posted, it rarely changes (unless you edit the comment for some reason). As such it is safe to cache the HTML for each individual comment, so MT won't have to evaluate those template tags for each comment. You can do so as follow, in your "Comments" template module:

<MTSetVarBlock name="comment_cache_key">comment_detail_<mt:CommentID></MTSetVarBlock>
<MTCacheBlock key="$comment_cache_key" expiry="120">
<$MTInclude module="Comment Detail"$>
</MTCacheBlock>

Notice that this example is a little different. Because the MTInclude tag is inside the MTComments container, which is repeated for every comment, we can't use the same cache key for every comment. We need to make sure that we use a unique cache key for each comment. We do this by using MTSetVarBlock to create a variable that represent a unique key. In this case, I chose comment_detail_<mt:CommentID> which will be unique because it includes the commentID number. Once we have saved this unique key in the "comment_cache_key" variable, we can then use that as the key by specifying key="$comment_cache_key" (note the dollar sign to indicate that we are using a variable).

The examples above are just two of the many ways that you can use Cache Block to speed up your MT publishing. Since each site is different in terms of templates, posting activity, traffic, etc., different techniques may work better for different sites.

The Customized Email Templates plugin enables MT4 sites to customize email notification templates on per blog basis. Using the familiar MT4 template management screens, you can easily customize the emails that get sent out by the system. For example, you could change the order of comment fields, remove unwanted items, or add new pieces of information to suit your needs.

How it Works

When MT is ready to send an email, the plugin looks for template modules in that blog with the same names as the default system filename. The key names are:

  • new-comment.tmpl
  • new-ping.tmpl

If the module is not found, the system default will be used (same as without the plugin). If a match is found, the template module will be used instead of the system default.

Note that these template modules are special, because they are a hybrid of an "application template" and a "blog template". What this means is that you will see a lot of <mt:var tags, which are variables that are set by the system. In addition to these tags, you can also use normal <MTCommentXXX, <MTCommenter and <MTEntryXXX tags when customizing these templates.

Template Sets

As a separate download, I have created a template set to get you started: This template set includes template modules for both comment notifications (new-comment.tmpl) and trackback notifications (new-ping.tmpl). Remember, it is important not to rename these modules.

These templates are virtually identical to the system defaults, but I have included two enhancements to the new-comment.tmpl template:

  • If the comment was made by a authenticated commenter, the Auth type will be shown after their name. For example, it would show "Commenter name: Bob Sakamano (Vox)".
  • I have modified the "View comment" URL so that it includes the anchor #comment-<mt:CommentID>. These means that when you click the link, it will go directly to that comment on the page, rather than to the very top of the page. This is handy for sites that get a lot of comments, and you have scroll all the way down to view the new comment and/or reply.

Requirements

Installation

Download and extract the zip file. Upload the contents of the 'plugins' folder to the 'plugins' directory of your Movable Type installation.
For each blog that you want to customize, install template Modules to be used. Download the template sets and install them using Template Installer. (Advanced users can create these manually, but they must be named as described above.)

Get Customized Email Templates

Commercial License - $97.00

Personal License - Free

Customized Email Templates is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 191

Template Set:
Download Now

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

These Movable Type Podcasting Templates are designed to be used with the Podcasting Plugin, created by Byrne Reese. In fact, the templates were created by Bryne, and I have simply package them up so you can easily install them with the Template Installer plugin.

Included Templates

Both of the templates below are replacements for the default Atom and RSS templates. Note that these can be used on any blog, even if you are not podcasting. The templates will check each entry for a podcast item, and only add the necessary podcasting bits if it finds one.

  • Atom - Movable Type 4 Atom Feed index template with support for podcasts
  • RSS - Movable Type 4 RSS Feed index template with support for podcasts

Requirements

Installation

Install is easy, using the Template Installer plugin:

Download and expand the zip file.
Upload the 'podcasting_templates' folder to the /plugins/TemplateInstaller/template_sets/ directory of your MT4 install. (Make sure to upload both the folder and its contents).
Browse to the blog you want, then go to Design > Templates then click the "Install Templates" link on the lower right.
From the dropdown, choose the "Podcasting Templates" set and click "continue".

Note that your existing versions of these templates will be automatically backed up during the template installation process.

Get MT4 Podcasting Templates

Download Now:

Download Now
Downloads: 166

Membership required, please sign-in or register:

The Customized Sign In Templates plugin enables MT4 sites to customize the commenter sign in and registration screens. MT4 include built-in support for commenter registration and login. By default, the screens where commenters login and register are system templates that bear the Movable Type logo -- they can't easily be customized to reflect the look and feel of your site. This plugin makes it easier to customize these screens.

Before and After Screensnaps

Live Demo

Try it out now on my MT4 Test Blog. Click here and then click the sign in link to post a comment.

How it Works

When someone clicks the "sign in" (or to sign up) link for a particular blog, the plugin looks for template modules in that blog with the following names:

  • Member Login
  • Member Signup
  • Member Signup Thanks

If the module is not found, the system default will be displayed (same as without the plugin). If a match is found, the template module will be used instead of the system default.

Note that these template modules are special, because they are a hybrid of an "application template" and a "blog template". What this means is that you will see some different template tags, some that begin with <mtapp:. Its best not to mess with those too much, unless you really know what you are doing.

Template Sets

As a separate download, I have created two template sets to get you started:

  • System Default Sign In Templates - these are identical to the ones that ship with MT, but installing this set (using the Template Installer plugin) will create Template Modules in your blog, so you can start customizing from there.
  • Blog Style Sign In Templates - This set has already been customized to use your blog's style, header, and footer.

Requirements

  • MT4

Installation

Download and extract the zip file. Upload the contents of the 'plugins' folder to the 'plugins' directory of your Movable Type installation.
For each blog that you want to customize, install template Modules to be used. Download the template sets and install them using Template Installer. (Advanced users can create these manually, but they must be named "Member Login", "Member Signup", and "Member Signup Thanks".)

Get Customized Sign In Templates

Commercial License - $97.00

Bonus: Those who purchase a commercial license will subsequently receive a version that enables customization of the password recovery screens. For technical reasons, this part was not as easy to accomplish, but I will create a solution and make it available to those who buy a license.

Personal License - Free

Customized Sign In Templates is free for personal, non-commercial use.

Download Now

Download Now
Downloads: 354

Template Sets (both are the same zip file):
Download Now

Membership required, please sign-in or register:

As always, comments and suggestions are welcome.

I have created Google Sitemaps template for Movable Type 4 (MT4). This index template can help your site get fully indexed by Google and other search engines. The sitemap template will include the following pages:

  • All entry pages
  • All monthly pages
  • All category pages
  • All category-monthly pages (new in MT4)
  • All author pages (new in MT4)
  • All author-monthly pages (new in MT4)
  • All tag pages

Note: Due to an apparent bug in MT4, I wasn't able to get a listing of "Pages" (new in MT4) to work. I will update the template when that bug gets fixed.

You can install the template using the Template Installer plugin. Note that this template is set to NOT publish automatically when index templates get rebuilt. For performance reasons, you should leave that option unchecked. This means that from time to time you should open the template and choose "Save & Publish".

Download Now:

Download Now
Downloads: 683

Membership required, please sign-in or register:


Designed to be used with the Template Installer plugin, Template Exporter is a plugin for Movable Type that enables you to easily export your blog templates in a way that can be shared, distribute, or even sold to to others.

Screencasts

The easist way to describe how Template Exporter works is to show you. The first video below shows how you can export all of a blog templates:

And the the following video shows how you can export only selected templates:


Potential Uses of Template Exporter

This plugin can be put to use in several ways:

  • To create a "backup" of their templates, which can be re-installed later if desired.
  • To copy a set of template from one blog (or installation) to another (some call this "template portability").
  • To share your templates with friends, or post them for download on your blog.
  • To package and sell your customized template designs.
  • To deploy a common template design to multiple blogs in an MT installation.
  • To distribute blog Widgets.
  • To distribute blog templates with MT plugins, providing easy installation.

How it Works (if you care)

Template Exporter provides two main functions:

  • It extracts your templates and saves them in files named according to the template_identifier or template_name, such as main_index.mtml. Each template gets stored in its own file. (Technical note: if a template has an "identifier" field defined in the database, then it will be used for the file name. If not, a "dirified" version of the template name will be used, so "Main Index" will become "main_index".)
  • It automagically creates a YAML file named config.yaml, which defined the configuration information for template set. This includes things like the type and name of the template, and for index templates, the output file and "rebuild with indexes" setting. For example of a Template Exporter config.yaml file, click here.

These files are then saved in their own directory inside a "template_exporter" subdirectory of your blog. You can then use FTP or other means to download the directory and files from there, and subsequent shares the exported template or use with Template Installer to install them on another blog or installation.

Requirements

  • MT4+

Installation

  1. Download and extract the zip file and upload the contents of the 'plugins' folder to the 'plugins' directory of your MT installation.
  2. Go the blog you want, then Design > Templates then choose the "Export Templates" link from the lower right. (Or, to export only selected templates, check the boxes of the templates you want, then choose "Export Template(s)" from the "more actions" drop-down box, then click "Go".)
  3. Give the template set a name, using only letters, numbers, and spaces, and then click Continue.

Get Template Exporter

Commercial License - $97

Comments and suggestions are welcome.

Template Installer is a plugin for Movable Type that makes it easy to install new template sets for your blogs. Combined with Template Exporter plugin, this makes is very easy:

  • For bloggers to share templates / widgets with others
  • For designers to package, sell, and distribute template sets.
  • For companies to deploy template sets to company blogs

Currently, sharing templates requires a lot of cutting and pasting, a very time consuming process. Using Template Installer it takes only a few clicks to install a partial or complete template set in your blog.

Screencast

The following screencast shows how easy it is to install new templates using Template Installer. In this example, the user chooses to install the "Default Templates", which is handy when you want to revert back to the defaults. The same process would be used to install a completly new set of templates. Click on the video below to watch:

As you can see, it is very quick and easy. As you can see from the last screen, Template Installer will back up your existing templates if they have been customized from the MT defaults.

The missing step from the above example is to upload the desired template set to the /plugins/TemplateInstaller/template_sets directory. No need to edit any files or settings. Once you have uploaded the set, it will appear as an option when you click "Install Templates" from the right side of the Manage Templates screen.

Requirements

  • MT4+
  • Template Refresh plugin (included with MT4)

Installation

  1. Download and extract the zip file, and upload the contents of 'plugins' folder to the 'plugins' directory of your Movable Type installation.
  2. Go to Design > Templates and then choose the "Install Templates" link from the lower right of the page.
  3. Choose a template set from the drop-down box, then click continue.
  4. View the results, then click "return to templates", and you are done.

Included Template Sets

The current version of Template Installer includes 3 template sets:

  • Default Templates - These are the default templates that come with MT4. While you can also use the Template Refresh plugin to re-install these, Template Installer provides easy access to do so. This set is also a good example set to see how it works.
  • Default Templates with Prefix Notation - A version of the default templates that use the new prefix notation. For example, <MTEntries> becomes <mt:Entries>, and so on. This template set will have the same output in your published blog as the default set, only the notation used is different. Note that the tags in this are not complete lowercases (it used mt:EntryTitle and not mt:entrytitle) Thank you to Marleen Zachte for creating this set and giving permission for its inclusion with this plugin!
  • Page Template Only - This set will install the MT4 default "Page" template, as well as the included "Page Detail" module. This set will be useful for those upgrading from previous version of MT, since the Page template is not automatically installed on existing blogs, during the MT4 upgrade.
  • 2 Column Layout Header - This set provides a replacement to the "Header" template module. The default MT4 templates use a 3-column layout. If you want to eaily change your blog to a 2-column layout, just install this template set.
  • Template Installer Widget - The set includes a widget template that you can use with the MT Widget Manager to show your support and spread the word about Template Installer. It is also a good example of how Template Installer can be used to distribute and install blog widgets.

Want more template sets?

Template Installer is new, so there are currently not many template sets available. If you have template sets that you would like to share, I will post a link to them here. Please contact me using the contact link in the menu above. You should also check and post your template sets to the following page on the MT wiki: Template Sets for MT4.

Get Template Installer

Template Installer is free to MT Hacks members for commercial or non-commercial use:

Download Now:

Download Now
Downloads: 4852

Membership required, please sign-in or register:

A Feature for Plugin Developers

For certain plugins, it makes sense to distribute custom template or widgets along with the plugin code. In the past, I included a special template installer routine to help users install such templates. In future, I will be use Template Installer for this purpose, and you can too. Rather than ask users to upload your template set to the Template Installer directory and ask them to install the set, I have include a "side door" feature that can be used instead. Using this approach, the templates are stored in a sub-directory of your plugin. Then you can simply present a link to your users to install the templates. The link would look something like this:

<a href="javascript:void(0)" onclick="return openDialog(false, 'install_blog_templates', 'template_path=$your_template_path&set=$your_set_name&blog_id=$blog_id &magic_token=$magic_token&return_args=$your_return_args')">Install Templates</a>

Of course, you will likely use template tags to form this url, but the key things are to make it open a dialog, to set the "template_path" parameter to the path to your template files (relative to the mt root directory), the "set" parameter to name of your set, and you can also set the "return_args" to return the user to your plugin screen after the templates have been installed. When users click this link, they will bypass the "choose a template set" screen and your templates will be installed immediately.

How do I Export Templates for use with Template Installer?

While you could do it manually, and it wouldn't be too hard, you probably want to use the sister plugin, Template Exporter, which automates the process in a single click.

As always, thoughts and suggestions appreciated.

Template Inheritance is a plugin for Movable Type that enables you to link templates together in a way that one template inherits its template code from another template. One example is when you have two or more blogs in your MT system, and you want to use the same design or template layout for each blog. Using the Template Inheritance plugin, you can effectively use one blog's templates as master templates that control the templates of the other blogs. So if you have 3 blogs on a company site with same look and feel, this can save you a lot of time manually updating the templates of each blog every time you make a change. Another way to think of it is sharing templates between several blogs. You can link all the templates in one blog to another, or selectively choose which templates should be inherited (including template modules).

I have wanted a plugin like this for years, the ability to share template code between multiple blogs. For a long time, MT has included a "Link this template to a file" feature in which you could link a template to an actual file on your server. I used to link multiple templates to the same file, effectively (and indirectly) sharing the template code between different blogs. While this works, it has its problems. At times in the past, there we MT bugs that prevented templates from being updated from the file - but I think those are fixed now. The other main problem is that you have to be very careful when editing a template, remembering that it may be shared with other blogs, etc. The Template Inheritance plugin is an improvement over the file linking method, addressing the key issues with file-based linking.

Features

For any specific template, you can assign another template on the system from which to inherit template code. For example you could decide that you want template "B" to inherits its template code from template "A".

It may be helpful to think of "A" as the parent template and "B" as the "child" template -- the child inherits its template code from its parent. When template becomes linked to parent template, the child's template code will immediately be replaced by the template code of the parent, and will be derive its template code from the parent from that point forward. You won't be able to edit the child template after the link is made (the template code is greyed-out and the field is disabled) -- instead, you will see a link to the parent template, and you can then edit the parent template.

Editing the parent template will automatically update all of its children templates. Of course, you need to rebuild the appropriate pages on each blog for template changes to be reflected on your blogs. You remove remove inheritance (break the link with the parent) at any time. When you remove inheritance from a child template, it becomes independent from that point forward, and you can now customize it independently of the parent template.

Notes:

  • Only system administrators (sometimes called superusers) can create inheritance links.

  • You must enable the plugin for each blog before you can create inheritance links (blogs to have "child" templates need to be enabled, not those containing the "parent" templates)

  • A template cannot be both a child and a parent. If you try to assign inheritance from a template that is a child of another template, it will work -- but the plugin will make the link directly the ultimate parent. This makes it easier to manage, as you won't have to trace template linkages through several generations to find the "master" template.

  • When a parent template is deleted, each of its children immediately become independent (orphaned, if you will).

  • When first assigning inheritance to a template, the child template's code is replaced by that of the new parent. BE CAREFUL, there is no undo, the child's former template code will be gone. Just to be safe, it may be a good idea to back up the old template code beforehand, in case you decide to revert back.

Requirements

  • MT 3.3+

Great for Blog Networks

While Template Inheritance can be used in many different scenarios, it is a great fit for blog networks. Networks of blogs on the same MT system often have similar (or identical) design or template code. Sometimes only certain things are the same, such as a common header / footer, stylesheet, sidebar, advertising blocks, etc. Using this plugin to link up those common template elements, you can save a lot time managing the templates of the network. If you have a blog network and this sounds interested, please contact me. I can help implement this for you, customize the plugin to meet your specific needs, etc.

Instructions

  1. Extract the contents of the zip file and upload the contents of the 'plugins' directory into the 'plugins' directory of your MT installation
  2. Login to MT (or hit Main Menu, if you are already logged in). You should now see and upgrade screen that will install a table for Template Inheritance.
  3. Browse to the blog you want, then go to the plugin settings to enable the plugin.
  4. Browse to the template you want, then click the "Click here to inherit code from another template" link.
  5. Enter the template ID of the desired parent in the prompt box, hit OK.
  6. The template is now linked to the parent. Rebuild to see the results on your site.

Get Template Inheritance

Template Inheritance is free for personal use on up to 3 blogs.

Donations are appreciated:

Download Now

Download Now
Downloads: 171

Membership required, please sign-in or register:

Commercial License (4-10 blogs): $97

Blog Network License (10+ blogs): $249

As always, feedback and suggestions are appreciated. Please reply to this entry.