{ "info": { "author": "keul", "author_email": "luca@keul.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Plone", "Framework :: Plone :: 3.3", "Framework :: Plone :: 4.0", "Framework :: Plone :: 4.1", "Framework :: Plone :: 4.2", "Framework :: Plone :: 4.3", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\r\n============\r\n\r\nThis product can change the behaviour of the Plone's \"*Display*\" menu, making it a little\r\ncustomizable. Those customization are *not* content type related, but are done for a\r\nsingle content.\r\n\r\nFor every specific content of the portal:\r\n\r\n* You can block ability of your authors to change content's layouts.\r\n* You can add custom, additional, views to a content.\r\n* You can hide all standard available layout for a content, leaving only the new customized\r\n ones.\r\n\r\n.. image:: http://keul.it/images/plone/Products.ATCustomizableView-0.4.0-01.png\r\n :alt: The menu customization form\r\n\r\nUser cases\r\n----------\r\n\r\n `Why freeze the content layout?`\r\n Sometimes you need to apply a new view to a single content, like a folder.\r\n For example: you have a folder where you know is used only for *News Item* contents\r\n and you have a quite good view for this folder.\r\n \r\n Registering this view for all Folder content types will give to your author the choice\r\n to use this view also in other section of the site, but you don't want it.\r\n A views pollution in the \"*Display*\" menu can be confusing.\r\n `Why adding new entry in the menu`\r\n Keep in mind that you are adding new views to a single content of your site.\r\n \r\n For example: you have developed a new view for the *Page* and you want optionally leave\r\n to your authors to use or not this view in the home-page sub-sections of your site.\r\n \r\n Like above, registering this view for the Page content types will leave to authors the\r\n choice to use this view for *all* page of the site but, for design choice, you want to\r\n use this view only for some specific pages. \r\n `Why dropping base views`\r\n No much to say, may be you don't want to inherit the content types views and don't want\r\n that your authors are able to use them.\r\n\r\nSimplification for developers\r\n-----------------------------\r\n\r\nBehaviour described above can be reach also developing additional content types. However I found\r\nnot very useful developing silly content type or marker interfaces only for obtaining additional\r\nlayout.\r\n\r\nIf you don't want any UI\r\n------------------------\r\n\r\nI got some (good) criticism about releases of ATCustomizableView that started to display Plone UI,\r\neven if those changes were in the TODO for a long time.\r\n\r\nIf you liked older versions, where you were forced to go to ZMI, simply remove to *all user roles* the\r\n*Customize menu: view* permission. Also to Manager.\r\n\r\nAfter that you can continue working only using ZMI properties tab!\r\n\r\nInstallation\r\n============\r\n\r\nAdd \"Products.ATCustomizableView\" to the egg section of your buildout configuration file.\r\n\r\nFor Plone versions 3.2 or lower, remember the zcml section::\r\n\r\n zcml =\r\n ...\r\n Products.ATCustomizableView\r\n Products.ATCustomizableView-overrides\r\n\r\nTODO\r\n====\r\n\r\n* Is this working with Dexterity based content types? If not: can I make this works someway?\r\n* Tests...\r\n\r\nChanges\r\n=======\r\n\r\n0.5.0 (2013-10-01)\r\n------------------\r\n\r\n* Added a way to handle view menu for default page in the folder\r\n [keul]\r\n* Plone 4.3 compatibility\r\n [keul]\r\n* Added an uninstall profile\r\n [keul]\r\n\r\n0.4.1 (2011-01-31)\r\n------------------\r\n\r\n* Found a missing import of IBrowserMenu\r\n (I know... I need tests) [keul]\r\n\r\n0.4.0 (2011-01-31)\r\n------------------\r\n\r\n* Removed a reference to unknow method \"getSavedCustomizations\".\r\n This remove a warning on Zope start-up [keul]\r\n* Added doc guide fo user that wanna to keep the ATCustomizable features only\r\n for ZMI [keul]\r\n* Added a way for changing layout and template [keul]\r\n* Bad bug: the product was checking a wrong permission name [keul]\r\n* Customize menu view was not callable on non-folderish contents [keul]\r\n\r\n0.3.1 (2011-01-10)\r\n------------------\r\n\r\n* Bad identation; menu will raise error if the product is not installed [keul]\r\n\r\n0.3.0 (2011-01-09)\r\n------------------\r\n\r\n* Egg cleanup [keul]\r\n* Fixed dependency in the product [keul]\r\n* Product is now installable [keul]\r\n* Do not apply patches if the product is not installed [keul] \r\n* Added friendly Plone UI for managing configurations [keul]\r\n* Translations (for now in Italian, other are welcome) [keul]\r\n* Tested also on Plone 4 [keul]\r\n\r\n0.2.0 (2009-08-11)\r\n------------------\r\n\r\n* Forget Plone 2.5 support.\r\n* No more ugly-old-style monkey patch, but now `collective.monkeypatcher`__\r\n is required. [keul]\r\n* Added controls on selectable views. [keul]\r\n\r\n__ http://pypi.python.org/pypi/collective.monkeypatcher/\r\n\r\n0.1.0 (2009-02-07)\r\n------------------\r\n\r\n * Initial releases", "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/atcustomizableview", "keywords": "plone atct default-view layout", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "Products.ATCustomizableView", "package_url": "https://pypi.org/project/Products.ATCustomizableView/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Products.ATCustomizableView/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://plone.org/products/atcustomizableview" }, "release_url": "https://pypi.org/project/Products.ATCustomizableView/0.5.0/", "requires_dist": null, "requires_python": null, "summary": "A product that change the standard Plone behavior of the \"Display\" menu", "version": "0.5.0" }, "last_serial": 3430617, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "963fe0a98ca9d4c8c16f7da3770ed74e", "sha256": "f3c320d6e526794574fa6d8f94b3c891a8c9d00e316e8d18bbcd3f3a87af08e3" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.1.0-py2.4.egg", "has_sig": false, "md5_digest": "963fe0a98ca9d4c8c16f7da3770ed74e", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 5855, "upload_time": "2009-02-07T15:50:59", "url": "https://files.pythonhosted.org/packages/41/31/b80dfce3e601b8f14d2ffef3aa03ffdd2e385c4af24315384b92f9b7af83/Products.ATCustomizableView-0.1.0-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "b902ed9a06608f4b52f7ccf091e123f1", "sha256": "9b0501ccc32fa365b1fa6247479965356425058fcd9d10d64cd19c80702f0137" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b902ed9a06608f4b52f7ccf091e123f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9225, "upload_time": "2009-02-07T15:50:37", "url": "https://files.pythonhosted.org/packages/35/f6/4dde3a9a65391f7b8e92b3d0b98478f7f7420c96e8e75044891f8efbac8f/Products.ATCustomizableView-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cbd33f8a96a86c1f29bf8329000dd63c", "sha256": "a5cee108fca17021779cf1c576ec95fb7fd8b13e5caaa4b418d0d447ae6d7082" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.2.0-py2.4.egg", "has_sig": false, "md5_digest": "cbd33f8a96a86c1f29bf8329000dd63c", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 11207, "upload_time": "2009-08-11T00:06:32", "url": "https://files.pythonhosted.org/packages/c4/d0/4925cc4f475898c2c8eb13bf299c2aae56f232dbf04aec0b55db2240a4a3/Products.ATCustomizableView-0.2.0-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "b7d9ff1f4f3cc812fe226f954ec9bafd", "sha256": "ca50fbc3e1a657fb5cc136a970825b6820ebe9ca8dc874e6f13d6f5dd974cbf7" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b7d9ff1f4f3cc812fe226f954ec9bafd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12147, "upload_time": "2009-08-11T00:06:26", "url": "https://files.pythonhosted.org/packages/e0/17/4f34aead77409ed48882f674e25d9912c6a38981944afcf2620fefbc7818/Products.ATCustomizableView-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c078c6096c0056910a7a1cf899090a6c", "sha256": "ca987fad8b2cf160a6658c64a470aab4f64a302177f6ee4bd38a5994f21af3ae" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.3.0-py2.4.egg", "has_sig": false, "md5_digest": "c078c6096c0056910a7a1cf899090a6c", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 23592, "upload_time": "2011-01-09T16:05:47", "url": "https://files.pythonhosted.org/packages/34/e6/ed0ffd404817708ca11d82d5090a9c4d0dcd9837a0ab4096e4b5fce2c8a8/Products.ATCustomizableView-0.3.0-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "45ab96a7579a90fbaa058ad68f87f6f4", "sha256": "09b13959f9a6426ca1ac806b9c2617abc1352c6dc45927585681c628235ff68d" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.3.0-py2.6.egg", "has_sig": false, "md5_digest": "45ab96a7579a90fbaa058ad68f87f6f4", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 23546, "upload_time": "2011-01-09T16:06:14", "url": "https://files.pythonhosted.org/packages/e5/75/4e958fd59d1c4369016f05cffdbd3668389272f20bae57caac37d3cd4ca7/Products.ATCustomizableView-0.3.0-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "b45092d4240aff42eae7cd9083eb7304", "sha256": "7a9370df9ae5fd15e38155b7da790326e3ab6ca6957baf1e9e1446f406aa46b4" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b45092d4240aff42eae7cd9083eb7304", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16354, "upload_time": "2011-01-09T16:05:44", "url": "https://files.pythonhosted.org/packages/a9/fd/8a9af9d100cd0d42c5acb21e80c96b9e36df35121de1442e7aaa641bf038/Products.ATCustomizableView-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "8561467dd94bbb64282a4becc9ad7587", "sha256": "b994152a19e09286497018790ba1f3b55d3881bee2054c24a8b4397a571a24c3" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.3.1-py2.4.egg", "has_sig": false, "md5_digest": "8561467dd94bbb64282a4becc9ad7587", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 23630, "upload_time": "2011-01-10T17:07:37", "url": "https://files.pythonhosted.org/packages/0b/78/c73809f659aad524dcae57d18c82364d8d8e2a6a07ae1346fb88fe2a84f3/Products.ATCustomizableView-0.3.1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "f28a818831697fbfe602a340acdec6e5", "sha256": "5c5339236d17fd1804e61eb9f339357a08bcc5ff5bc5116c9eade1c5a4af9af7" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.3.1-py2.6.egg", "has_sig": false, "md5_digest": "f28a818831697fbfe602a340acdec6e5", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 23580, "upload_time": "2011-01-10T17:08:14", "url": "https://files.pythonhosted.org/packages/5f/9f/2b765e8dff28070dc414008ad59572639115379a034e95fc5769fbc945c5/Products.ATCustomizableView-0.3.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "09ad6631b58010d2504495c08be7871d", "sha256": "c524f3743583ed4bdd7946288f6209a3e1ec98aae0b8325eb77a429184d92593" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.3.1.tar.gz", "has_sig": false, "md5_digest": "09ad6631b58010d2504495c08be7871d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16430, "upload_time": "2011-01-10T17:07:37", "url": "https://files.pythonhosted.org/packages/d7/14/2dc18532dad0a834e4d945f649f02aebaabf33cb80927f853945be12d8d1/Products.ATCustomizableView-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "942d34de7d941b574e371f2decd92469", "sha256": "9dc1098df9908e1af85c6f095148f488d95c9ddeabf14f25180319970a872c01" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.4.0-py2.4.egg", "has_sig": false, "md5_digest": "942d34de7d941b574e371f2decd92469", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 26668, "upload_time": "2011-01-31T11:57:36", "url": "https://files.pythonhosted.org/packages/2d/73/0d65bb6074efbd5ee28fb6ffc7ee99f7bafedb96501b6f077c05184c5c0f/Products.ATCustomizableView-0.4.0-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "70e0c6d0b54b65953b513220039ba00b", "sha256": "7ba3bb93e28b1f01197186302f81bcc369ebe395e6cb9304f1ca5b961442c7e7" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.4.0.tar.gz", "has_sig": false, "md5_digest": "70e0c6d0b54b65953b513220039ba00b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18174, "upload_time": "2011-01-31T11:57:36", "url": "https://files.pythonhosted.org/packages/18/aa/9fffc6f5eb14a5f8d822d6d031a3b7e35e3ed9272265f3ed016c7a6c7184/Products.ATCustomizableView-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "26a0a4f2af87f4d187e35445fb5a066e", "sha256": "b6275739d97c7834c6d133e5f99f8dbe3e715e701d309b185a31145581a2485a" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.4.1-py2.4.egg", "has_sig": false, "md5_digest": "26a0a4f2af87f4d187e35445fb5a066e", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 26777, "upload_time": "2011-01-31T12:27:18", "url": "https://files.pythonhosted.org/packages/f6/97/75d55172ed80b528b80c8abe0b50b28a917386c3d8af439964bab65a4802/Products.ATCustomizableView-0.4.1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "4269b0590c2846abc6170eb2e413b813", "sha256": "4fc261ed756d292e95df18574bf3d43c5cdf9453f9b2ccb0877c8077caccfb94" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.4.1-py2.6.egg", "has_sig": false, "md5_digest": "4269b0590c2846abc6170eb2e413b813", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 26718, "upload_time": "2011-01-31T12:28:16", "url": "https://files.pythonhosted.org/packages/f9/66/6990b2b84cf4811c2ee5263ac771c9f2b6248da592fbbff96af6fc1ecafe/Products.ATCustomizableView-0.4.1-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "d225eb2a1c65791ce81465daecc91236", "sha256": "a68c17837f45f73d5fcbea20ce5b7ccc9ca1b871c914c47cdff82966bf8e1334" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.4.1.tar.gz", "has_sig": false, "md5_digest": "d225eb2a1c65791ce81465daecc91236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18271, "upload_time": "2011-01-31T12:27:17", "url": "https://files.pythonhosted.org/packages/54/b8/93a91b4cb1bf3dc3a10e2d377594c34df86bf584d2beb7259b7019c336b0/Products.ATCustomizableView-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "ea31add4128210a33f9c531decf79101", "sha256": "b54a51a64e1eeb227e6ec252e328ede3aa53d90b25b1dff4074c977b0cc87e13" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.5.0.zip", "has_sig": false, "md5_digest": "ea31add4128210a33f9c531decf79101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33593, "upload_time": "2013-10-01T16:48:01", "url": "https://files.pythonhosted.org/packages/8a/11/0e3908a8657c730405430f3591fbb4d69c8a5a9076ce30a75f30d72a22f2/Products.ATCustomizableView-0.5.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ea31add4128210a33f9c531decf79101", "sha256": "b54a51a64e1eeb227e6ec252e328ede3aa53d90b25b1dff4074c977b0cc87e13" }, "downloads": -1, "filename": "Products.ATCustomizableView-0.5.0.zip", "has_sig": false, "md5_digest": "ea31add4128210a33f9c531decf79101", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33593, "upload_time": "2013-10-01T16:48:01", "url": "https://files.pythonhosted.org/packages/8a/11/0e3908a8657c730405430f3591fbb4d69c8a5a9076ce30a75f30d72a22f2/Products.ATCustomizableView-0.5.0.zip" } ] }