Reusable components used across the directory applications for the Department for International Trade.
pip install directory-components
$ git clone https://github.com/uktrade/directory-components
$ cd directory-components
Install the demo requirements:
$ make demo_requirements
To view the components in the browser run the following command:
$ make run_demo
and go to 0.0.0.0:9013
in your browser
To test cookies locally add this to your /etc/hosts:
127.0.0.1 components.trade.great
Then visit the demo at components.trade.great:9013
Environment variable | Notes |
---|---|
FEATURE_SEARCH_ENGINE_INDEXING_DISABLED |
Controls RobotsIndexControlHeaderMiddlware . |
FEATURE_MAINTENANCE_MODE_ENABLED |
Controls MaintenanceModeMiddleware . |
FEATURE_FLAGS |
Place to store the service's feature flags. |
IP_RESTRICTOR_REMOTE_IP_ADDRESS_RETRIEVER |
Method for determining client IP address: 'govuk-paas' or 'ipware' |
IP_RESTRICTOR_SKIP_CHECK_ENABLED |
Flag to enable skipping IP check if cookie is valid |
IP_RESTRICTOR_SKIP_CHECK_SENDER_ID |
The shared sender id for skipping IP check |
IP_RESTRICTOR_SKIP_CHECK_SECRET |
The shared secret for skipping IP check |
Middleware can be found in directory_components.middleware.FooBar
.
Middleware | Notes |
---|---|
RobotsIndexControlHeaderMiddlware |
Informs the webcrawlers to not index the service if FEATURE_SEARCH_ENGINE_INDEXING_DISABLED is true . |
MaintenanceModeMiddleware |
Redirects to http://sorry.great.gov.uk if FEATURE_MAINTENANCE_MODE_ENABLED is true . |
NoCacheMiddlware |
Prevents any page in the service from caching pages of logged in users. |
PrefixUrlMiddleware |
Redirects use from unprefixed url to prefixed url if FEATURE_URL_PREFIX_ENABLED is true . |
IPRestrictorMiddleware |
Convinience wrapper around (django-admin-ip-restrictor)[pypi.org/project/django-admin-ip-restrictor/]. |
Middleware can be found in directory_components.context_processors.foo_bar
.
Processor | Context variable name | Notes |
---|---|---|
sso_processor |
Exposes the state of the SSO user. | |
analytics |
directory_components_analytics |
GA details. Used by base template. |
header_footer_processor |
header_footer_urls |
Urls used by base template's header and footer. |
urls_processor |
directory_components_urls |
More urls used by base template's header and footer. |
feature_flags |
feature_flags |
Exposes the service's feature flags. |
To automatically update the dependences of services that use this library call the following command:
$ make update
The package should be published to PyPI on merge to master. If you need to do it locally then get the credentials from rattic and add the environment variables to your host machine:
Setting |
---|
DIRECTORY_PYPI_USERNAME |
DIRECTORY_PYPI_PASSWORD |
Then run the following command:
make publish