Another milestone on the road to Zen with Ingeniweb components
Latest version : 1.4.0

Subscription for Plone

> A Plone tool supporting different levels of subscription and notification <

About Subscription for Plone

A Plone tool supporting different levels of subscription and notification

Subscription for Plone has been designed by the INGENIWEB team.

Subscription for Plone 1.4.0 is licensed under the GNU GPL license.

Do you like this product? You can support its authors by clicking the button below:
Support This Project

Screenshots

PloneSubscription Screenshots

doc/plone_configuration.png

PloneSubscription preferences link from plone control panel.

doc/subscription_configuration.png

PloneSubscription preferences: take care to complete 'base url' field. You can also see 'manage subscribers' and 'manage mail templates' actions.

doc/mail_template_edition.png

Sample edit view for mail template

doc/manage_subscribers_view.png

You can see few grouped and user subscribers.

doc/add_grouped_subscriber.png

It's the only way to add a grouped subscriber.

doc/add_grouped_subscriber_form.png

Choose users groups that you want to grouped subscriptions.

doc/folder_subscription_icon.png

Click on it to add a subscription on the document.

doc/keywords_subscription_portlet.png

After a research you can see this portlet and choose to be warned when new result are added.

doc/add_subscription_for_group_tab.png

You can add a folder subscription for grouped subscriber from here.

doc/add_folder_subscription_for_group.png

Choose the grouped subscribers you want to be subscribe and Save the form.

doc/my_subscription_view.png

At last, 'My subscription' view for each user. You cannot edit or remove a grouped subscription.

Readme

IMPORTANT

For Plone 3.0 PloneSubscription will be called iw.subscriber

Dependencies

Required Products

  • Plone 2.5.0
  • DataGridField 1.0
  • PloneMaintenance 1.1 - Make sure to install PloneMaintenance before PloneSubscription - Really recommended, but requirement is not enforced - Can be useful to send out scheduled notifications automatically

Installation

Installing PloneMaintenance

  • Unpack it into your Zope Products Folder
  • Restart Zope
  • Use portal_quickinstaller to install the PloneMaintenance in ZMI (or use plone_setup in pmi)
  • Setup a scheduler interface as said in PloneMaintenance/README.txt

Installing PloneSubscription

  • Unpack it into your Zope Products Folder
  • Restart Zope
  • Use portal_quickinstaller to install the PloneSubscription in ZMI (or use plone_setup in pmi)

Overview

PloneSubscription: A Plone tool for managing subscriptions

The tool allows members and administrators to manage user and group subscription for content as well as for keyword searches. Content subscription can be done recursively and with the possibility to filter for documents that were recently subject to a workflow transition.

There is a special tool for managing mail templates for subscription mails sent by PloneSubscription. The template system is fairly simple for the moment, but we are looking for improvement proposals to make it more powerful.

Further PloneSubscription information can be found at http://ingeniweb.sourceforge.net/Products/PloneSubscription

Usage

Plone members will find a new icon document action (on the right side under the title), which allows them to quickly subscribe to content. Subscription is done with a single click, and doesn't disturb the member any further.

Users can check their subscriptions by clicking on "my subscriptions" link, available in the user action box. The link to "my subscriptions" is only shown when a user is already subscribed to something.

Another way of subscribing to content is after doing a search in Plone. In a special portlet, the member can choose to subscribe to the search he just made. This feature is only available for a simple Plone search, and will ignore any advanced search options that may have been chosen.

Subscriptions can also be managed on a per group basis, but as this is an advanced feature it is only available for members who explicitly get the "PlacelessSubscription: Manage Content" permission.

With this permission, an administrative user can add group subscriptions in just three clicks. First click on the "grouped subscription" tab on the current content, select the groups to subscribe, and click on save, and you are done.

The permission also allows access to the PloneSubscription tool in the Plone Control Panel.

Some noteworthy options of the PloneSubscription tool are:

The 'show actions' option, which adds extra tabs on folderish objects for quickly adding subsciption and mail template providers locally. This is mostly interesting while doing through the web development.

The 'periodicity' defines after which period of time the subscriptions are sent. You can send hourly, daily, weekly and yearly subscriptions.

The 'Base url' field is used to replace a url like 'http://127.0.0.1:8080/plone' by 'http://mydomain.com/' in the link provided in the sent mails.

Mail sent is managed with templates stored in a specific repository. It's easy to add new variables to the template namespace. The next release of PloneSubscription will focus on a refactoring of these templates so that they are more subscription centric instead of type centric.

Advanced Usage

Your users should not need access the subscription objects themselves, so the "PlacelessSubscription: Manage Content" permission is not given to Members any more.

The best practice is to make sure the subscriptions are already added the right way by passing in the correct parameters as it is done in the portlet:

'/addSubscription?ptype='+ptype + '&amp;recursive=1&amp;workflow=1&amp;transitions:list=publish&amp;transitions:list=visible'

In this case you need to set the ptype to the subscription type you want and specify the parameters in advance.

Download

Released versions

Released versions of Subscription for Plone are available here. The current version is 1.4.0.

CVS version

The repository contains the up-to-date versions of our source code. In order to get the HEAD branch of PloneSubscription, use :

svn co http://svn.plone.org/svn/collective/PloneSubscription/trunk
          

You can also browse the CVS with your browser.

Documentation

Readme

Please take time the read the Readme

F.A.Q

  1. I never receive update from server

Do you have install a scheduler for PloneMaintenance ?

Read Products/PloneMaintenance/doc/FAQ

  1. How can I add an ExactSearchSubscription

Follow tis example:

exact_search = [
{'Index': 'Subject', 'Value': "The subject I'm searching for"},

System Message: WARNING/2 (<string>, line 14)

Definition list ends without a blank line; unexpected unindent.

] psm = portal.portal_subscription.setSubscription(

System Message: ERROR/3 (<string>, line 16)

Unexpected indentation.
id=id, ptype='ExactSearchSubscription', exactSearch=exact_search,

System Message: WARNING/2 (<string>, line 19)

Block quote ends without a blank line; unexpected unindent.

)

Thanks to "Julien CHASTEL" <jchastel@netsize.com>

Links

History

Subscription for Plone changes

Todo -

  • Fixed a bug in mailing_by_user_body method of Subscription Tool, which only appeared when a document had not title.
  • Migration script on subscription_catalog

SVN -

  • Create configuration options for subscription portlet, keywords portlet, root site subscription, document action display.
  • Adding a subscription, then changing a document and sending subscriptions didn't work. Unfortunately, this is exactly what people will do when testing PloneSubscription the first time:(. It was validated that the last subscription time minus the current time is bigger than the periodicity. This makes sense after the first sending, but not at the moment of the first sending.
  • Remove on transition filter in subscription portlet
  • Add afterQueryFilters on subscriber_view results preview
  • Change subscriber_view columns order: results preview move to last
  • Fix loosing subscriptions with all virtualhosting solution
  • i18n refactoring
  • Manage Subscriptions Permission added to control access to the management template accessible from the portlet_subscription.pt
  • Fix getGroupSubscriberVocabulary
  • Folder Subscriptions done from the subscription_portlet now subscribe to the publish transition of content recursively
  • Adding last modified column to my subscriptions list
  • Anonymous needs view content permission, not edit
  • Fix problem with unsubscribing from FolderSubscriptions
  • Added portlet for subscription by anonymous or member
  • Add workflow transitions field to FolderSubscription, which makes it possible to notify only for the specified transitions
  • Store references to root in portal_subscription. As the Plone Site is not an Archetype, there is no other solution for now.

1.2.0 2005/01/24

  • Fix hit link in subscriber_view
  • Take exact_search parameter into account in setSubscription
  • Fix getSubscriptionUrl of ExactSearchSubscription
  • subscription_management.pt added
  • Fix getQuery in ContentSubscription. getRecursive was used, but is only available in FolderSubscription
  • AnonymousUser gets user info and associated getProperty method to match member API
  • Only send unsubscription mail in removeSubscription if subscription_tool.getAnonymous_unsubscribe_by_email()
  • Subscription Management now takes content and folder subscriptions into account.
  • Functional Tests for Anonymous Folder Subscription
  • getUsers method in AnonymousSubscriber.py now correctly returns a list
  • Anonymous can subscribe by default now. If you don't want this, change remove the following permissions for Anonymous:
    • PlacelessSubscription: Add Content
    • PlacelessSubscription: View Content
  • getQueryBrains was not searching in the right catalog (MR 2005/12/28)
  • fix problem with wrong path index (realPath) in some subscriptions (MR 2005/12/28)
  • changed parameters to getQueryBrains (MR 2005/12/28)
  • Fix reference editing in tool. Using ReferenceBrowserWidget now. (MR 2005/12/27)
  • getUpdatedSubscriptions returns objects, not catalog brains any more (MR 2005/12/27)
  • Factor out mailing_by_user from mailing (MR 2005/12/27)
  • Template for previewing mails to be sent out for subscriptions: subscription_mailing.cpt (MR 2005/12/27)

1.1.0 2005/12/13

  • Fix missing dependencies added with ExactSearchSubscription
  • Added ExactSearchSubscription for more advanced catalog searches.
  • EditSubscriptionContent only for Manager by default. Owner doesn't care.
  • The portal_catalog does not contain any more PloneSubscription related content. Only ContentSubscription, FolderSubscription and KeywordSubscription are really needed, and are now kept in the portal_subscriptions catalog.
  • Get rid of SubscriptionCatalogAware
  • get rid of TOOL_ID and CATALOG_ID
  • Use getCatalog instead of getSubscriptionCatalog
  • Use getProvider method directly. Remove getSubscriptionProvider method
  • subscription_catalog moved from subscription provider to portal root
  • Factor out the afterQueryWorkflowFilter from afterQueryFilters
  • Factor out the getQueryBrains method to the subscription_tool
  • Content Subscription with its own template added (2005/11/19 MR)
  • Adding a countSubscriptions method
  • add and remove subscription scripts now controlled python scripts with validator scripts. (2005/11/15 MR)
  • Allow hiding subscribe and unsubscribe actions
  • Added a script for exporting subscribers as a csv file
  • Added macro to plonesubscription_macros for sending a mail to all subscribers (2005/11/14 MR)
  • Implement removeSubscription, also for anonymous
  • Make the hiding of the remove button in my subscriptions an option
  • Remove unused getSubcribersFor
  • Remove addSubscriber method
  • Remove unused getSubscriberUrl method
  • Implement hasSubscription method
  • Removed listSubscriberByType method, now in getGroupSubscriberVocabulary
  • Add GroupSubscription didn't show as the action only showed when there already were GroupSubscriptions.
  • Removed unused method getMemberSubscriptionUids and listSubscriberTypeSubscriptions
  • Extended getSubscriptions method to allow search by content and by username. The method doe snot return a tuple anymore, so take care.
  • implementing useful isSubscribedTo method in subscription tool
  • Install extra indices, fixing the problem with getRpath index indexing getPhysicalPath instead of getRPath
  • getSubscriberInfo implemented to get information on the member behind a subscription
  • Added plonesubscription_macros, containing useful self-subscription and management macros. (2005/11/08 MR)
  • Added logging facilities with a debug.txt file (2005/11/07 ED)
  • Fix maintenance job security problem: the script is replaced by an external method (2005/11/07 ED)
  • Various fixes (2005/11/07 ED)

1.0.1 2005/10/25

  • Added PloneSelenium Functional Tests (2005/10/24 Maik Rder)
  • Remove dependency on PloneInstallation 2005/10/23 (Maik Rder)
  • Move PloneInstaller code into PloneSubscription 2005/10/23 (Maik Rder)
  • Rewrote Readme, fixed some typos and method security settings 2005/10/20 (Maik Rder)
  • Made it backward compatible to GroupUserFolder 2.0.1 2005/10/20 (Maik Rder)

Subscription for Plone ChangeLog is also available for detailed informations.

Contact