{ "info": { "author": "Plone Collective", "author_email": "internet-development@bristol.ac.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Plone", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "collective.contentgenerator 0.2\n===============================\n\nThis package was written as part of the Bristol Plone Performance Sprint 2008 by\nEd Crewe ( `ILRT\n`_ at University of Bristol) and Matt Sital-Singh\n(`Netsight\n`_) to cater for delivery\nof consistent content profiles for performance testing plone.\n\nThe purpose of this egg is to create populated plone sites with dummy content\nand users. RSS feeds are crawled to generate realistic content for testing\nagainst. Textual content, links, images, groups, users and local roles are\ngenerated. Content profiles can be specified and there are two default ones\nsupplied - intranet and public.\n\nOverview\n--------\n\nThis package creates populated plone sites using dummy content and users.\nA likely partner package to the buildouts in `collective.loadtesting\n`_ which use `funkload\n`_ for functional and load testing of plone sites.\n\nIdeally we want an egg that generates content as close to realworld sites as\npossible, for testing against.\nWhilst keeping them consistent per profile.\n\n\nThe starting point is to have an egg that installs a set of two profiles.\nIntranet and public website. These profiles can be adjusted for specific testing\npurposes, but by keeping a minimal set of base\nstandards the benefit is that relative testing between code sets becomes more\nachievable.\n\nThe hope is that this can serve three user code testing bases ... core plone\ndevelopers, third party developers and end\nusers with sites for which performance is an issue.\n\nConsistent content profiles should also serve the use of buildbot load testing\ncomparisons over long timescales / code versions\nfor unreal empty plone and these two more realworld profiles.\n\nIt was felt that a model of crawling out newsfeed content with tags, links, real\nsentences and language etc. is more\nrealistic than some bulk plain latin text generator like lorem ipsum.\nSimilarly users and groups are generated with proper names, rather than the\nuser1-100 approach.\nAlthough highly consistent generated text has its place for load testing\nspecific parts of plone such as the catalog.\nWell controlled harvested text can serve this purpose just as well and present a\nmore realistic testing target.\n\nNB: The RSS content source paradigm makes catering for delivery of content\nprofiles with a large percentage of image or file content,\nas part of the same process, and it could also be adapted to point to foreign\nlanguage feeds etc.\n\nCurrently large images are used for the addition of blobs to the database ... a\ncommon profile for intranets where a large number\nof bespoke file formats may be uploaded. Clearly this and a number of other\nperformance issues can be dealt with by the employment of\nthe correct add ons to remove blobs from the zodb, cache the interface etc.\nHowever the aim of this egg is to generate\nthe content by default means. As a user of the egg you can then get relative\nquantitative data on the performance difference\nfor the same content profile when applying any, or all of these techniques.\n\nProgress\n--------\n\nCurrently the first release (0.2) of the egg is finished and released to pypi,\nwith the latest source in the collective ...\n\nhttps://svn.plone.org/svn/collective/collective.contentgenerator/trunk/collective.contentgenerator\n\nIt has the levers to pull to generate the two profiles above, ie. generate\ncontent from crawls, add users, groups and local roles etc.\n\nA buildbot and loadtesting setup can now use it with one of the plone site\ncreation buildout recipes, to select from one of the two profiles.\n\nProfiles\n--------\n\nSee the setuphandlers.py for the details ...\n\n1. Intranet = 200 Mb - 25 thousand objects ~ 10 minutes to generate\n100 users - 10 groups - 45 folders of 10 pages and 10 images (half small and\nhalf large) - local roles off\n\n2. Public website = 200 Mb - 120 thousand objects ~ 20 minutes to generate\n2000 users - 500 groups - 150 folders of 20 pages and 6 images (one large) -\nlocal roles on\n\nThe use of a number of profiles for the content generator caters for selection\nof different types of site.\nThe profiles could also be used to set related generic setup options, ie. many\nusers optimisation, intranet workflow etc. but currently they\nboth use standard out of the box plone settings.\nIf a custom content profile is desired then copy the setupVarious settings\ndictionaries and call to runSetup\nfrom setuphandlers and adjust the values accordingly for use by a profile in\nyour own theme egg.\n\nCrawling optimisation\n---------------------\n\nThe crawl and creation of content is only done once and then exported to zexp\nfiles in the import directory of a site build.\nIf these files are present this step is skipped and the site generation time is\nreduced.\nIf fresh data is desired for some reason - just delete the zexps in the import\ndirectory.\n\nDocumentation\n-------------\n\nFurther documentation of the internal structure and workings of the package is\nprovided in the doctests within the `tests\n`_\ndirectory.\n\nDependencies\n------------\n\nThis egg requires plone 3.0 or later\n\n(NB: In order to cater for full backwards compatibility it would be useful to\nrewrite\nit as an old-style zope Product, this would allow for performance comparison\ntesting\nof content profiles across all plone versions.)\n\nWhen a profile is first used the system needs access to the internet to crawl\ncontent from RSS feeds.\n\nChangelog for collective.contentgenerator\n-----------------------------------------\n\n(name of developer listed in brackets)\n\n* collective.contentgenerator 0.2 (2009-01-08)\n\n- Completion of first release functionality, tests and documentation\n- [ed crewe]\n\n* collective.contentgenerator - Unreleased (2008-12-15)\n\n- Initial package work as part of Bristol 2008 performance sprint\n- [ed crewe, matt sital-singh]", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://svn.plone.org/svn/collective/collective.contentgenerator", "keywords": "web zope plone test content generation profile", "license": "BSD", "maintainer": "Ed Crewe", "maintainer_email": "ed.crewe@bristol.ac.uk", "name": "collective.contentgenerator", "package_url": "https://pypi.org/project/collective.contentgenerator/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/collective.contentgenerator/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://svn.plone.org/svn/collective/collective.contentgenerator" }, "release_url": "https://pypi.org/project/collective.contentgenerator/0.2/", "requires_dist": null, "requires_python": null, "summary": "Generates populated plone sites from specifed content profiles", "version": "0.2" }, "last_serial": 732675, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "59dcdb747ac21d9ad8059589cc60e1ec", "sha256": "d5e8b0bf5350aba1c7a76b6e6dfd6017301456ffa2a4a073d53aed66589fb1d6" }, "downloads": -1, "filename": "collective.contentgenerator-0.2-py2.4.egg", "has_sig": false, "md5_digest": "59dcdb747ac21d9ad8059589cc60e1ec", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 38632, "upload_time": "2009-01-19T17:04:46", "url": "https://files.pythonhosted.org/packages/2b/40/e4ff0b75e20f4fef3c14684e828cf59093a275ea5d121f940ec04abf09aa/collective.contentgenerator-0.2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "ef347cb428d12227a02bda0f30e79928", "sha256": "b0f612e8e75f0bee66401b621800d6cd307468507e856c91663a900fd1dd093d" }, "downloads": -1, "filename": "collective.contentgenerator-0.2.tar.gz", "has_sig": false, "md5_digest": "ef347cb428d12227a02bda0f30e79928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24889, "upload_time": "2009-01-19T17:04:45", "url": "https://files.pythonhosted.org/packages/87/d4/7e545b59d39a2392797b9e6b48506f2114047430163cefb163c246e76e4e/collective.contentgenerator-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "59dcdb747ac21d9ad8059589cc60e1ec", "sha256": "d5e8b0bf5350aba1c7a76b6e6dfd6017301456ffa2a4a073d53aed66589fb1d6" }, "downloads": -1, "filename": "collective.contentgenerator-0.2-py2.4.egg", "has_sig": false, "md5_digest": "59dcdb747ac21d9ad8059589cc60e1ec", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 38632, "upload_time": "2009-01-19T17:04:46", "url": "https://files.pythonhosted.org/packages/2b/40/e4ff0b75e20f4fef3c14684e828cf59093a275ea5d121f940ec04abf09aa/collective.contentgenerator-0.2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "ef347cb428d12227a02bda0f30e79928", "sha256": "b0f612e8e75f0bee66401b621800d6cd307468507e856c91663a900fd1dd093d" }, "downloads": -1, "filename": "collective.contentgenerator-0.2.tar.gz", "has_sig": false, "md5_digest": "ef347cb428d12227a02bda0f30e79928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24889, "upload_time": "2009-01-19T17:04:45", "url": "https://files.pythonhosted.org/packages/87/d4/7e545b59d39a2392797b9e6b48506f2114047430163cefb163c246e76e4e/collective.contentgenerator-0.2.tar.gz" } ] }