Dependencies
- tiddlyweb
- [code] flake8
- [coverage] pytest-cov
- [coverage] python-coveralls
- [testing] httplib2
- [testing] pytest
- [testing] wsgi-intercept
[](https://travis-ci.org/pads/tiddlywebplugins.mapuser) [](https://coveralls.io/r/pads/tiddlywebplugins.mapuser) [](https://crate.io/packages/tiddlywebplugins.mapuser/) About =====
Allows TiddlyWeb users to create alias usernames, deliberately without validation. This is ideal in a scenario where you control the user authentication journey but want to use different usernames than those expected by the user authentication source. Any username string can be used as long as it contains valid alphanumeric characters and no spaces.
Essentially, what is being mapped is user ID -> username.
Upon a successful POST, the plugin creates a tiddler in a bag called MAPUSER. This data is used when a user logs in so that they can be mapped to their username.
Requirements
- [Python](http://www.python.org/).
- [pip](http://www.pip-installer.org/en/latest/).
- make.
- A working TiddlyWeb instance to test against.
- [py.test](http://pytest.org/latest/) to run the tests.
Modifying
The best way to figure out how to work with this project is to look at the .travis.yml file.
setup.py is used to package up the plugin, install and distribute.
Plugin code lives in the tiddlywebplugins directory.
Tests live in the test directory.
- make install installs the plugin as a package on your system
- make install_dev installs packages necessary to run tests, check style and provide test coverage
- make test runs the tests.
- make test_with_coverage runs the tests with code coverage reporting from pytest-cov
- make pep8 runs pep8 over the code to check for style compliance.
(you may need sudo for this.) * make release packages and uploads the plugin to [PyPI](http://pypi.python.org/pypi) for distribution.
Plugin Installation
Install tiddlywebplugins.mapuser:
pip install -U tiddlywebplugins.mapuser
TiddlyWeb Configuration
Reference the plugin from your TiddlyWeb configuration as a system plugin e.g:
'system_plugins': ['tiddlywebplugins.mapuser']
Usage
The URL to send POSTs to will be:
map_user/<userid>
Where <userid> is the same as the one used to authenticate. The body will contain the mapped username:
mapped_user: <username>