{ "info": { "author": "Aaron VanDerlip and others", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Plone", "Framework :: Plone :: 3.3", "Framework :: Zope2", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python" ], "description": "SignupSheet\r\n===========\r\n\r\nSignupSheet is an add-on product that allows site managers to create **custom\r\nregistration forms for events, workshops, fundraisers** and other events that\r\nrequire **online registration**. Each SignupSheet defines the fields that are used\r\nfor each *Registrant* object they contain, through the ATSchemaEditorNG product.\r\nThe Registrant object is what the end user fills out and submits. The workflow\r\nplaces each submitted Registrant in a private state once it is submitted so\r\nthat it can be reviewed and approved.\r\n\r\nThe SignupSheet has these additional features:\r\n \r\n- Registrant fields can be exported to CSV\r\n- A waiting list and event size can be set, end users are emailed a message\r\n stating whether they are pending approval or on the waiting list. \r\n- The signup sheet view indicates whether the SignupSheet is 'full', 'open' or\r\n whether user will be put on a waiting list. This is calculated using the\r\n event size and waiting list settings.\r\n- End user is directed to a customizable thank you page.\r\n \r\nThe key motivation behind this product is to provides a way for site managers\r\nto setup registration forms that do more than email the fields to an address.\r\nHaving the fields be configurable is essential, since many groups have specific\r\nrequirements for the data they are collecting for their events.\r\n\r\nAuthenticated user\r\n------------------\r\n\r\nIf you plan to give to authenticated users a way to subscribe to events,\r\nSignupSheet try to fill automatically some registration data from the user's\r\ndata.\r\n\r\nKnow that if you keep all default fields (\"*First name*\", \"*Last name*\" and\r\n\"*E-mail*\"), they are filled automatically taking the same fields from the\r\nuser.\r\n\r\nAs Plone commonly use a single \"*Fullname*\" info, while SignupSheet split it\r\nto first and last name, the procedure try to split your fullname in two.\r\n\r\nIf your fullname policy is to keep last, then first name in that order, you\r\ncan change the same order modifiying the ``first_last_name_order`` property\r\nin the product's ZMI properties sheet.\r\n\r\nLicense\r\n=======\r\n \r\nSignupSheet is released under the GNU General Public Licence, version 2.\r\nPlease see http://gnu.org for more details.\r\n\r\nInstallation\r\n============\r\n \r\n- Install in the usual way, using the QuickInstaller\r\n- Requires ATSchemaEditorNG 0.6 or greater\r\n- Requires TemplateFields and TALESField\r\n- Tested with Plone 3.3.5 and Archetypes 1.6.15 and ATSchemaEditorNG 0.6\r\n \r\nAcknowlegements\r\n===============\r\n\r\n- This product would not be possible without the Poi and RichDocument\r\n products by Martin Aspeli. They provided useful example code, specifically\r\n around the workflow trigger pattern. \r\n- In addition Upfront Contacts by Roche Compaan for the CSV export code. \r\n- In addition thanks to Simon Pamies for assisting me with ATSchemaEditorNG, and\r\n Andreas Jung for providing useful code improvements. \r\n- Naro for the Plone 3 compatibility work\r\n- Andres Jung for eggifying SignupSheet\r\n\r\nPloneGov\r\n--------\r\n\r\nThose sponsored the product inside the `PloneGov`__ initiative.\r\n\r\n__ http://www.plonegov.it/\r\n\r\n- `Camera di Commercio di Ferrara`__ sponsored some i18n fixes\r\n- `S. Anna Hospital, Ferrara`__ sponsored the workflows and roles update\r\n\r\n__ http://www.fe.camcom.it/\r\n__ http://www.ospfe.it/\r\n\r\nKnown Issues and Potential Improvements\r\n=======================================\r\n \r\n- Signupsheet needs more explanatory text. Schema editor has been simplified\r\n but needs better explanatory text.\r\n- It is possible to prematurely fill up registration by malicious user.\r\n Subscriptions are no more saved (and a portal status message is displayed),\r\n but confirmation e-mail are sent.\r\n- At release time, the last ATSchemaEditorNG available version was the `0.6.0`__.\r\n Using this version you will have some problems with signup sheet validation\r\n (see ticket `#26`__ for the fix)\r\n- If you are using this behind `Varnish`__ or other reverse-proxy, you can experience\r\n privacy problems. Please configure you environment to not cache URL with\r\n ``thank_you_message``, or enable the ``traverse_to_thankyou`` flag in the\r\n ``signupsheet_properties`` sheet.\r\n\r\n__ http://pypi.python.org/pypi/Products.ATSchemaEditorNG/0.6\r\n__ http://plone.org/products/atseng/issues/26/\r\n__ http://www.varnish-cache.org/\r\n\r\nAuthors\r\n=======\r\n\r\nAaron VanDerlip (avanderlip AT gmail dot com) and others\r\n\r\nCHANGES\r\n=======\r\n\r\n0.6.1 (Unreleased)\r\n------------------\r\n\r\n- removed package initialize that duplicate the product in portal_quickinstaller [keul]\r\n- fixed a critical bug that block users subscription when not using queue size [keul]\r\n\r\n0.6.0 (2011-10-25)\r\n------------------\r\n\r\n- more SMTP server fault tolerance when notifying the subscriber [keul]\r\n- fixed bug that prevent anon user to see closed signup sheet if date infos are used\r\n (close `#51`__) [keul]\r\n- now default registrant fields can be translated (also italian translation provided) [keul]\r\n- try to fill registration data for authenticated users automatically\r\n (close `#53`__) [keul]\r\n- now the \"*edit registrant form*\" tab appear only if the user has the proper \"*ATSE: Manage schema*\"\r\n permission [keul]\r\n- aligned security with latest Plone 3 (and Plone 4.1) roles (close `#39`__) [keul]\r\n- updated workflows: removed some useless permissions customization and aligned with new-generation Plone roles [keul]\r\n- access to views for seeing and exporting registrants are now protected by the new ``SignupSheet: View Registrants``\r\n [keul]\r\n- do not fail when exporting registrants where some infos are missing, but put there and empty value [keul]\r\n- some more label and name translable [keul]\r\n- Registrant configured to be not searchable and hidden from navigation [keul]\r\n- added a new option (\"Display seats left\") for display the number of seats left in the sheet [keul]\r\n- contents now implements some marker interfaces [keul]\r\n- is no more possible for malicious users to subscribe when registration is full [keul]\r\n\r\n__ http://plone.org/products/signupsheet/issues/51\r\n__ http://plone.org/products/signupsheet/issues/53\r\n__ http://plone.org/products/signupsheet/issues/39\r\n\r\n0.5.3 (2011-09-01)\r\n------------------\r\n\r\n- found that version 0.5.2 was not installable if property sheet was not already there [keul]\r\n\r\n0.5.2 (2011-05-06)\r\n------------------\r\n\r\n- added a ZPT omit-tag to prevent the display of a DIV in improper places [keul]\r\n- do not fail client side if MailHost is bad configured, but only log the error [keul]\r\n- added a new ``signupsheet_properties`` with a flag for bypass Varnish cache, fixing a\r\n bad security/privacy problem, that can display and old \"Thank you\" messa page [keul] \r\n\r\n0.5.1 (2011-01-18)\r\n------------------\r\n\r\n- removed \"Properties\" tab from contents, not more used on Plone 3+ [keul]\r\n- default values for many fields are now translable [keul]\r\n- fix to italian translations [keul]\r\n- added translations for the ugly \"Thank_You\" fieldset [keul]\r\n\r\n0.5 (2010/09/31)\r\n----------------\r\n- final release\r\n\r\n0.5b1 (2010/04/24)\r\n------------------\r\n- fix tests to be compatible with ATSENG 0.6 [aaronv]\r\n- added install of ATSENG to setup_handler [aaronv]\r\n- uses ATSENG 0.6\r\n- use ParentOrToolManagedSchema for registrant to work around bug when logged-in user edits Registrants\r\n- re-applyed the fix added in version 0.4.2 and someway no more available [keul]\r\n- added import step for TinyMCE [keul]\r\n- removed all available views but Base View [keul]\r\n- confirm icon in view_registrants template was broken [keul]\r\n\r\n0.4.4 (2010/04/19)\r\n--------------------\r\n- setuphandler is only run when own product is installed. [mlundwall]\r\n- RegistrationDeadline and EarlyBirdDate now displayed using toLocalizedTime [keul]\r\n- the subscription form now use the POST method [keul]\r\n- minor fixes to italian translation [fdelia]\r\n\r\n0.4.3 (2010/01/22)\r\n-------------------\r\n- update Italian translations\r\n (fdelia)\r\n- added fix for XHTML compliance for signupsheet_view\r\n\r\n0.4.2.2 (2009/07/12)\r\n--------------------\r\n- updated Italian translations\r\n- Espen Moe-Nilssen supplied Norwegian translations\r\n- Luca Fabbri supplied Italian translations\r\n- fix for http://plone.org/products/signupsheet/issues/43\r\n\r\n0.4.2 (2009/04/14)\r\n------------------\r\n- changed permission for using modifying the schema to ManagePortalContent\r\n (ManagePortal is too restrictive)\r\n\r\n0.4.1 (2009/03/39)\r\n------------------\r\n- fixed bug for anon permissions on registrationDeadline and earlyBirdDate\r\n (aaronv)\r\n- fixed tests\r\n (aaronv)\r\n\r\n0.4.0 (2009/03/11)\r\n------------------\r\n- added additional early-bird workflow (signupsheet_extended_workflow)\r\n (ajung)\r\n- added additional registrant workflow with confirmation email up confirmation\r\n time instead of subscription time (signupsheet_registrant_extended_workflow)\r\n (ajung)\r\n\r\n\r\n0.3.2 (2009/03/09)\r\n------------------\r\n- fixed dependencies\r\n\r\n0.3.1 (2009/03/09)\r\n------------------\r\n- fixed issue with Anon registrant and metadata updating\r\n- added metadata.xml for GS 1.5 support\r\n- computeFullname now more robust\r\n- tested with Plone 3.1.5 and ATSchemaEditorNG 0.5.0\r\n\r\n0.3.0\r\n-----\r\n- updates to make Plone 3.0.6 compatible.\r\n- added tests for email and posting workflow\r\n- bulk of Plone 3 compatibility work done by Radmin Novotny \r\n\r\n\r\n0.2.0 Beta\r\n----------\r\nAndreas Jung and Radim Novotny contributed significantly to this release.\r\n\r\n- added Portuguese Brasilian translation. Thanks Vitor Reis.\r\n- added 'view registrants' that displays current registrants status and allows for confirming and editing registrants\r\n- added i18n support for templates\r\n- added German translation\r\n- updated tests to pass\r\n- updated i18n\r\n- Because thank_you_page and email_response fields were changed from TextField\r\n to ZPTField it is necessary to manually run migration code from \r\n Extensions/migrate method fixZPTFields. This method will read\r\n old values from these two fields and store the same value in new format.\r\n WARNING: if you don't run migration you will get AttributeError: read\r\n when accessing old SignupSheet objects \r\n- It is possible to generate HTML emails\r\n- workflow script sendInitialEmail is called *before* the transition,\r\n because anonymous can access registrant object only in 'new' state.\r\n If script will be called after transition, Registrant.sendNotificationMail\r\n method won't have access to registrant object. Access is required due to \r\n rendering templates from ZPTField.\r\n- removed signupsheet_email_* templates\r\n- Introduced TALESField and TemplateFields dependecy. SignupSheet uses\r\n these two fields for scripting thank_you_page, confirmation and \r\n notification email (subject and message).\r\n Syntax is described in field help text::\r\n\r\n context = SignupSheet\r\n options/registrant = current Registrant object\r\n \r\n- added notifyEmail field to signupsheet schema. It allows to send notification \r\n about new registrant to some email address.\r\n- removed registration of SignupSheet.css from portal_css\r\n- it is possible to use options/computed_text in email template now\r\n- use getSiteEncoding if available\r\n- additional i18n work (signupsheet.py - schema)\r\n- improved i18n catalogs, added Czech translation\r\n- do not depend on Kupu in install code\r\n- replaced dtml templates with ZPT with i18n\r\n- use base_view for SignupSheet and simplified signupsheet_view template\r\n\r\n\r\n0.1.1\r\n-----\r\n- fixed bug that caused editing existing Registrant objects to fail\r\n- added import for ATSENG so test run properly\r\n- fixed incorrect security declaration for registrantFieldNames\r\n\r\n0.1\r\n---\r\n- Installs ATSENG dependency\r\n- Fixed bug for computing status, added tests against bug\r\n- Fixed manager can override initial post state\r\n- Registrant edit page displays title of SignupSheet\r\n- Fixed Thank you message renders proper HTML\r\n- Fixed email response so that it is text only\r\n\r\n0.1-Beta-2\r\n----------\r\n- tracking changes", "description_content_type": null, "docs_url": "https://pythonhosted.org/Products.SignupSheet/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://plone.org/products/signupsheet", "keywords": "Archetypes Plone Zope Python PloneGov", "license": "GPL2", "maintainer": "RedTurtle Technology", "maintainer_email": "sviluppoplone@redturtle.it", "name": "Products.SignupSheet", "package_url": "https://pypi.org/project/Products.SignupSheet/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Products.SignupSheet/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://plone.org/products/signupsheet" }, "release_url": "https://pypi.org/project/Products.SignupSheet/0.6.1/", "requires_dist": null, "requires_python": null, "summary": "A signup sheet implementation for Plone", "version": "0.6.1" }, "last_serial": 3422865, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "0689d1af62773963b5ea2d0b352ccf9c", "sha256": "9ec6a3ae17073ad7b9a25948e94096f271eb173a6e50ef0bea90c0093431239a" }, "downloads": -1, "filename": "Products.SignupSheet-0.3.1.tar.gz", "has_sig": false, "md5_digest": "0689d1af62773963b5ea2d0b352ccf9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40342, "upload_time": "2009-03-09T13:08:48", "url": "https://files.pythonhosted.org/packages/7f/2c/badc08a516c4397c5992aaa8aaf3ece4aebd95fc6bf9638fbd0d64abceaf/Products.SignupSheet-0.3.1.tar.gz" } ], "0.3.1.-BETA-": [], "0.3.2": [ { "comment_text": "", "digests": { "md5": "9291c0240a8fef4e89559a4eb2ec1a56", "sha256": "cf893a31c8efa12e3edacf8cd05020d3a6708c501e70cfb996f8fbf4a8dbe36d" }, "downloads": -1, "filename": "Products.SignupSheet-0.3.2.tar.gz", "has_sig": false, "md5_digest": "9291c0240a8fef4e89559a4eb2ec1a56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40395, "upload_time": "2009-03-09T13:54:37", "url": "https://files.pythonhosted.org/packages/69/ca/e2cee10e5a143bcf3b260b37feea354131585d56c2c06a7c86e480e33f70/Products.SignupSheet-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "674147c183cad58f8066e0fbb50e9eeb", "sha256": "09bcb3e4d48d6d279739f1e5e321a7afcb515c0b9bb41e9fda47a151d0d39ec9" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.0.tar.gz", "has_sig": false, "md5_digest": "674147c183cad58f8066e0fbb50e9eeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41110, "upload_time": "2009-03-11T09:58:49", "url": "https://files.pythonhosted.org/packages/b5/33/42d8d6a71942fe53d80f22814558894b650e7dbbc05483952d3ef9b21ebe/Products.SignupSheet-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "d15060609a26c7be27c24f08351d15e4", "sha256": "a0fa09ca8a9fe6d32ad26782241274fcdf04eb553de15980e345c36d3ff3fffe" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.1.tar.gz", "has_sig": false, "md5_digest": "d15060609a26c7be27c24f08351d15e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41929, "upload_time": "2009-03-29T20:04:54", "url": "https://files.pythonhosted.org/packages/8d/f2/c715538c1b1e2c08b0115b42dcbd590fc30af96a7861d7824e9d90a53077/Products.SignupSheet-0.4.1.tar.gz" } ], "0.4.2.1": [ { "comment_text": "", "digests": { "md5": "9ea849f2279e32505b0faa269cdf0f65", "sha256": "14b8572b2a007d6d307431cf97ef7f3f5b91cebfa41ea52304ee5fa768f054e0" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.2.1.tar.gz", "has_sig": false, "md5_digest": "9ea849f2279e32505b0faa269cdf0f65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42943, "upload_time": "2009-05-14T12:33:21", "url": "https://files.pythonhosted.org/packages/2a/e7/15654931650098c8e82b938544f5f8533fbd241b6457b3f4d59258ce7157/Products.SignupSheet-0.4.2.1.tar.gz" } ], "0.4.2.2": [ { "comment_text": "", "digests": { "md5": "5a4d572dc739434062c203160829bc85", "sha256": "14f02dbf7d5efb02d2b6e89da56efd59e962e2f09c928f87cc7ba5944f7fdca9" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.2.2.tar.gz", "has_sig": false, "md5_digest": "5a4d572dc739434062c203160829bc85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45728, "upload_time": "2009-07-12T17:46:30", "url": "https://files.pythonhosted.org/packages/e3/19/e3d85928ac8dbd89c4df2f25102e3ee14868b0884bbb69066645abe575eb/Products.SignupSheet-0.4.2.2.tar.gz" } ], "0.4.2.3": [ { "comment_text": "", "digests": { "md5": "4ebf2c5fcf0c2598e383100b6991df48", "sha256": "a981e92661c1d16f17736d6922c3efc7bf3ae2b5c1712bad5485d58ea0e2993a" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.2.3.tar.gz", "has_sig": false, "md5_digest": "4ebf2c5fcf0c2598e383100b6991df48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42609, "upload_time": "2009-12-27T21:29:34", "url": "https://files.pythonhosted.org/packages/d2/60/9c0dfc43369040330c5f27feef82c530a663e6449c19cbc3f229e935cc37/Products.SignupSheet-0.4.2.3.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "6dac534a54ed3297215a70d472be6b0e", "sha256": "7148996f5a4086ac299e546e460b3ffcc184e1e3336feeb8bd4344d00b203f79" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.3.tar.gz", "has_sig": false, "md5_digest": "6dac534a54ed3297215a70d472be6b0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42766, "upload_time": "2010-01-23T02:02:44", "url": "https://files.pythonhosted.org/packages/d0/21/c987ce45336c4ebfea6eba07539ee98c2974a3aceb2febb8d19ce4abfb1e/Products.SignupSheet-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "bf2162073da2335cad652c2079444410", "sha256": "d37e5dd2b926b92ab4b2a47bb0caa86c09559e6345d92d9e949c635c4128f786" }, "downloads": -1, "filename": "Products.SignupSheet-0.4.4.tar.gz", "has_sig": false, "md5_digest": "bf2162073da2335cad652c2079444410", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43150, "upload_time": "2010-04-20T03:24:03", "url": "https://files.pythonhosted.org/packages/7b/70/da6e80e91226433c449f155768b013f152cac911de78aff46f950005cf14/Products.SignupSheet-0.4.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "a53b0bdcfe14a119e6d1f22995acf9c6", "sha256": "898644dfb994b9f38960039fafacfb00cefe783c0a6c81408443e21796e4055c" }, "downloads": -1, "filename": "Products.SignupSheet-0.5.tar.gz", "has_sig": false, "md5_digest": "a53b0bdcfe14a119e6d1f22995acf9c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43579, "upload_time": "2010-08-31T20:10:43", "url": "https://files.pythonhosted.org/packages/dd/2f/a82b1ea3cacb783f8e1f78e797e315e59a925845aff9089919e1ec3e4269/Products.SignupSheet-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "dc24e83567e3f674a1a6444d2caa5e2a", "sha256": "5c6705f2ad476cfee04be7af010be2187a6c35d599ced04e8f82e6ac58f2495c" }, "downloads": -1, "filename": "Products.SignupSheet-0.5.1-py2.4.egg", "has_sig": false, "md5_digest": "dc24e83567e3f674a1a6444d2caa5e2a", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 101544, "upload_time": "2011-01-18T14:11:28", "url": "https://files.pythonhosted.org/packages/e7/76/3e149918ce0016dad6645736363828425e9d2edbf7650c7b505987419ec1/Products.SignupSheet-0.5.1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "3d03bb009455cf70f6bfc64e8e13cd4b", "sha256": "ca927d09b7ca266fa712ec436dfd9dd57005c658e574dc17e18df941341a580b" }, "downloads": -1, "filename": "Products.SignupSheet-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3d03bb009455cf70f6bfc64e8e13cd4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45032, "upload_time": "2011-01-18T14:11:27", "url": "https://files.pythonhosted.org/packages/5e/ea/8cbe3fac90f6803e2bd1426434df6ecc25f31025e0d75df6df2994c00c59/Products.SignupSheet-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "eb48038f14f9775829074d8f28197b0d", "sha256": "28631a3536d380dbb5aaabde77d0837382f4dec1d7971c242d2e93de5acc2c3e" }, "downloads": -1, "filename": "Products.SignupSheet-0.5.2.tar.gz", "has_sig": false, "md5_digest": "eb48038f14f9775829074d8f28197b0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45978, "upload_time": "2011-05-06T14:25:38", "url": "https://files.pythonhosted.org/packages/30/b4/4fd1d0c758a341d4d31c0868d139fb1770284a4f18e2d7dfdc7eeaede975/Products.SignupSheet-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "7f64ba3a5ae57ac34c19eab80584faca", "sha256": "6141a026f38967187d6b883f35fa02f898c65d119e08e0ed2be939bfb8c068bf" }, "downloads": -1, "filename": "Products.SignupSheet-0.5.3.tar.gz", "has_sig": false, "md5_digest": "7f64ba3a5ae57ac34c19eab80584faca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45933, "upload_time": "2011-09-01T15:51:09", "url": "https://files.pythonhosted.org/packages/05/36/61a5297dc0cf221d40b737351159e544d5f09e290b519588d73958d1a938/Products.SignupSheet-0.5.3.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "20a35510c3b8c0a53ca1bf4998ed087a", "sha256": "bb8e7dbe288e5cc1921440511fbd03d822f2638d64ddd16e37281fd6e47f4066" }, "downloads": -1, "filename": "Products.SignupSheet-0.6.0.tar.gz", "has_sig": false, "md5_digest": "20a35510c3b8c0a53ca1bf4998ed087a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50273, "upload_time": "2011-10-25T12:32:21", "url": "https://files.pythonhosted.org/packages/b0/09/21ca7df5d4464660f363cbc4043ee824434ee3794c0ccaec2bb23583f553/Products.SignupSheet-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "9b0af18390ce2bfce6627ef3bd029186", "sha256": "58f3577ac8ecb9a3a7f7a4dad5811ecff51f4d5a6233547a799f45d210bcc4fb" }, "downloads": -1, "filename": "Products.SignupSheet-0.6.1.tar.gz", "has_sig": false, "md5_digest": "9b0af18390ce2bfce6627ef3bd029186", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50273, "upload_time": "2012-01-09T16:09:08", "url": "https://files.pythonhosted.org/packages/78/96/68fbab3a00e0a9a807af13db14adc859ae247b776193506fc8a80997c130/Products.SignupSheet-0.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9b0af18390ce2bfce6627ef3bd029186", "sha256": "58f3577ac8ecb9a3a7f7a4dad5811ecff51f4d5a6233547a799f45d210bcc4fb" }, "downloads": -1, "filename": "Products.SignupSheet-0.6.1.tar.gz", "has_sig": false, "md5_digest": "9b0af18390ce2bfce6627ef3bd029186", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50273, "upload_time": "2012-01-09T16:09:08", "url": "https://files.pythonhosted.org/packages/78/96/68fbab3a00e0a9a807af13db14adc859ae247b776193506fc8a80997c130/Products.SignupSheet-0.6.1.tar.gz" } ] }