From 4bde1239d469584b13fa3139f78685e654f46971 Mon Sep 17 00:00:00 2001 From: mutantsan Date: Wed, 4 Oct 2023 13:22:35 +0300 Subject: [PATCH] doc: write doc --- README.md | 103 ++++++++---------------------------------------------- 1 file changed, 15 insertions(+), 88 deletions(-) diff --git a/README.md b/README.md index 3bf3397..fa69caa 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,34 @@ -[![Tests](https://github.com/mutantsan/ckanext-let-me-in/workflows/Tests/badge.svg?branch=main)](https://github.com/mutantsan/ckanext-let-me-in/actions) +[![Tests](https://github.com/mutantsan/ckanext-let-me-in/workflows/Tests/badge.svg?branch=master)](https://github.com/mutantsan/ckanext-let-me-in/actions) # ckanext-let-me-in -**TODO:** Put a description of your extension here: What does it do? What features does it have? Consider including some screenshots or embedding a video! +An extension that generates a one-time login link for a user by its `id`, `name` or `email`. +Use `lmi_generate_otl` API action or `ckan letmein uli` CLI command to generate an OTL link. -## Requirements - -**TODO:** For example, you might want to mention here which versions of CKAN this -extension works with. +The link will expire in 24h, by default or after it was used. -If your extension works across different versions you can add the following table: +## Requirements Compatibility with core CKAN versions: -| CKAN version | Compatible? | -| --------------- | ------------- | -| 2.6 and earlier | not tested | -| 2.7 | not tested | -| 2.8 | not tested | -| 2.9 | not tested | - -Suggested values: - -* "yes" -* "not tested" - I can't think of a reason why it wouldn't work -* "not yet" - there is an intention to get it working -* "no" - +| CKAN version | Compatible? | +| --------------- | ----------- | +| 2.8 and earlier | no | +| 2.9 | not yet | +| 2.10+ | yes | ## Installation -**TODO:** Add any additional install steps to the list below. - For example installing any non-Python dependencies or adding any required - config settings. - -To install ckanext-let-me-in: - -1. Activate your CKAN virtual environment, for example: - - . /usr/lib/ckan/default/bin/activate - -2. Clone the source and install it on the virtualenv - - git clone https://github.com/mutantsan/ckanext-let-me-in.git - cd ckanext-let-me-in - pip install -e . - pip install -r requirements.txt - -3. Add `let-me-in` to the `ckan.plugins` setting in your CKAN - config file (by default the config file is located at - `/etc/ckan/default/ckan.ini`). - -4. Restart CKAN. For example if you've deployed CKAN with Apache on Ubuntu: - - sudo service apache2 reload - +1. Use `pip` to install an extension: `pip install ckanext-let-me-in` +2. Add `let_me_in` to the `ckan.plugins` setting in your CKAN config file. ## Config settings -None at present - -**TODO:** Document any optional config settings here. For example: - - # The minimum number of hours to wait before re-checking a resource - # (optional, default: 24). - ckanext.let_me_in.some_setting = some_default_value +**TODO**. This config option is only planned: + # The number in seconds that specifies the OTL (optional, default: 86400). + ckanext.let_me_in.otl_ttl= 86400 ## Developer installation @@ -76,8 +38,6 @@ do: git clone https://github.com/mutantsan/ckanext-let-me-in.git cd ckanext-let-me-in python setup.py develop - pip install -r dev-requirements.txt - ## Tests @@ -85,39 +45,6 @@ To run the tests, do: pytest --ckan-ini=test.ini - -## Releasing a new version of ckanext-let-me-in - -If ckanext-let-me-in should be available on PyPI you can follow these steps to publish a new version: - -1. Update the version number in the `setup.py` file. See [PEP 440](http://legacy.python.org/dev/peps/pep-0440/#public-version-identifiers) for how to choose version numbers. - -2. Make sure you have the latest version of necessary packages: - - pip install --upgrade setuptools wheel twine - -3. Create a source and binary distributions of the new version: - - python setup.py sdist bdist_wheel && twine check dist/* - - Fix any errors you get. - -4. Upload the source distribution to PyPI: - - twine upload dist/* - -5. Commit any outstanding changes: - - git commit -a - git push - -6. Tag the new release of the project on GitHub with the version number from - the `setup.py` file. For example if the version number in `setup.py` is - 0.0.1 then do: - - git tag 0.0.1 - git push --tags - ## License [AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)