{ "info": { "author": "Sean Hammond", "author_email": "deadoralive@seanh.cc", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Other Audience", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: Site Management :: Link Checking" ], "description": "[![Build Status](https://travis-ci.org/ckan/ckanext-deadoralive.png)](https://travis-ci.org/ckan/ckanext-deadoralive) [![Coverage Status](https://img.shields.io/coveralls/ckan/ckanext-deadoralive.svg)](https://coveralls.io/r/ckan/ckanext-deadoralive?branch=master)\n\nckanext-deadoralive\n===================\n\nckanext-deadoralive is a CKAN extension for the [Dead or Alive link checker service](https://github.com/ckan/deadoralive).\nIt provides the API that enables a CKAN site to be checked by the link checker,\nhandles saving the results posted by the link checker in CKAN's database and\nadds various broken link reports to the CKAN site.\n\nTODO: Screenshots of the reports.\n\n\nRequirements\n------------\n\nTested with CKAN 2.2 and Python 2.7. Python 2.6 is not supported!\n\n\nInstallation and Usage\n----------------------\n\n1. Activate your CKAN virtualenv and then:\n\n pip install ckanext-deadoralive\n\n2. Add `deadoralive` to the `ckan.plugins` setting in your CKAN config file.\n\n3. Create a user account for the link checker to use.\n\n Before you can run the link checker service you need a CKAN user account\n for it to use. I recommend creating a new user account\n just for the link checker rather than using an admin account, so the link\n checker can run with as few privileges as possible.\n\n You can create a user account by registering a new account using CKAN's web\n interface, or by using [CKAN's command-line interface](http://docs.ckan.org/en/latest/maintaining/paster.html#user-create-and-manage-users).\n\n Once you've created the user account for the link checker, add this config\n setting to the `[app:main]` section of your CKAN config file:\n\n # The names of the users who're allowed to access the deadoralive\n # plugin's API to post link checker results.\n # The API key of one of these users must be passed to deadoralive.py\n # when you run it.\n ckanext.deadoralive.authorized_users = deadoralive\n\n (In this example `deadoralive` is the name of the CKAN user account we\n created, but you can call this account whatever you like.)\n\n4. Now restart CKAN by restarting your web server. You should see the links to\n the broken link report pages appear on your site. At first they will report\n no broken links - because you haven't checked the site for broken links yet.\n\n5. Now go over to [Dead or Alive](https://github.com/ckan/deadoralive) and\n install the link checker (either on the same machine where CKAN is installed\n or on a different machine - it doesn't matter). The API key that you\n configure the link checker with should be the API key of the user you\n created in step 3 above. Run the link checker against your CKAN site and\n you'll start to see broken link reports appear on the site.\n\n\nOptional Config Settings\n------------------------\n\nIn the `[app:main]` section of the CKAN config file:\n\n # The minimum number of hours to wait before re-checking a resource\n # (optional, default: 24).\n ckanext.deadoralive.recheck_resources_after = 24\n\n # The minimum number of hours to wait for a check result for a resource\n # to come back before timing out and giving the resource out again to\n # another link checker task (optional, default: 2).\n ckanext.deadoralive.resend_pending_resources_after = 2\n\n # The minimum number of times that checking a resource's link must fail\n # consecutively before we mark that resource as broken in CKAN.\n ckanext.deadoralive.broken_resource_min_fails = 3\n\n # The minimum number of hours that a resource's link must be broken for\n # before we mark that resource as broken in CKAN.\n ckanext.deadoralive.broken_resource_min_hours = 36\n\n\nDevelopment\n-----------\n\nTo install the plugin for development, activate your CKAN virtualenv and do:\n\n git clone https://github.com/ckan/ckanext-deadoralive.git\n cd ckanext-deadoralive\n python setup.py develop\n pip install -r dev-requirements.txt\n\n\n### Creating Test Datasets\n\nTo create some test datasets with working and broken links, do:\n\n python create_test_resources.py --url 'http://your.ckan.site.com' --apikey \n\nBy default the `deadoralive` plugin won't mark a resource as broken unless it\nhas been broken for at least three consecutive link checks over a period of at\nleast three days. Also, after checking a link the plugin won't recheck it for\nat least 24 hours.\n\nFor development, you probably want to relax these settings so you can mark your\ntest resources as broken quicker. Add these settings to your config file:\n\n ckanext.deadoralive.recheck_resources_after = 0\n ckanext.deadoralive.broken_resource_min_hours = 0\n ckanext.deadoralive.resend_pending_resources_after = 0\n\nThis will let you run the link checker many times in a row and recheck all of\nthe links, without waiting 24 hours to recheck a link. It'll also mark links as\nbroken as soon as they've been checked and found broken three times in a row,\nregardless of the period of time the checks happened over.\n\n\n### Running the Tests\n\nNote that you should have the `release-v2.2` branch of CKAN checked out when\nyou run these tests. The `ckanext-deadoralive` `master` branch is currently\ntested against CKAN's `release-v2.2` branch on Travis.\n\nFrom the `ckanext-deadoralive` directory run:\n\n nosetests --nologcapture --with-pylons=test.ini\n\nTo run the tests and produce a coverage report, first make sure you have\ncoverage installed in your virtualenv (`pip install coverage`) then run:\n\n nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.deadoralive --cover-inclusive --cover-erase --cover-tests", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ckan/ckanext-deadoralive", "keywords": "ckan", "license": "AGPL", "maintainer": null, "maintainer_email": null, "name": "ckanext-deadoralive", "package_url": "https://pypi.org/project/ckanext-deadoralive/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ckanext-deadoralive/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ckan/ckanext-deadoralive" }, "release_url": "https://pypi.org/project/ckanext-deadoralive/0.1.6/", "requires_dist": null, "requires_python": null, "summary": "A CKAN extension for the Dead or Alive link checker service", "version": "0.1.6" }, "last_serial": 1381102, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "19004aaa42291d9fb7d54a367a089ed2", "sha256": "5c3e20ba3563d4bb7e9b4b7220b7a45d165da2ade784fea77da4998b040d4e0a" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.0.tar.gz", "has_sig": false, "md5_digest": "19004aaa42291d9fb7d54a367a089ed2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24427, "upload_time": "2014-10-02T10:25:16", "url": "https://files.pythonhosted.org/packages/29/27/1d8e5a97dfea21628c2c6a1aa2e63a2c039de3034698fc75d0c6be00ba5b/ckanext-deadoralive-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f6b6ce0ef8a8cf2129d449d61fbf6110", "sha256": "f978fcac3e833b0c6cc4e9d1b6c8227cba282f96faac535bf19c40a1b98f4bda" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f6b6ce0ef8a8cf2129d449d61fbf6110", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25383, "upload_time": "2014-10-07T14:10:28", "url": "https://files.pythonhosted.org/packages/d6/9d/4d47e930bfba6a81326992acff3d456b1242fac410c74db20bd131dd9690/ckanext-deadoralive-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2f75d16e87dbe706ac54f0ddbb995d2d", "sha256": "ebcea16f43c2284630cb08fc0176e94e792444b78ea0d526086361b84b7ea064" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2f75d16e87dbe706ac54f0ddbb995d2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26730, "upload_time": "2014-10-07T15:00:30", "url": "https://files.pythonhosted.org/packages/cf/bb/13a97403c89437ff587298be3be1738d1578e556f3181af1ba45eb56585d/ckanext-deadoralive-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cf0f49ff289ce2e4753b5ec2a0354ce6", "sha256": "4db3b12ef87df45b76ec8d114a221a7370eb644bed331b7a92fb3e195c350e3c" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cf0f49ff289ce2e4753b5ec2a0354ce6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26733, "upload_time": "2014-10-07T15:17:31", "url": "https://files.pythonhosted.org/packages/35/11/7fa26e89370b330a1cca4cb54d35f33c74ac916f9daf95673a6ed73ef7ea/ckanext-deadoralive-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "faade12cda754eae32c9dea926b27f46", "sha256": "a7092cc00da20a7f75d52bd5452ccc530417a5e726853c435682014edbe4f701" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.4.tar.gz", "has_sig": false, "md5_digest": "faade12cda754eae32c9dea926b27f46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27734, "upload_time": "2014-10-07T15:22:51", "url": "https://files.pythonhosted.org/packages/20/16/6caf09b0ee50b82b0550f2f99c5845726f615fd69cf0c9a3da4475dee1bb/ckanext-deadoralive-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "27955eaec8c1873871f4e53a90381c56", "sha256": "0f9f76ea0ca9860d0e8008f1c1ae9883e833a8673976cdbe74a8c0913d713c9a" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.5.tar.gz", "has_sig": false, "md5_digest": "27955eaec8c1873871f4e53a90381c56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27776, "upload_time": "2014-10-13T11:09:58", "url": "https://files.pythonhosted.org/packages/23/61/5e206f4f8cc2089bcbe252cf5f70227797d4c3d94c03a5f9a889db546aed/ckanext-deadoralive-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "968534688895bc4df754eeffa1d54d97", "sha256": "e94f449c283087d437f50324a02b90fd179cfbb509ef5be5e780db92ffeffb2b" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.6.tar.gz", "has_sig": false, "md5_digest": "968534688895bc4df754eeffa1d54d97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28513, "upload_time": "2014-10-13T20:54:56", "url": "https://files.pythonhosted.org/packages/f8/56/a40249f6397977b254b25f377f2234c6b6ebb047d733b197918393206600/ckanext-deadoralive-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "968534688895bc4df754eeffa1d54d97", "sha256": "e94f449c283087d437f50324a02b90fd179cfbb509ef5be5e780db92ffeffb2b" }, "downloads": -1, "filename": "ckanext-deadoralive-0.1.6.tar.gz", "has_sig": false, "md5_digest": "968534688895bc4df754eeffa1d54d97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28513, "upload_time": "2014-10-13T20:54:56", "url": "https://files.pythonhosted.org/packages/f8/56/a40249f6397977b254b25f377f2234c6b6ebb047d733b197918393206600/ckanext-deadoralive-0.1.6.tar.gz" } ] }