Privacy Manual

Installation

  1. Extract the distribution and preserve the directories. The directories that have been extracted correspond to the directories in your Movable Type installation. Upload these directories to your Movable Type installation such that file structure looks like so (where mt-static is your StaticWebPath):

    MT_DIR/
    |__ mt-static/
    |   \__ plugins/
    |       \__ Privacy/
    |          |__ images/
    |          |  |__ add.gif
    |          |  |__ button-livejournal.gif
    |          |  |__ button-openid.gif
    |          |  |__ button-password.gif
    |          |  |__ button-typekey.gif
    |          |  |__ icon-groups.gif
    |          |  |__ input-livejournal.gif
    |          |  |__ input-openid.gif
    |          |  |__ input-typekey.gif
    |          |  |__ key.gif
    |          |  |__ openid.gif
    |          |  |__ protected.gif
    |          |  |__ remove.gif
    |          |  |__ tag-remove-active.gif
    |          |  |__ tag-remove-hover.gif
    |          |  |__ typekey.gif
    |          |__ js/
    |          |  |__ dom.js
    |          |  |__ event.js
    |          |  |__ tag-widget.js
    |          |  |__ yahoo.js
    |          |__ styles.css
    |
    |__ plugins/
        \__ Privacy/
            |__ lib/
            |  |__ Class/
            |  |  |__ ErrorHandler.pm
            |  |
            |  |__ Crypt/
            |  |  |__ DH.pm
            |  |
            |  |__ Net/
            |  |   |__ OpenID/
            |  |      |__ Association.pm
            |  |      |__ ClaimedIdentity.pm
            |  |      |__ Consumer.pm
            |  |      |__ VerifiedIdentity.pm
            |  |
            |  |__ Privacy/
            |  |  |__ App/
            |  |  |  |__ CMS.pm
            |  |  |  |__ Signon.pm
            |  |  |__ App.pm
            |  |  |__ Groups.pm
            |  |  |__ L10N/
            |  |  |  |__ en_us.pm
            |  |  |__ L10N.pm
            |  |  |__ Object.pm
            |  |  |__ Protect.pm
            |  |   |__ Template/
            |  |      |__ ContextHandlers.pm
            |  |    
            |  |__ URI/
            |  |  |__ Fetch/
            |  |  |  |__ Response.pm
            |  |  |__ Fetch.pm
            |  |    
            |  |__ YAML/
            |  |  |__ Error.pm
            |  |  |__ Family.pm
            |  |  |__ Node.pm
            |  |  |__ Transfer.pm
            |  | 
            |  |__ YAML.pm
            |  |__ YAML.pod
            |   
            |__ mtplugin.pkg
            |__ openid.pl
            |__ password.pl
            |__ privacy.cgi
            |__ Privacy.pl
            |__ signon.cgi
            |__ tmpl/
                |__ default_templates/
                |  |__ privacy_bootstrapper.tmpl
                |  |__ privacy_login.tmpl
                |  |__ privacy_not_allowed.tmpl
                |
                |__ config.tmpl             
                |__ delete.tmpl
                |__ edit_group.tmpl
                |__ footer.tmpl
                |__ groups.tmpl
                |__ install.tmpl
                |__ list.tmpl
                |__ list_blogs.tmpl
                |__ protect.tmpl
                |__ protect_blog.tmpl
                |__ recursive-confirm.tmpl
                |__ recursive-stub.tmpl
                |__ recursive_end.tmpl
                |__ recursive_start.tmpl
                |__ upgrade.tmpl
                |__ upgrade_runner.tmpl
    

    Set the permissions of privacy.cgi and signon.cgi to 755. If the plugin was successfully installed, you will be prompted to finish installing Privacy

    Privacy Installation

    You should also see something similar to this on the Plugins listing under System Overview.

    Privacy Registration

[ADSENSE]

Usage

In this section, we'll look at how to use Privacy.

Setting Privacy Types

They types of privacy available are set on a per weblog basis. From your blog, select Settings from the left and then Plugins. Scroll down to the entry for Privacy and click Show Settings. Here you control what Privacy types are available to that weblog. These Privacy types control the various ways assets in your blog can be made private.

You can also set the default Privacy types for new weblogs through the system wide plugin settings for Privacy. The choices made here will be applied to new weblogs but will not effect existing weblogs.

Privacy Types

Protecting Assets

The controls for protecting individual assets (entry, category or blog) are similar, but are located in different places:

  • Entries - The privacy settings for entries must first be enabled using the Customize the display of this page link at the bottom of the screen. Check the Privacy Settings checkbox and the new/edit screen will refresh showing privacy settings right at the bottom

    Privacy Settings Checkbox

  • Categories - The privacy settings for categories are located at the bottom of the category editing screen (click the name of a category from the Categories listing)

  • Blogs - The privacy settings for the entire blog are found by clicking Blog Privacy Settings under Plugin Actions on the overview page or the blog.

    Blog Privacy Settings

The actual interface for protecting an asset will look similar to this (the only difference being the privacy types available):

Privacy Settings

To protect an asset simply check the types of authentication you'd like to use. You will then be presented further settings for this privacy type and will need to enter the credentials readers will be required to enter. Depending on the privacy types you have installed, this could either be a list of credentials (for example with Typekey, LiveJournal or OpenID) or a single credential (for example Password). You will need to add the appropriate MTPrivate tags in your templates before Privacy is in full effect

If you have created any Privacy Groups, these are also available on the right hand side. The privacy groups act as a toggle, click once and you will add all the users from the Privacy Group, click again and the users will be removed. The icon for the corresponding group will reflect this toggle state.

Privacy Group On Privacy Group Off

Whilst protecting blogs and categories, you can also specify whether you'd like children assets to inherit the privacy settings specified here.

Privacy Recursive

For example, if you were to protect a blog with a password l337p455w0Rd and checked the New Entries box, new entries would by default also be protected with the same password.

Also after protecting a blog or category, you'll also be given an option to recursively apply this protection to children assets. Clicking the button will create a new popup window where you'll be able to choose the assets you would like to protect.

Privacy Recursive Choose

On clicking Apply, you will be presented with a progress screen which will be continuously updated to reflect all the assets that have been protected and are currently being protected.

Privacy Recursive Progress

Privacy Groups

In the course of using the plugin, you may find that you are granting access to the same people repeatedly. In such cases, you can use Privacy's Privacy Group feature which allows you define sets of people in any number who often garner the same permissions. To create a Privacy Group:

  1. Click the System Overview link at the top of any screen. From there, you'll find a link on the left sidebar Privacy Groups which will take you to a screen that lists Privacy Groups.

    Privacy Groups

  2. Once click on an existing Privacy Group to edit it or click the Create New Group link (found at the right of the Privacy Groups listing screen) to create a new one.

  3. You will be presented with a screen where you can define the name of the group, a short description and a list of people in this group.

Privacy also provides an easy way to create a Privacy Group based off your registered commenters:

  1. Go to the Commenters listing for your weblog
  2. Select the commenters you wish to add to a Privacy Group
  3. Select the Create a Privacy Group option from the More Actions menu.

New Protection Group from Authenticated Commenters

Templates & Template Tags

Privacy will create the following templates in all blogs (whether current or new):

  • Privacy: Bootstrapper - This index template should not be changed. It handles authentication of a reader if your blog URL is different to your Movable Type CGIPath.

  • Privacy: Login - The contents of this system template are shown whenever an asset is marked private and the user is not logged in. It prompts the user to login to view the asset. Once the user logs in, a cookie is set on their system and they will have access to the asset for 24 hours.

    You can customize the contents of this template as you wish. The template tags you can use in this template is rather limited. We recommend that you refrain from using any specialized tags (such as MTEntry or MTCategory) tags as they may not always work. If you ever need to revert to the default Privacy: Login template, you can always refresh it.

  • Privacy: Not Allowed - The contents of this system template are shown whenever an asset is marked private and the user login fails (for example if they have entered an incorrect password or are not in the list of allowed readers)

    You can customize the contents of this template as you wish. The template tags you can use in this template is rather limited. We recommend that you refrain from using any specialized tags (such as MTEntry or MTCategory) tags as they may not always work. If you ever need to revert to the default Privacy: Not Allowed template, you can always refresh it.

Privacy also provides the following template tags:

  • MTPrivateBlog, MTPrivateCategory and MTPrivateEntry - Container tags used in the context of any index or archive template. These are the tags that make Privacy work. If the asset is private, the contents of this container tag will be replaced with the contents of the Privacy: Login template. Once the user logs in, the contents of the tag are shown.

    Use the appropriate tag based on the type of Privacy (entry, category or blog) you are using within the correct context - i.e. the MTPrivateEntry tag must be used within an MTEntries container tag (or Individual Entry Archive template) and likewise with MTPrivateCategory which must be used within the MTCategories container tag (or Category Archive template).

  • MTPrivateObjectType - Displays what type of asset (entry, category or blog) is protected. This is typically used in the Privacy: Login or Privacy: Not Allowed system templates.

  • MTPrivacyTypes - A container tag used to display the appropriate login information in the Privacy: Login template.

  • MTPrivacyTypeName - A tag used in the context of the MTPrivacyTypes tag displays the name of the Privacy type being used.

  • MTPrivateObjectID - A tag used in the context of the MTPrivacyTypes tag to display the ID of the Private asset.

  • MTPrivacyTypeFields - A container tag used in the context of MTPrivacyTypes container tag. Displays the form fields that are required for this Privacy type in the Privacy: Login template.

  • MTPrivacyTypeFieldName - A container tag used in the context of MTPrivacyTypeFields container tag. Displays the proper form field label.

  • MTPrivacyTypeFieldType - A container tag used in the context of MTPrivacyTypeFields container tag. Displays the proper form field.

Previous Versions

Privacy is only compatible with Movable Type 3.3 and greater. If you are using a previous version of Movable Type, perhaps there's a compatible version below?

  • MT Protect - MT Protect is compatible with Movable Type 3.2 but is no longer supported

Leave a comment

Preview

About

This is part of the official user manual for Privacy, a plugin for Movable Type by Arvind Satyanarayan.

More Information »

Screenshots

Click a screenshot to browse through the gallery or the arrows to flip through them

←→

Powered by Movable Type 4.0