diff --git a/site/404.html b/site/404.html index b113bf8..0bb12f1 100644 --- a/site/404.html +++ b/site/404.html @@ -2,92 +2,92 @@ - + - - - - - - + + + + + + - - - + + + ckanext-event-audit - - - + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - + + + - - - - - + + + - - - - - - - - - + + + + + + + + + - - + +
- +
- +
+ + + - - - - +
- +
- +
- - - - - - + + + + + +
- - - + + +
- +
- - - + + +
- +
- - - + + +
- +

404 - Not found

- - + +
- + - +
- + - +
- +
- - + + - - + + - - + + - + \ No newline at end of file diff --git a/site/index.html b/site/index.html index 73eaefe..44189f1 100644 --- a/site/index.html +++ b/site/index.html @@ -2,99 +2,99 @@ - + - - - + + + - - - - + + + + - - - + + + ckanext-event-audit - - - + + + - - + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - + + + - - - - - + + + - - - - - - - - - + + + + + + + + + - - + +
- - + + Skip to content - +
- +
+ + + - - - - +
- +
- +
- - - - - - + + + + + +
- - - + + +
- +
- - - + + +
- +
- - - + + +
+ + - - - - + +

Tests

@@ -549,55 +549,55 @@

License

- +
- - + +
- + - +
- + - +
- +
- - + + - - + + - - + + - + \ No newline at end of file diff --git a/site/search/search_index.json b/site/search/search_index.json index f9a0e89..c75ab52 100644 --- a/site/search/search_index.json +++ b/site/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-\\.\\_]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#ckanext-event-audit","title":"ckanext-event-audit","text":"

This extension will capture and retain a comprehensive record of all changes within a CKAN app.

"},{"location":"#developer-installation","title":"Developer installation","text":"

To install ckanext-event-audit for development, activate your CKAN virtualenv and do:

git clone https://github.com/DataShades/ckanext-event-audit.git\ncd ckanext-event-audit\npip install -e .\npip install -r dev-requirements.txt\n
"},{"location":"#register-new-repositories","title":"Register new repositories","text":"

There are few repositories available by default, but you can register new repositories to store the events. Think of it as a way to store the events in different databases or services. We don't want to limit the extension to a specific storage. The main idea is to provide a way to store, retrieve, and filter the events.

To register a new repository, you need to define a repository class and register it.

"},{"location":"#defining-the-repository-class","title":"Defining the repository class","text":"

To register a new repository, you need to define a repository class that inherits from AbstractRepository and implements the following methods: write_event, get_event, and filter_events.

For example:

from ckanext.event_audit.repositories import AbstractRepository\nfrom ckanext.event_audit import types\n\n\nclass MyRepository(AbstractRepository):\n    name = \"my_repository\"\n\n    @classmethod\n    def get_name(cls) -> str:\n        return \"my_repository\"\n\n    def write_event(self, event: types.Event) -> types.WriteStatus:\n        pass\n\n    def get_event(self, event_id: str) -> types.Event | None:\n        pass\n\n    def filter_events(self, filters: types.Filters) -> list[types.Event]:\n        pass\n

See the existing repositories as examples (ckanext/event_audit/repositories/).

"},{"location":"#registering-the-repository","title":"Registering the repository","text":"

To register the new repository, you need to use a IEventAudit interface and the register_repository method.

For example:

from ckanext.event_audit.interfaces import IEventAudit\nfrom ckanext.your_extension.repositories import MyRepository\n\nclass MyRepositoryPlugin(plugins.SingletonPlugin):\n    ...\n    plugins.implements(IEventAudit, inherit=True)\n\n    # IEventAudit\n\n    def register_repository(self) -> dict[str, type[AbstractRepository]]:\n        return {\n            MyRepository.get_name(): MyRepository,\n        }\n
"},{"location":"#tests","title":"Tests","text":"

To run the tests, do:

pytest --ckan-ini=test.ini\n
"},{"location":"#license","title":"License","text":"

AGPL

"}]} +{"config":{"lang":["en"],"separator":"[\\s\\-\\.\\_]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#ckanext-event-audit","title":"ckanext-event-audit","text":"

This extension will capture and retain a comprehensive record of all changes within a CKAN app.

"},{"location":"#developer-installation","title":"Developer installation","text":"

To install ckanext-event-audit for development, activate your CKAN virtualenv and do:

git clone https://github.com/DataShades/ckanext-event-audit.git\ncd ckanext-event-audit\npip install -e .\npip install -r dev-requirements.txt\n
"},{"location":"#register-new-repositories","title":"Register new repositories","text":"

There are few repositories available by default, but you can register new repositories to store the events. Think of it as a way to store the events in different databases or services. We don't want to limit the extension to a specific storage. The main idea is to provide a way to store, retrieve, and filter the events.

To register a new repository, you need to define a repository class and register it.

"},{"location":"#defining-the-repository-class","title":"Defining the repository class","text":"

To register a new repository, you need to define a repository class that inherits from AbstractRepository and implements the following methods: write_event, get_event, and filter_events.

For example:

from ckanext.event_audit.repositories import AbstractRepository\nfrom ckanext.event_audit import types\n\n\nclass MyRepository(AbstractRepository):\n    name = \"my_repository\"\n\n    @classmethod\n    def get_name(cls) -> str:\n        return \"my_repository\"\n\n    def write_event(self, event: types.Event) -> types.WriteStatus:\n        pass\n\n    def get_event(self, event_id: str) -> types.Event | None:\n        pass\n\n    def filter_events(self, filters: types.Filters) -> list[types.Event]:\n        pass\n

See the existing repositories as examples (ckanext/event_audit/repositories/).

"},{"location":"#registering-the-repository","title":"Registering the repository","text":"

To register the new repository, you need to use a IEventAudit interface and the register_repository method.

For example:

from ckanext.event_audit.interfaces import IEventAudit\nfrom ckanext.your_extension.repositories import MyRepository\n\nclass MyRepositoryPlugin(plugins.SingletonPlugin):\n    ...\n    plugins.implements(IEventAudit, inherit=True)\n\n    # IEventAudit\n\n    def register_repository(self) -> dict[str, type[AbstractRepository]]:\n        return {\n            MyRepository.get_name(): MyRepository,\n        }\n
"},{"location":"#tests","title":"Tests","text":"

To run the tests, do:

pytest --ckan-ini=test.ini\n
"},{"location":"#license","title":"License","text":"

AGPL

"}]} \ No newline at end of file