{ "info": { "author": "Asko Soukka", "author_email": "asko.soukka@iki.fi", "bugtrack_url": null, "classifiers": [ "Framework :: Plone :: 4.3", "Framework :: Plone :: 5.0", "Programming Language :: Python :: 2.7" ], "description": "Personnel Roster\n================\n\n.. image:: https://secure.travis-ci.org/collective/collective.roster.png\n :target: http://travis-ci.org/collective/collective.roster\n\n**collective.roster** aka Personnel Roster provides highly customizable\npersonnel listing, which can be extended easily with custom file system\ndeveloped add-ons.\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/roster-product-activated.png\n\nAdding a new roster\n===================\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/roster-add-form.png\n\nAdding a new person\n===================\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/person-add-form.png\n\nAlphabetical listing\n====================\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/roster-alpha-view.png\n\nGroups listing\n==============\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/roster-groups-view.png\n\nGallery listing\n===============\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/roster-gallery-view.png\n\nPerson view\n===========\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/person-view.png\n\nPerson viewlets manager\n=======================\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/person-viewlets-manager.png\n\nAvailable behaviors\n===================\n\n.. figure:: https://raw.githubusercontent.com/collective/collective.roster/master/docs/behaviors-manager.png\n\nChangelog\n=========\n\n2.3.1 (2017-12-18)\n------------------\n\n- Fix groups behavior to not acquire person groups from roster when dexterity\n implicit attribute lookup is disabled and groups attribute is missing\n [datakurre]\n\n2.3.0 (2017-10-27)\n------------------\n\n- Change english translation for subject from studysubject to subject\n [Grrandi]\n\n\n2.2.1 (2017-10-03)\n------------------\n\n- Fixed SimpleTerm creation.\n [iham]\n\n\n2.2.0 (2017-04-04)\n------------------\n\n- Add option for groups behavior to mark person a groups leader and sort\n leaders before others in grouped views\n [datakurre]\n\n\n2.1.4 (2017-04-04)\n------------------\n\n- Fix issue where group links on gallery depended on current URL and might have\n been broken\n [datakurre]\n\n\n2.1.3 (2017-03-29)\n------------------\n\n- Fix to require plone.app.registry>=1.2.5 [fixes #6]\n [datakurre]\n\n2.1.2 (2017-01-12)\n------------------\n\n- Fix issue where groups adapter returned None\n [datakurre]\n\n2.1.1 (2017-01-11)\n------------------\n\n- Fix biography to be primary field\n [datakurre]\n\n2.1.0 (2016-12-19)\n------------------\n\n- Make roster views aware of possibly enabled RichText-behavior\n [datakurre]\n\n\n2.0.3 (2016-12-16)\n------------------\n\n- Fix issue where group anchors on groups_view were broken\n [datakurre]\n\n\n2.0.2 (2016-12-07)\n------------------\n\n- Fix alphabetical listing to sort using locale aware sortable title\n [datakurre]\n\n\n2.0.1 (2016-11-08)\n------------------\n\n- Fix issue where empty value for JS bundle broke Plone bundle merge\n on a new site\n [datakurre]\n\n\n2.0.0 (2016-11-04)\n------------------\n\n- Allow short number to be anything between 100 and 9999\n [datakurre]\n\n- Plone 5 compatibility: Optionally import ``checkEmailAddress`` and\n ``EmailAddressInvalid`` from CMFPlone respectively CMFDefault.\n [thet]\n\n- Add file type checking for person portrait image\n [Grrandi, datakurre]\n\n- Change studysubject behavior label from 'Studysubject' to 'Subject'\n [Grrandi, datakurre]\n\n- Refactored grokless public release.\n [datakurre]\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/collective.roster", "keywords": "", "license": "EUPL", "maintainer": "", "maintainer_email": "", "name": "collective.roster", "package_url": "https://pypi.org/project/collective.roster/", "platform": "", "project_url": "https://pypi.org/project/collective.roster/", "project_urls": { "Homepage": "https://github.com/collective/collective.roster" }, "release_url": "https://pypi.org/project/collective.roster/2.3.1/", "requires_dist": [ "setuptools", "Products.CMFCore", "Products.CMFPlone", "Zope2", "borg.localrole", "plone.api", "plone.app.dexterity", "plone.app.textfield", "plone.app.viewletmanager", "plone.app.registry (>=1.2.5)", "plone.autoform", "plone.formwidget.contenttree", "plone.formwidget.namedfile", "plone.indexer", "plone.memoize", "plone.namedfile[blobs]", "plone.supermodel", "plone.z3ctable", "python-magic", "zope.component", "zope.i18n", "zope.i18nmessageid", "zope.interface", "zope.publisher", "zope.schema", "Pillow; extra == 'test'", "corejet.core; extra == 'test'", "plone.app.testing; extra == 'test'", "plone.app.imaging; extra == 'test'", "plone.app.robotframework; extra == 'test'" ], "requires_python": "", "summary": "Personnel Roster", "version": "2.3.1" }, "last_serial": 3424793, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "8b08a7e546d20fa1ce7b05d872571858", "sha256": "40be60eab65bdf475769532cb136cdc442654be47b9561f50dce526069c0901b" }, "downloads": -1, "filename": "collective.roster-2.0.0.tar.gz", "has_sig": false, "md5_digest": "8b08a7e546d20fa1ce7b05d872571858", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 509859, "upload_time": "2016-11-04T14:09:36", "url": "https://files.pythonhosted.org/packages/ef/17/55475d5accceaa7d75af37d35e530ab7d5d5cd68e8c6c989d0bf3b48d338/collective.roster-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2231565e8d2ec8cc1b3ec4e48bd98434", "sha256": "3b262d828dd45c3e72ad18f7699f7ecdf2f05f8a53a0e1c145b8b77f3b1d09a9" }, "downloads": -1, "filename": "collective.roster-2.0.1.tar.gz", "has_sig": false, "md5_digest": "2231565e8d2ec8cc1b3ec4e48bd98434", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 511326, "upload_time": "2016-11-08T11:12:01", "url": "https://files.pythonhosted.org/packages/69/b8/b8c0c921f2478a66632c3daf04453c42b1ecc3cb5d78055b83d310c225b2/collective.roster-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "6e82d3c3607e477ec764acac23d59157", "sha256": "eeff3d0076b97f3a0a0fc57519fab9bdd8d7db7632a435227d7ec3a5e04ac065" }, "downloads": -1, "filename": "collective.roster-2.0.2.tar.gz", "has_sig": false, "md5_digest": "6e82d3c3607e477ec764acac23d59157", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510134, "upload_time": "2016-12-07T12:31:59", "url": "https://files.pythonhosted.org/packages/8a/84/8de3b474df8c749dd2b64627b0ada3c022c951d4889b6fd94f0ab3f22805/collective.roster-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "16f74cee0050a5e3588f634597140a79", "sha256": "af26fd0c9c2b2cd9eea9a729b43923e11fc4a72b0f12fcdc36c722f922403ac2" }, "downloads": -1, "filename": "collective.roster-2.0.3.tar.gz", "has_sig": false, "md5_digest": "16f74cee0050a5e3588f634597140a79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510194, "upload_time": "2016-12-16T08:48:29", "url": "https://files.pythonhosted.org/packages/e7/9f/344e7f290dfa49081bc5ba508d3d5d6247de39273ea2cbfc181bf056c731/collective.roster-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "671a24d273fc10a041cc9451faa47a03", "sha256": "0b7b53337588d0044e33418ec97a6caa5ef2c067553c9d2959bdfc147fc1744b" }, "downloads": -1, "filename": "collective.roster-2.1.0.tar.gz", "has_sig": false, "md5_digest": "671a24d273fc10a041cc9451faa47a03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510386, "upload_time": "2016-12-19T12:02:03", "url": "https://files.pythonhosted.org/packages/a7/c5/813ee16632da6dbe776e4fb58961ec87589b6c122bdc8cad62ebcb60c8c9/collective.roster-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "d4e3e646bbdf559f31a57c0cc21ae532", "sha256": "787ed12be6ec4fc0096b82ee64be36ffbc19e300a3bf9dc4fd623448cbe66917" }, "downloads": -1, "filename": "collective.roster-2.1.1.tar.gz", "has_sig": false, "md5_digest": "d4e3e646bbdf559f31a57c0cc21ae532", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 512287, "upload_time": "2017-01-11T09:12:18", "url": "https://files.pythonhosted.org/packages/70/a6/6c6ffe3709c10a4fd4224796f2c68de27a06e4c202d17c19380a53d3e6ec/collective.roster-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "7e47710a61c2cb1b0dfdaf34ddc68475", "sha256": "937c107f606d1ee7fb73016a46492ac302794aa33f66cf93301204a5c7d40596" }, "downloads": -1, "filename": "collective.roster-2.1.2.tar.gz", "has_sig": false, "md5_digest": "7e47710a61c2cb1b0dfdaf34ddc68475", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 512357, "upload_time": "2017-01-12T12:16:17", "url": "https://files.pythonhosted.org/packages/a4/7f/b8a59729f8eaeb7c15402660b14eaf3f6e4c94b79a19f56f6930dd26c717/collective.roster-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "7b9a4951e0275f090251aa3027569864", "sha256": "cc325cdf7d4d06859eb287a75883fddfa0800698400c80254bdf280f11fcac9d" }, "downloads": -1, "filename": "collective.roster-2.1.3.tar.gz", "has_sig": false, "md5_digest": "7b9a4951e0275f090251aa3027569864", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510521, "upload_time": "2017-03-29T09:43:42", "url": "https://files.pythonhosted.org/packages/45/7b/49473f8afcd8aed391023f18a54b52d2af6d2b6c28fe8c7a425b5624f228/collective.roster-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "72e0633c1c20101e4e5f7b4d91b78e62", "sha256": "3343e9d9e7aad6f14d4e65a78fd8696b426c9f7f331922620ec4b7d483b71b98" }, "downloads": -1, "filename": "collective.roster-2.1.4.tar.gz", "has_sig": false, "md5_digest": "72e0633c1c20101e4e5f7b4d91b78e62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 510628, "upload_time": "2017-04-04T11:58:13", "url": "https://files.pythonhosted.org/packages/24/63/9210445d93ca312b5ec619c53e3c05be2b646ab68628ee56f64b0903ec92/collective.roster-2.1.4.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "c0ad933823d329ed51d11df0f7265023", "sha256": "045738b714f6e44cb65bfe8255585ba88b8705a0e9e72d5d84d9cc16be940dc3" }, "downloads": -1, "filename": "collective.roster-2.2.0.tar.gz", "has_sig": false, "md5_digest": "c0ad933823d329ed51d11df0f7265023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 511201, "upload_time": "2017-04-04T12:31:37", "url": "https://files.pythonhosted.org/packages/76/6a/e316420f3e846e57e51c304922adf1e94caa2b3be510a3f73a33031a2c88/collective.roster-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "5813f5688cb3df19d4b85233d2fa2149", "sha256": "3bf11d33c401697e1eea2ba99fccdf2b31da35d2c8d2352d1feb51c9b854dc4d" }, "downloads": -1, "filename": "collective.roster-2.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "5813f5688cb3df19d4b85233d2fa2149", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 57869, "upload_time": "2017-10-03T19:11:46", "url": "https://files.pythonhosted.org/packages/c8/ae/f19fb01f7b51b0ce23c3cf524e12ec13339ca2c8c140333c836be12adcd0/collective.roster-2.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb55f6fd97142079c3fab570a17b16ff", "sha256": "9ec28f9b76929eab9a0f8d0d6bcd4dd12398181b21e5a3dcb13e4f0a85b67600" }, "downloads": -1, "filename": "collective.roster-2.2.1.tar.gz", "has_sig": false, "md5_digest": "bb55f6fd97142079c3fab570a17b16ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 511410, "upload_time": "2017-10-03T19:12:05", "url": "https://files.pythonhosted.org/packages/05/f9/269e80eeba0b763e3a0963c0767cff300051d18b35f532ed4e8d25a85cfb/collective.roster-2.2.1.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "96017d78d1af6b490d7d07cfbebaa6f4", "sha256": "f66f7ea6c88eea14666e7e92881a3470686c01fa93fe8aff65ec41182dae0133" }, "downloads": -1, "filename": "collective.roster-2.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "96017d78d1af6b490d7d07cfbebaa6f4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 57943, "upload_time": "2017-10-27T10:44:15", "url": "https://files.pythonhosted.org/packages/28/f8/cf0ccde8a61c7b486bbbc36c15424322dc4f81367605c169a4ddfe44fd6a/collective.roster-2.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66a30199f0b0d25f101c527312164527", "sha256": "1d262b8ba1e570d1cd0933ec6dfa73b2618642bc378992f296bac748882e2d6b" }, "downloads": -1, "filename": "collective.roster-2.3.0.tar.gz", "has_sig": false, "md5_digest": "66a30199f0b0d25f101c527312164527", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 511454, "upload_time": "2017-10-27T10:44:18", "url": "https://files.pythonhosted.org/packages/27/5b/f90944aa83d51f4dc03aa380a083cc23d09edc0c42fbe9b9345f577fa399/collective.roster-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "e295d5bdf261889f8b2adcdbb1710dbd", "sha256": "cdd45fadc79d993ef244fd135ac7fa5022579d6cee50ce03ac5dbe202f29a956" }, "downloads": -1, "filename": "collective.roster-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e295d5bdf261889f8b2adcdbb1710dbd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58220, "upload_time": "2017-12-18T12:04:47", "url": "https://files.pythonhosted.org/packages/e4/42/0142726c4fb7a11ba3660d46ab5afb41cdcd5eec2a6f8df95e3b5fb9b8b4/collective.roster-2.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d20bd807fb4b85ad7259bf83e2ffdcd8", "sha256": "25ca00418150518c749e62d61e7bc867e2a3882f91f4fe1dbc293fcd5e06b397" }, "downloads": -1, "filename": "collective.roster-2.3.1.tar.gz", "has_sig": false, "md5_digest": "d20bd807fb4b85ad7259bf83e2ffdcd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 512633, "upload_time": "2017-12-18T12:04:50", "url": "https://files.pythonhosted.org/packages/b9/fd/27e1c9d14d22140d75eb6e5017f327a0b2a64d32f00e404a4ea60a68ced5/collective.roster-2.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e295d5bdf261889f8b2adcdbb1710dbd", "sha256": "cdd45fadc79d993ef244fd135ac7fa5022579d6cee50ce03ac5dbe202f29a956" }, "downloads": -1, "filename": "collective.roster-2.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e295d5bdf261889f8b2adcdbb1710dbd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58220, "upload_time": "2017-12-18T12:04:47", "url": "https://files.pythonhosted.org/packages/e4/42/0142726c4fb7a11ba3660d46ab5afb41cdcd5eec2a6f8df95e3b5fb9b8b4/collective.roster-2.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d20bd807fb4b85ad7259bf83e2ffdcd8", "sha256": "25ca00418150518c749e62d61e7bc867e2a3882f91f4fe1dbc293fcd5e06b397" }, "downloads": -1, "filename": "collective.roster-2.3.1.tar.gz", "has_sig": false, "md5_digest": "d20bd807fb4b85ad7259bf83e2ffdcd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 512633, "upload_time": "2017-12-18T12:04:50", "url": "https://files.pythonhosted.org/packages/b9/fd/27e1c9d14d22140d75eb6e5017f327a0b2a64d32f00e404a4ea60a68ced5/collective.roster-2.3.1.tar.gz" } ] }