{ "info": { "author": "Pilot Systems", "author_email": "ploneorg@pilotsystems.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Plone", "Programming Language :: Python" ], "description": ".. -*- coding: utf-8 -*-\n\n===============\nCMFNotification\n===============\n\nCMFNotification is a Plone product that allows users to be notified\nwhen various events occur in the portal:\n\n- when an item is created or copy-pasted;\n\n- when an item is modified;\n\n- when a workflow transition occurs.\n\nOther notifications might be implemented but, for now, only the three\nabove can be safely used. (In other words, do not trust the\nconfiguration form, which includes for example fields for discussion\nnotification, although it is **not** implemented.)\n\nCMFNotification is configured with rules:\n\n- rules to decide who should be notified;\n\n- rules to decide what mail template to use.\n\nBesides these rules, CMFNotification handles extra subscription to any\nportal item. This allows authenticated users to subscribe to an item\nand receive notification, if the notification policy does not already\ninclude him/her in the list of notified users. These extra\nsubscription may be recursive: if so, an user which has subscribed to\na folder is notified for any event which occurs on the folder and any\nof its items (including its subfolders, etc.).\n\n\nDependencies\n============\n\nThis version of CMFNotification runs on Plone 3.3 and Plone 4. It\nshould also run on Plone 3.0 to 3.3 (automated tests are not run on\nthose versions). However, it does not run on Plone 1.x and 2.x.\n\nDespite the name, this product may not work in a pure CMF\nportal. Minor changes may be needed. I thought about having an\nimplementation which works for pure CMF portals, hence the\nname. However, use-cases rules and I did not have any pure CMF\nuse-case... This may or may not happen in the future.\n\n**Important note:** please note that the standard Secure MailHost\n(which is shipped with Plone) and its base product (MailHost) are not\nintended to send a lot of emails. It is highly suggested to install\n`MaildropHost`_ if you are about to do so.\n\n.. _MaildropHost: http://www.dataflake.org/software/maildrophost\n\n\nInstallation and configuration\n==============================\n\nSee ``doc/install.txt``.\n\n\nTroubleshooting and bug report\n==============================\n\nSee ``doc/how-to-troubleshoot.txt``. Patches are welcome.\n\n\nDocumentation\n=============\n\nDocumentation is located in the ``doc`` folder. Start by\n``doc/index.txt``. It is also mirrored on `CMFNotification home page`_\non `plone.org`_.\n\n.. _CMFNotification home page: http://plone.org/products/cmfnotification/documentation\n\n.. _plone.org: http://plone.org\n\n\nCredits\n=======\n\nThis product has been partially sponsored by `Pilot Systems`_.\n\nThe following people have developed, given help or tested this\nproduct:\n\n- Damien Baty (damien DOT baty AT gmail DOT com):\n original author, tests, documentation, maintenance;\n\n- Kurt Bendl: better uninstallation;\n\n- Jan-Carel Brand: eggification;\n\n- Alex Garel: \"labels\" feature;\n\n- Ga\u00ebl Le Mignot (gael AT pilotsystems DOT net - Pilot Systems): bug\n fixes;\n\n- Ga\u00ebl Pasgrimaud: bug fixes, insightful comments and default mail\n templates in the early days.\n\nTranslations:\n\n- Gunter Vasold (gunter DOT vasold AT fh-joanneum DOT at - FH\n Joanneum): translation in German;\n\n- J\u00falio Monteiro (monteiro AT lab DOT pro DOT br): translation in\n Brazilian Portuguese;\n\n- Leonardo caballero: translation in Spanish;\n\n- Victor Fernandez de Alba: translation in Catalan.\n\n.. _Pilot Systems: http://www.pilotsystems.net\n\n\nLicense\n=======\n\nThis product is licensed under GNU GPL. See 'LICENSE.txt' for further\ninformations.\n\nChangelog\n=========\n\n2.2 (29 March 2011)\n-------------------\n\n- Minor tweaks to the README and the setup.py files. [dbaty]\n\n\n2.2 release candidate 2 (6 January 2011)\n----------------------------------------\n\n- fixed a bug that made impossible to subscribe to the default\n \"Events\" and \"News\" collections and, more generally, to any\n folderish item that was selected as the default page of its\n parent. [dbaty] (`issue #32`_)\n\n- added translation in Catalan [sneridagh]\n\n.. _issue #32: http://plone.org/products/cmfnotification/issues/32\n\n\n2.2 release candidate 1 (30 December 2010)\n------------------------------------------\n\n- worked around a nasty bug that caused the portal to be broken when\n CMFNotification was uninstalled and a subscription portlet was still\n configured somewhere;\n\n- cleaned uninstallation through a GenericSetup profile. [kurt]\n\n- updated tests for Plone 4. [dbaty]\n\n- fixed default notification templates to have them work in Plone 4\n (and still in Plone 3) [dbaty]\n\n\n2.2a1 (21 April 2010)\n---------------------\n\n- Registered the permission in zcml and call setDefaultRoles in __init__.py. [jcbrand] \n\n\n2.2dev1 (25 February 2010)\n--------------------------\n\n- The svn repository for the new eggified package has changed:\n http://svn.plone.org/svn/collective/Products.CMFNotification [jcbrand]\n\n- Made CMFNotification a setuptools/distribute Python egg package [jcbrand]\n\n- Remove the creation/registration of the PTSTranslationDomain utility. It has\n been deprecated in favour of zope.18n.translationdomain.TranslationDomain\n [jcbrand]\n\n\n2.1 (4 July 2008)\n-----------------\n\n- added notification on object removal\n\n- added safety belts for perverted usage;\n\n- added AJAX features in the subscription portlet: if the user has\n enabled Javascrpt, the page is not refreshed when (s)he presses the\n subscribe/unsubscribe button;\n\n- rewrote overly complicated ``_getPreviousVersion()`` method.\n\n\n2.0 (24 June 2008)\n------------------\n\n- finally provided an implementation for the ``previous`` binding that\n will let integrators display changes in notification template when\n an item is modified;\n\n- added handler for item copy/paste, which now triggers \"item\n creation\" rules;\n\n- moved installation code to Generic Setup steps;\n\n- added an old Brazilian Portuguese translation contributed by Julio\n Monteiro;\n\n- added labels on users selection rules so that different e-mails can\n be sent on the same action;\n\n- added ``previous_state`` binding on workflow notification;\n\n- fixed an i18n bug in the portal status messages generated by the\n subscribe/unsubscribe buttons in the portlet;\n\n- added import/export mechanism for Generic Setup;\n\n- changed the method that retrieves the mail template: by using\n ``restrictedTraverse()`` instead of ``getattr()``, we now allow the\n template to be a browser view;\n\n- replaced ``title`` by ``Title`` in default mail templates (thanks to\n Martin Stadler for his bug report);\n\n- fixed link (added ``/view``) in default mail templates;\n\n- added safety belt when we cannot fetch an user's e-mail address\n (thanks to Laurence Pawling for his bug report);\n\n- header encoding function is now more robust and handles more fields\n (including ``From``, which it did not handle);\n\n- header encoding function now encodes only headers. It used to be a\n bit greedy and could possibly encode the message itself, leading to\n funny text, though not really readable;\n\n- fixed uninstallation issues (CMFNotification used to leave remnants\n of itself);\n\n- fixed a bug that caused bindings not to be included in mail\n templates options;\n\n- added ``current_state`` binding for all rules and mail templates;\n\n- \"Mail subscription\" portlet is now automatically added when the\n product is installed;\n\n- minor changes in tests and documentation.\n\n\n2.0 release candidate 1 (unknown release date)\n----------------------------------------------\n\n- CMFNotification now **requires** Plone 3. It is **not** compatible\n with prior versions of Plone anymore;\n\n- new, simplified, text-only notification mail templates. If you have\n a CMFNotification 1.x notification templates, they may still work,\n though.\n\n\n1.1 (14 September 2007)\n-----------------------\n\n- added how-to's, arranged documentation and converted it to reST.\n\n- fixed a bug which caused CMFNotification to ask the user to download\n a file when (s)he subscribes or unsubscribes to it. Thanks to\n Christophe Sauthier for the patch.\n\n- added translation in German, thanks to Gunter Vasold.\n\n\n1.0 (28 August 2007)\n--------------------\n\n- added debug properties to the configuration.\n\n- added Maildrop Host in list of recognized mailhost types.\n\n- removed useless ``sendTemplateTo()`` method from notification tool.\n\n- stripped rule components so that we can now write rules which are\n readable, like ``* :: *`` instead of the ugly ``*::*``.\n\n\n0.9.0 (4 June 2006)\n-------------------\n\nFirst public release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://plone.org/products/cmfnotification", "keywords": "CMFNotification plone notification e-mail", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "Products.CMFNotification", "package_url": "https://pypi.org/project/Products.CMFNotification/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Products.CMFNotification/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://plone.org/products/cmfnotification" }, "release_url": "https://pypi.org/project/Products.CMFNotification/2.2/", "requires_dist": null, "requires_python": null, "summary": "CMFNotification is a Plone product that allows users to be notified\nwhen various events occur in the portal: item creation or\nmodification, workflow actions, etc.", "version": "2.2" }, "last_serial": 4368389, "releases": { "2.2": [ { "comment_text": "", "digests": { "md5": "4526cfed930b3564f8718fb67aea60f5", "sha256": "98eca74cd01b5aa2838cac0c270e5ac7653b800616bfaf2e2ae4fc5663751940" }, "downloads": -1, "filename": "Products.CMFNotification-2.2.zip", "has_sig": false, "md5_digest": "4526cfed930b3564f8718fb67aea60f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103361, "upload_time": "2012-03-29T16:31:01", "url": "https://files.pythonhosted.org/packages/24/93/6215ad25aa287f199f36434ec08912d62a00ea20ba66db0365cde1d67596/Products.CMFNotification-2.2.zip" } ], "2.2-rc1": [ { "comment_text": "", "digests": { "md5": "a867654c4472b7ba4a00ea4014aba1b8", "sha256": "e3b636a510f40dca564b50ad528bc0f719a3179b18d2758596b25c502907cdf7" }, "downloads": -1, "filename": "Products.CMFNotification-2.2_rc1-py2.4.egg", "has_sig": false, "md5_digest": "a867654c4472b7ba4a00ea4014aba1b8", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 128006, "upload_time": "2010-12-30T18:33:04", "url": "https://files.pythonhosted.org/packages/a7/f1/9f57c48d9b3bdcc35b10bd0b8e2599af88bd55b9f92b11203afa94a03199/Products.CMFNotification-2.2_rc1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "b6424dd15a5ba31127b0830d4abbf9a4", "sha256": "0a088d51fba47a161a098b267cc23881f43e9a76e8bf4b5db8c4087c1401f210" }, "downloads": -1, "filename": "Products.CMFNotification-2.2_rc1-py2.6.egg", "has_sig": false, "md5_digest": "b6424dd15a5ba31127b0830d4abbf9a4", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 127087, "upload_time": "2010-12-30T18:33:26", "url": "https://files.pythonhosted.org/packages/8f/e0/4f0f777c041e23dff21fff38747ef1ecd8da0aaa452247c689a076c256c6/Products.CMFNotification-2.2_rc1-py2.6.egg" } ], "2.2-rc2": [ { "comment_text": "", "digests": { "md5": "f321282384bc166c45db8de284128291", "sha256": "0cb1a9c418023b86d7c8301197c31eb281a9095a97050855ca5e6f6aeffff6a0" }, "downloads": -1, "filename": "Products.CMFNotification-2.2_rc2-py2.4.egg", "has_sig": false, "md5_digest": "f321282384bc166c45db8de284128291", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 131065, "upload_time": "2011-01-06T12:08:54", "url": "https://files.pythonhosted.org/packages/94/bd/e46ccc680c8722710ff7ffcfb852ef1e3c51b53c47f9a83951693e81b0cb/Products.CMFNotification-2.2_rc2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "3eae89b4758c7857bbb740d91096e730", "sha256": "076ba4c91b70a521e35e05a183cc5dcfd93a51ff55b9f23a87faaddd1f5103a1" }, "downloads": -1, "filename": "Products.CMFNotification-2.2_rc2-py2.6.egg", "has_sig": false, "md5_digest": "3eae89b4758c7857bbb740d91096e730", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 130098, "upload_time": "2011-01-06T12:08:34", "url": "https://files.pythonhosted.org/packages/93/d1/38b159f4ef7c431a6197ff9a8aedee41b930126a0d693b704c14cbcf44a6/Products.CMFNotification-2.2_rc2-py2.6.egg" } ], "2.2a1": [ { "comment_text": "", "digests": { "md5": "b4c371f9289f3d1c968ba22c585a20f9", "sha256": "85a2f9c7d4900e865d675d9b7cc45df1987d763263bd19279d6d89d485788c9a" }, "downloads": -1, "filename": "Products.CMFNotification-2.2a1.zip", "has_sig": false, "md5_digest": "b4c371f9289f3d1c968ba22c585a20f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99312, "upload_time": "2010-04-21T14:49:37", "url": "https://files.pythonhosted.org/packages/fa/ea/5f99ecfea148af6750c20af49994121f491f3cde5e19dd5a6119504e7ecb/Products.CMFNotification-2.2a1.zip" } ], "2.2dev1": [ { "comment_text": "", "digests": { "md5": "d6360147188fa8e83a0d1ca44c90b856", "sha256": "c8d24bc360d02784dc5e80e06fca3e01b8f53a6892c272584f070ddd9d70cf41" }, "downloads": -1, "filename": "Products.CMFNotification-2.2dev1.zip", "has_sig": false, "md5_digest": "d6360147188fa8e83a0d1ca44c90b856", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99348, "upload_time": "2010-02-25T17:48:45", "url": "https://files.pythonhosted.org/packages/dd/95/6601499619c874264c0f82c5e0742d58da518bee9f63f8b0182fd6e3cf1a/Products.CMFNotification-2.2dev1.zip" } ], "2.3b1": [ { "comment_text": "", "digests": { "md5": "3b54a834061d3ecb271f9cb300373196", "sha256": "cdbc8728b4cf18a14d73825cc72a77592c31e1d2ccaa9dd5a4e1ca591f3bf2d1" }, "downloads": -1, "filename": "Products.CMFNotification-2.3b1.tar.gz", "has_sig": false, "md5_digest": "3b54a834061d3ecb271f9cb300373196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68333, "upload_time": "2012-03-29T16:37:23", "url": "https://files.pythonhosted.org/packages/81/67/16cd7fbc75ea33f45bcb1780bb34d789f4101b3085b835d4f431271ea028/Products.CMFNotification-2.3b1.tar.gz" } ], "2.3b3": [ { "comment_text": "", "digests": { "md5": "08d7f8d9b73a250a9ff761159d007d1b", "sha256": "b078e4247a600d62a9310d8d05dbe8ffa28855793c6b81342d3270bcfadcbcc2" }, "downloads": -1, "filename": "Products.CMFNotification-2.3b3.tar.gz", "has_sig": false, "md5_digest": "08d7f8d9b73a250a9ff761159d007d1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71653, "upload_time": "2016-08-25T12:58:36", "url": "https://files.pythonhosted.org/packages/a3/d0/7979708030649c872abde6003455fc9265a26454053ccc55eadeaebcca4b/Products.CMFNotification-2.3b3.tar.gz" } ], "2.3b4": [ { "comment_text": "", "digests": { "md5": "6fc7b52423ab1c074fed38a5203d8244", "sha256": "1eecd8f9f9ad63364939aace598386a91421378f36402b7a2c047debadd4d1d8" }, "downloads": -1, "filename": "Products.CMFNotification-2.3b4.tar.gz", "has_sig": false, "md5_digest": "6fc7b52423ab1c074fed38a5203d8244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71703, "upload_time": "2016-08-25T16:09:35", "url": "https://files.pythonhosted.org/packages/ad/c0/a3b8902da7367e740fa8105b3fde40bf2b355420934070a77b0ee15e1e56/Products.CMFNotification-2.3b4.tar.gz" } ], "2.4b1": [ { "comment_text": "", "digests": { "md5": "300a12a332b17bfcf7b3fe0502881500", "sha256": "71fd1c5cdfaa3b3756e5bf10cbf502bf69035936ead2b2a184a8612d35362419" }, "downloads": -1, "filename": "Products.CMFNotification-2.4b1.tar.gz", "has_sig": false, "md5_digest": "300a12a332b17bfcf7b3fe0502881500", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 71870, "upload_time": "2016-09-02T13:23:14", "url": "https://files.pythonhosted.org/packages/7c/50/37bbd50f96eb378394d9777419779165598ee708658375e4256ac24a6ee3/Products.CMFNotification-2.4b1.tar.gz" } ], "2.4b2": [ { "comment_text": "", "digests": { "md5": "918085d20550da1e1cad32c760126299", "sha256": "557a3baed0af0c7aff6fc23a16bd1d9d2c027fe67af4eed46870c359fa4604bb" }, "downloads": -1, "filename": "Products.CMFNotification-2.4b2.tar.gz", "has_sig": false, "md5_digest": "918085d20550da1e1cad32c760126299", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73736, "upload_time": "2016-09-05T09:21:43", "url": "https://files.pythonhosted.org/packages/55/b6/1d688f51761586f623185eefcb1330a302cfd1505ceb33f4d5b7353e0ee3/Products.CMFNotification-2.4b2.tar.gz" } ], "2.4b3": [ { "comment_text": "", "digests": { "md5": "f1e5d3e4f962aa00c423922a5cd73890", "sha256": "b7ce35d43dc8340bbf684ab814fcc50df683a1e6e10d17a3a26d368717326b14" }, "downloads": -1, "filename": "Products.CMFNotification-2.4b3.tar.gz", "has_sig": false, "md5_digest": "f1e5d3e4f962aa00c423922a5cd73890", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73951, "upload_time": "2016-09-05T15:43:42", "url": "https://files.pythonhosted.org/packages/00/21/b0b7fdd6777b0d12ecaeb3880e84028e3fc640bad785c82e88c43ab98577/Products.CMFNotification-2.4b3.tar.gz" } ], "2.4b4": [ { "comment_text": "", "digests": { "md5": "9442b2e5a537706818c2a29d7d7867d8", "sha256": "3d58e3b409be484b0719fe7a11f5bb1764763ac826b81aa499eb8980ef7966dc" }, "downloads": -1, "filename": "Products.CMFNotification-2.4b4.tar.gz", "has_sig": false, "md5_digest": "9442b2e5a537706818c2a29d7d7867d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67470, "upload_time": "2016-12-02T13:35:15", "url": "https://files.pythonhosted.org/packages/38/5b/d47944540a100d2b9c9e883f7d6de8dca794c3fac953856c507e2627db32/Products.CMFNotification-2.4b4.tar.gz" } ], "3.0.0a1": [ { "comment_text": "", "digests": { "md5": "f2e953b644c772145099e7958edc2b1a", "sha256": "1164c859026562185245868d346517167dfe311f5376ecdad79f4c469cb2f345" }, "downloads": -1, "filename": "Products.CMFNotification-3.0.0a1.tar.gz", "has_sig": false, "md5_digest": "f2e953b644c772145099e7958edc2b1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72633, "upload_time": "2018-10-12T12:08:56", "url": "https://files.pythonhosted.org/packages/64/9f/0eb536b34bda36d9cdab2c19ce8236de1c58754487689700a23efdfa750d/Products.CMFNotification-3.0.0a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4526cfed930b3564f8718fb67aea60f5", "sha256": "98eca74cd01b5aa2838cac0c270e5ac7653b800616bfaf2e2ae4fc5663751940" }, "downloads": -1, "filename": "Products.CMFNotification-2.2.zip", "has_sig": false, "md5_digest": "4526cfed930b3564f8718fb67aea60f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103361, "upload_time": "2012-03-29T16:31:01", "url": "https://files.pythonhosted.org/packages/24/93/6215ad25aa287f199f36434ec08912d62a00ea20ba66db0365cde1d67596/Products.CMFNotification-2.2.zip" } ] }