{ "info": { "author": "Filippo Campi", "author_email": "filippo.campi@redturtle.it", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 5.0", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7" ], "description": "==============\nrer.newsletter\n==============\n\n.. image:: https://travis-ci.org/PloneGov-IT/rer.newsletter.svg?branch=master\n :target: https://travis-ci.org/PloneGov-IT/rer.newsletter\n\nThis product allows the complete management of a newsletter.\n\n========\nFeatures\n========\n\nNew Content-type\n----------------\n\n- Channel\n\n * Totally customizable because it is possible to set a header, a footer and CSS styles. This fields allows to uniform template of email that will be sent from one channel.\n * content type that inherit from folder content.\n\n- Message\n\n * content type that inherit from folder content.\n\nPortlet and Tile\n----------------\n\nThe product provide a portlet and a tile for user subscribe.\n\nForm for user subscribe have two fields: email and reCaptcha, so do not forget to\nset key for reCaptcha fields. See `plone.formwidget.recaptcha `_ for more details.\n\nUser Manage\n-----------\n\nAllows complete management of user.\n\n- Add user from admin setting\n- Delete user from admin setting\n- Import users directly from CSV file\n- Export users directly to CSV file\n- Delete a group of user directly from CSV file\n- Subscribe users\n- Unsubscribe users\n\n\n=================\nAdvanced Features\n=================\n\n\nUtility for email sending\n-------------------------\n\nThis product normaly send email through plone mailer, but creating a product which\nimplements the utility ``IChannelUtility`` it is possible use another system of\nmailing-list, like for example mailman.\n\nAt the inside of ``IChannel Utility`` interface are described all methods that will be\nimplemented and the way that they must responded.\n\nUtility declaration::\n\n \n\nand creates a class that implement utility interface::\n\n @implementer(IChannelUtility)\n class BaseHandler(object):\n \"\"\" utility class to send channel email with mailer of plone \"\"\"\n\n\nAdvanced security\n-----------------\n\nNew permissions have been added for the management of the Newsletter:\n\n- ``rer.newsletter: Add Channel``\n- ``rer.newsletter: Add Message``\n- ``rer.newsletter: Manage Newsletter``\n- ``rer.newsletter: Send Newsletter``\n\nThis permission are assigned to Manager and Site Administrator. Besides it been\nadded a new role ``Gestore Newsletter`` which have permissions for all possible\noperations on newsletter.\n\n\nAsynchronous sending of email\n-----------------------------\n\nrer.newsletter supports asyncronous sendout using collective.taskqueue,\nthat it is already installed like a dependency of product.\n\nFor support this asyncronous sendout you must add to section instance-settings of your\nbuildout this configuration::\n\n zope-conf-additional =\n %import collective.taskqueue\n \n queue rer.newsletter.queue\n \n \n queue rer.newsletter.queue\n \n\nThis code adds a queue to which various email submissions are added.\nSee `collective.taskqueue `_ for more details.\n\n\nCron job\n--------\n\nrer.newsletter have a view that can called from a cron job. This view delete all\nusers that not have confirmed subscription to a channel in time.\n\nInside the settings of the product there is a field that allows you to set\nvalidity time of the channel subscription token.\n\nView is::\n\n .../@@delete_expired_users\n\n============\nInstallation\n============\n\nInstall rer.newsletter by adding it to your buildout::\n\n [buildout]\n\n ...\n\n eggs =\n rer.newsletter\n\n\nand then running ``bin/buildout``\n\n============\nDependencies\n============\n\nThis product has been tested on Plone 5.1\n\n=======\nCredits\n=======\n\nDeveloped with the support of `Regione Emilia Romagna `_;\n\nRegione Emilia Romagna supports the `PloneGov initiative `_.\n\n\n=======\nAuthors\n=======\n\nThis product was developed by RedTurtle Technology team.\n\n.. image:: http://www.redturtle.it/redturtle_banner.png\n :alt: RedTurtle Technology Site\n :target: http://www.redturtle.it/\n\n\n============\nContributors\n============\n\n- RedTurtle Technology, sviluppoplone@redturtle.it\n\n\n=========\nChangelog\n=========\n\n\n0.2.0 (2019-04-01)\n------------------\n\n- Fix initializedModal.js to support new functionality in tilesmanagement: anonymous always load a static version of tiles list.\n [cekk]\n\n\n0.1.12 (2019-01-30)\n-------------------\n\n- Added shippable collection.\n- Fixed template for shippable collection.\n- Fixed search object for channel history view.\n [eikichi18]\n\n- a11y: added role attribute for portalMessage\n [nzambello]\n\n\n0.1.11 (2018-09-27)\n-------------------\n\n- Fix ascii encode problem on site name.\n [eikichi18]\n\n\n0.1.10 (2018-09-27)\n-------------------\n\n- Added number of removed user on delete_expired_users view.\n- Removed layer for delete_expired_users view.\n- Fixed view for delete expired users.\n [eikichi18]\n\n\n0.1.9 (2018-09-20)\n------------------\n\n- Fixed modal timeout\n [eikichi18]\n\n\n0.1.8 (2018-07-19)\n------------------\n\n- Added Redis for asynchronous task\n- Fixed label of close button on subscription modal\n- Added Translatation\n- Fixed the way in which it takes the title of the site\n- Added content rules for user subscription and unsubscription\n [eikichi18]\n\n\n0.1.7 (2018-06-19)\n------------------\n\n- Fixed buildout\n [eikichi18]\n\n\n0.1.6 (2018-06-19)\n------------------\n\n- Fixed some minor label\n [eikichi18]\n\n\n0.1.5 (2018-05-25)\n------------------\n\n- fixed default profile in upgrade step\n [eikichi18]\n\n\n0.1.4 (2018-05-23)\n------------------\n\n- upgrade step to fix bundle for initializedModal.js\n [eikichi18]\n\n\n0.1.3 (2018-05-23)\n------------------\n\n- Fixed accessibility problem on subscribe/unsubscribe modal for IE.\n [eikichi18]\n\n\n0.1.2 (2018-03-15)\n------------------\n\n- Fixed accessibility and style for subscribe/unsubscribe modal.\n [eikichi18]\n\n\n0.1.1 (2018-03-02)\n------------------\n\n- Fixed doc.\n [eikichi18]\n\n\n0.1.0 (2018-03-02)\n------------------\n\n- Initial release.\n [eikichi18]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/rer.newsletter", "keywords": "Python Plone", "license": "GPL version 2", "maintainer": "", "maintainer_email": "", "name": "rer.newsletter", "package_url": "https://pypi.org/project/rer.newsletter/", "platform": "", "project_url": "https://pypi.org/project/rer.newsletter/", "project_urls": { "Homepage": "https://pypi.python.org/pypi/rer.newsletter" }, "release_url": "https://pypi.org/project/rer.newsletter/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "An add-on for Plone", "version": "0.2.0" }, "last_serial": 5020674, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f0c1086076b7b162d711f609460038f2", "sha256": "3e9223f0039c6af328419b00c287504ea16e786e09b732ef65060288946ed250" }, "downloads": -1, "filename": "rer.newsletter-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f0c1086076b7b162d711f609460038f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 171415, "upload_time": "2018-03-02T09:35:27", "url": "https://files.pythonhosted.org/packages/fa/77/889959bbc87d7586580749d52d4a8d220b833b4b22662fa37325c7a8aa6d/rer.newsletter-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "183b8ab9cfecb7391298ea2bdd17395c", "sha256": "0741794dd8c209ea4e0c1961514912a0e642c1eab0b024d7ac88a8d34a8a5370" }, "downloads": -1, "filename": "rer.newsletter-0.1.1.tar.gz", "has_sig": false, "md5_digest": "183b8ab9cfecb7391298ea2bdd17395c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 171440, "upload_time": "2018-03-02T10:50:57", "url": "https://files.pythonhosted.org/packages/c4/d6/3a562368fbdb410386d8cc477ceae5dc005df31397aa5ba9d8ed67de39b6/rer.newsletter-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "4cad32453dd63d5535c2db8a6dd52386", "sha256": "205455df21505095cc0f699569f81d5771a8d8cb95a92d3ee52b85d9b6a0326a" }, "downloads": -1, "filename": "rer.newsletter-0.1.10.tar.gz", "has_sig": false, "md5_digest": "4cad32453dd63d5535c2db8a6dd52386", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178971, "upload_time": "2018-09-27T08:47:11", "url": "https://files.pythonhosted.org/packages/5c/23/0ebcb2f31c2969a059adb9d44384de456da2a8059d300afa86f4a3217bb2/rer.newsletter-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "53c1ed4be60b4bf9babbef86bcbe614a", "sha256": "6e8e08374cf8d2226ead14daf5fd12beb4fab0ab44a41394c60e2da4ebdb4b61" }, "downloads": -1, "filename": "rer.newsletter-0.1.11.tar.gz", "has_sig": false, "md5_digest": "53c1ed4be60b4bf9babbef86bcbe614a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 179044, "upload_time": "2018-09-27T14:08:09", "url": "https://files.pythonhosted.org/packages/65/9c/c334223dfa45b88f2761a9b5754c1654bd8b777d03797671f7560bc975d5/rer.newsletter-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "d236f87d294bd0bb6c5951437aed4025", "sha256": "f8a292b9a718bb45eaf04a5bba6f2de11af926cb452bc0ba48a56edd6e7e8cc3" }, "downloads": -1, "filename": "rer.newsletter-0.1.12.tar.gz", "has_sig": false, "md5_digest": "d236f87d294bd0bb6c5951437aed4025", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 177845, "upload_time": "2019-01-30T08:37:11", "url": "https://files.pythonhosted.org/packages/44/01/6fb3ad3144a1a0072274b53f5d9f00f8fab97ced7d31ff287396b9c29646/rer.newsletter-0.1.12.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "878d52a9d47d939b0dde5c9e23f26bbc", "sha256": "b008e774365d1633a96d58f954c79d5174597cffaa9583e3602118d83fd0a6f8" }, "downloads": -1, "filename": "rer.newsletter-0.1.2.tar.gz", "has_sig": false, "md5_digest": "878d52a9d47d939b0dde5c9e23f26bbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 172838, "upload_time": "2018-03-15T09:46:54", "url": "https://files.pythonhosted.org/packages/ff/92/de18936258e26a79eacc13ce1d77137ffa920eb4bd2da73324c5f5c3cae8/rer.newsletter-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "48c954b49f5af16673978c5d544bfde8", "sha256": "5ab94a703eeb5df942048ae7181a9e36a7640745b706d765627517bee8d1f4c3" }, "downloads": -1, "filename": "rer.newsletter-0.1.3.tar.gz", "has_sig": false, "md5_digest": "48c954b49f5af16673978c5d544bfde8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174278, "upload_time": "2018-05-23T07:38:07", "url": "https://files.pythonhosted.org/packages/30/60/9bac04f5aebab07d759fae15ddf909b19a1d6fe4fd2bc03da869b30b2129/rer.newsletter-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6e03201025ada37118d5882a2526034a", "sha256": "ed8a4a15a07836fdcba20690f06a5a5e38c698c1b6d3352d4a8142dcbdfb1f98" }, "downloads": -1, "filename": "rer.newsletter-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6e03201025ada37118d5882a2526034a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174670, "upload_time": "2018-05-23T09:23:42", "url": "https://files.pythonhosted.org/packages/46/3b/0cb5bc8b5166eff4eec48b32c2a830bdb9815ce1c9c9cf0e26a231bcdef9/rer.newsletter-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "bbb685dfb4196f677fd38ae5794de642", "sha256": "0a91c57feec69de7685eb00636e6baf501a5d1521dd454252e70f9d33d18f678" }, "downloads": -1, "filename": "rer.newsletter-0.1.5.tar.gz", "has_sig": false, "md5_digest": "bbb685dfb4196f677fd38ae5794de642", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174711, "upload_time": "2018-05-25T07:41:39", "url": "https://files.pythonhosted.org/packages/aa/67/e5b748e48c890d4056c38245c325bbcc14c801a7ac8e141aae2dbd1f352e/rer.newsletter-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "61d54821629fdbc85279d9177d879dd8", "sha256": "4374c996ca8b7085727a4a835455bffd9eb16a8d590c5604c6a71369ac70b57d" }, "downloads": -1, "filename": "rer.newsletter-0.1.6.tar.gz", "has_sig": false, "md5_digest": "61d54821629fdbc85279d9177d879dd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174801, "upload_time": "2018-06-19T07:45:20", "url": "https://files.pythonhosted.org/packages/6c/7c/327b2d91b1e73010c93f1bb2e74ebb564b7b52da8de2a356cd77f342cfd8/rer.newsletter-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "a12b91cb204eae8fed9c8089546e9fa4", "sha256": "ecc746371b25d65b1e3d34ea075c2df1175d04df079febfc46639d983613675b" }, "downloads": -1, "filename": "rer.newsletter-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a12b91cb204eae8fed9c8089546e9fa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 174843, "upload_time": "2018-06-19T08:22:51", "url": "https://files.pythonhosted.org/packages/2b/35/a4e60fc0cb21767bb564b7e3fd87cdc4f38285f15c52f4b5cd362ae1d235/rer.newsletter-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ea48d05d97cd4f566c1801df4b27701a", "sha256": "f77dde10d6301662edcbe504b494d207398134dbfec186c05d2c55d88ab7d0bc" }, "downloads": -1, "filename": "rer.newsletter-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ea48d05d97cd4f566c1801df4b27701a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178621, "upload_time": "2018-07-19T09:40:11", "url": "https://files.pythonhosted.org/packages/96/ae/94a6cfb3bd6f2af34af7830c12300bc09616881e725f847d9f8aee276f32/rer.newsletter-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "82d72159e65adbdd3583d76cb2a3981f", "sha256": "7384f61ac8d4491c691d53f1df102eab7569eefd47f35ca17d4b45a42e3c38cf" }, "downloads": -1, "filename": "rer.newsletter-0.1.9.tar.gz", "has_sig": false, "md5_digest": "82d72159e65adbdd3583d76cb2a3981f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178686, "upload_time": "2018-09-20T13:35:32", "url": "https://files.pythonhosted.org/packages/0e/39/88b1065c6879a2accb09efe74257e91fe10ec1ddc1c2a2d299383082f2c9/rer.newsletter-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e9c73f09bce929d838ce2d3306414743", "sha256": "f3fdd7c2ce198e567e5383fed5df4b82eee51f9dc023143deb6c14625ed40283" }, "downloads": -1, "filename": "rer.newsletter-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e9c73f09bce929d838ce2d3306414743", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178591, "upload_time": "2019-04-01T13:55:57", "url": "https://files.pythonhosted.org/packages/33/ed/652654b2f014c583a24a1da0f2e2e73aedef31356bd4fe6e34dd6cead1a9/rer.newsletter-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9c73f09bce929d838ce2d3306414743", "sha256": "f3fdd7c2ce198e567e5383fed5df4b82eee51f9dc023143deb6c14625ed40283" }, "downloads": -1, "filename": "rer.newsletter-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e9c73f09bce929d838ce2d3306414743", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178591, "upload_time": "2019-04-01T13:55:57", "url": "https://files.pythonhosted.org/packages/33/ed/652654b2f014c583a24a1da0f2e2e73aedef31356bd4fe6e34dd6cead1a9/rer.newsletter-0.2.0.tar.gz" } ] }