kitconcept.solr


Namekitconcept.solr JSON
Version 1.0.0a6 PyPI version JSON
download
home_pagehttps://github.com/kitconcept/kitconcept.solr
SummaryAn opinionated Solr integration for Plone
upload_time2024-04-09 11:42:53
maintainerNone
docs_urlNone
authorkitconcept GmbH
requires_python>=3.8
licenseGPL version 2
keywords python plone solr
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<p align="center">
    <img alt="kitconcept GmbH" width="200px" src="https://kitconcept.com/logo.svg">
</p>

<h1 align="center">kitconcept.solr</h1>
<h3 align="center">An opinionated Solr integration for Plone</h3>

<div align="center">

[![PyPI](https://img.shields.io/pypi/v/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)
[![PyPI - License](https://img.shields.io/pypi/l/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)
[![PyPI - Status](https://img.shields.io/pypi/status/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)

[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)

[![Meta](https://github.com/kitconcept/kitconcept.solr/actions/workflows/meta.yml/badge.svg)](https://github.com/kitconcept/kitconcept.solr/actions/workflows/meta.yml)
![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)

[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/kitconcept.solr)](https://github.com/kitconcept/kitconcept.solr)
[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/kitconcept.solr?style=social)](https://github.com/kitconcept/kitconcept.solr)

</div>

## Features

`kitconcept.solr` is an opinionated Solr integration package for Plone sites. It leverages (and depends on) [`collective.solr`](https://github.com/collective/collective.solr), by adding a new endpoint `@solr` that supports search requests with facetted results.

### Endpoints

| name    | context                         |
| ------- | ------------------------------- |
| `@solr` | Plone site or Folderish content |

#### Using the `@solr` endpoint

The `@solr` endpoint is used from the `kitconcept.volto-solr` Volto add-on package for the implementation of the site search. It can also be used for custom components. The parameters roughly follow the parameters of the normal site search service, but differ in some respects.

**TBD** _give more information about this._

For now, please refer to the source code of the `solr.py` module, in case you want to use for your own purposes.

## Documentation

### Installation

Add `kitconcept.solr` as a dependency on your package's `setup.py`

```python
    install_requires = [
        "kitconcept.solr",
        "Plone",
        "plone.restapi",
        "setuptools",
    ],
```

Also, add `kitconcept.solr` to your package's `configure.zcml` (or `dependencies.zcml`):

```xml
<include package="kitconcept.solr" />
```

#### Remark with Plone 6.0

With Plone 6.0 you must add an additional dependency `"plone.restapi>=8.40.0"`.

The package also keeps support with Plone 5.2 where `"plone.restapi>=8.21.2"` is a working version. It will not support image scales, but the package will work gracefully without displaying image previews in the search result list.

### Generic Setup

To automatically enable this package when your add-on is installed, add the following line inside the package's `profiles/default/metadata.xml` `dependencies` element:

```xml
    <dependency>profile-kitconcept.solr:default</dependency>
```

## Source Code and Contributions

We welcome contributions to `kitconcept.solr`.

You can create an issue in the issue tracker, or contact a maintainer.

- [Issue Tracker](https://github.com/kitconcept/kitconcept.solr/issues)
- [Source Code](https://github.com/kitconcept/kitconcept.solr/)

### Development requirements

- Python 3.8 or later
- Docker

### Setup

Install all development dependencies -- including Plone -- and create a new instance using:

```bash
make install
```

By default, we use the latest Plone version in the 6.x series.

### Configurations

Most of the development configuration is managed with [`plone.meta`](https://github.com/plone/plone.meta), so avoid manually editing the following files:

- `.editorconfig`
- `.flake8`
- `.gitignore`
- `.pre-commit-config.yaml`
- `news/.changelog_template.jinja`
- `pyproject.toml`
- `tox.ini`

In addition there is Solr related configuration that is outlined in the following chapters.

#### Configuring Solr

Solr is configured by a default configuration that can be found in the [`/solr/etc/`](./solr/etc) folder in this repository. This contains, most notably, the `schema.xml` that defines the indexes for Solr. This package also builds docker images with the default Solr version, set up with this default configuration.

If you need to customize the Solr configuration (such as adding new indexes, etc.) then you should copy the `solr` folder into your own project, customize it as you wish, and then build your own docker images (or compile your own Solr server) based on this configuration.

A typical use case for why you would want to do this, is if you add new fields to some content types, and you want to render the values for these additional fields in the search results. In this case you want to add the additional fields as indexes to Solr. You probably would not need this, unless you change anything on the result type templates in the `kitconcept.volto-solr` front-end package.

#### Configuring the front-end and back-end packages

The package supports the usage of the `kitconcept.volto-solr` add-on, and it is designed to be used together with it.

The configuration can be specified in a customized way. Without any additional configuration, the package will use the default, which is specified in json format in the [`kitconcept.solr.interfaces.IKitconceptSolrSettings`](./src/kitconcept/solr/profiles/default/registry/kitconcept.solr.interfaces.IKitconceptSolrSettings.xml) registry.

This configuration settings affect the behavior of both the `kitconcept.solr` (this) back-end package, and the `kitconcept.volto-solr` front-end package (a Volto add-on). In addition, `kitconcept.volto-solr` has its own Volto add-on configuration which is not explained here, for these options please refer to the documentation of the add-on package.

##### Configuration options

Explanation for the configuration options:

###### `fieldList`

Contains the fields that solr should return. If the search result templates in the volto add-on are modified, and require more fields than in the default list, the fields **must explicitly be added** here.

In addition, the same fields must be present in the Solr index - if either the Solr index or the field in `fieldList` is missing, the field value will silently be not returned. No error will be shown.

Example value:

```json
[
  "UID",
  "Title",
  "Description",
  "Type",
  "effective",
  "start",
  "created",
  "end",
  "path_string",
  "mime_type",
  "phone",
  "email",
  "location",
  "image_scales",
  "image_field"
]
```

###### `searchTabs`

A list of dictionary items representing the facet tabs in the search page.

The `label` field specifies the label to be shown on the tab in English. It's the front-end package's responsibility to provide translations for this, as `kitconcept.volto-solr` does this for the defaults, which can be used as an example.

The `filter` field defines the Solr search condition to the given facet tab. This can be a content type, or in fact any condition understood by Solr, please consult the Solr documentation for more details.

Example value:

```json
[
  {
    "label": "All",
    "filter": "Type(*)"
  },
  {
    "label": "Pages",
    "filter": "Type:(Page)"
  },
  {
    "label": "Events",
    "filter": "Type:(Event)"
  },
  {
    "label": "Images",
    "filter": "Type:(Image)"
  },
  {
    "label": "Files",
    "filter": "Type:(File)"
  }
]
```

##### Overriding the configuration options

If needed, the default [`kitconcept.solr.interfaces.IKitconceptSolrSettings`](./src/kitconcept/solr/profiles/default/registry/kitconcept.solr.interfaces.IKitconceptSolrSettings.xml) can be customized in the registry via GenericSetup.

### Using reindex helpers

Helpers for activate and reindex solr are importable from the package.

Example for a reindex script that can be called from Makefile:

```py
from kitconcept.solr.reindex_helpers import activate_and_reindex
from Testing.makerequest import makerequest
from zope.site.hooks import setSite

import sys
import transaction


if __name__ == "__main__":
    app = makerequest(app)  # noQA

    # Set site to Plone
    site_id = "Plone"
    portal = app.unrestrictedTraverse(site_id)
    setSite(portal)

    activate_and_reindex(portal, clear="--clear" in sys.argv)

    transaction.commit()
    app._p_jar.sync()
```

Example for an upgrade step that adds the `kitconcept.solr` package, and one that does the solr activation for the first time:

```py
from kitconcept.solr.reindex_helpers import activate_and_reindex
from plone import api

import logging


logger = logging.getLogger("your_package_name_here")


# We suggest to add two distinct upgrade step for the package installation
# and the solr activation, in case of a failure this allows to
# identify the problem easier.


def install_kitconcept_solr(context):
    st = api.portal.get_tool("portal_setup")
    st.runAllImportStepsFromProfile("kitconcept.solr:default")
    logger.info("Installed kitconcept.solr")


def activate_and_reindex_solr(context):
    activate_and_reindex(context)
    logger.info("Activated and reindexed solr")
```

### Update translations

```bash
make i18n
```

### Format codebase

```bash
make format
```

### Run tests

Testing of this package is done with [`pytest`](https://docs.pytest.org/) and [`tox`](https://tox.wiki/).

Run all tests with:

```bash
make test
```

Run all tests but stop on the first error and open a `pdb` session:

```bash
./bin/tox -e test -- -x --pdb
```

Run only tests that match `TestEndpointEncoding`:

```bash
./bin/tox -e test -- -k TestEndpointEncoding
```

Run only tests that match `TestEndpointEncoding`, but stop on the first error and open a `pdb` session:

```bash
./bin/tox -e test -- -k TestEndpointEncoding -x --pdb
```

## Credits

The development of this add-on has been kindly sponsored by [German Aerospace Center (DLR)](https://www.dlr.de) and [Forschungszentrum Jülich](https://www.fz-juelich.de).

<img alt="German Aerospace Center (DLR)" width="200px" src="https://raw.githubusercontent.com/kitconcept/kitconcept.solr/main/docs/dlr.svg" style="background-color:white">
<img alt="Forschungszentrum Jülich" width="200px" src="https://raw.githubusercontent.com/kitconcept/kitconcept.solr/main/docs/fz-juelich.svg" style="background-color:white">

Developed by [kitconcept](https://www.kitconcept.com/)

## License

The project is licensed under GPLv2.


# Changelog

<!--
   You should *NOT* be adding new change log entries to this file.
   You should create a file in the news directory instead.
   For helpful instructions, please see:
   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst
-->

<!-- towncrier release notes start -->

## 1.0.0a6 (2024-04-09)


### Bug fixes:

- Fix first tab condition @reebalazs [#26](https://github.com/kitconcept/kitconcept.solr/issues/26)


## 1.0.0a5 (2024-03-01)


### New features:

- Add support for sidebar facet conditions @reebalazs [#24](https://github.com/kitconcept/kitconcept.solr/issues/24)


### Bug fixes:

- Fix solr search security problem with individual users @reebalazs [#20](https://github.com/kitconcept/kitconcept.solr/issues/20)


## 1.0.0a5 (2024-02-01)


### Bug fixes:

- Fix generic setup profile titles @tisto [#18](https://github.com/kitconcept/kitconcept.solr/issues/18)


## 1.0.0a4 (2023-10-10)


### New features:

- Support Plone 5.2 [@reekitconcept] [#17](https://github.com/kitconcept/kitconcept.solr/issues/17)


## 1.0.0a3 (2023-08-15)


### Documentation:

- Add credits to README @tisto [#16](https://github.com/kitconcept/kitconcept.solr/issues/16)


## 1.0.0a2 (2023-08-15)


### Bug fixes:

- Increase version of collective.solr @reebalazs [#14](https://github.com/kitconcept/kitconcept.solr/issues/14)


## 1.0.0a1 (2023-08-11)


### New features:

- Generate `ghcr.io/kitconcept/solr` @reekitconcept [#3](https://github.com/kitconcept/kitconcept.solr/issues/3)


### Internal:

- Prepare package for release @ericof [#5](https://github.com/kitconcept/kitconcept.solr/issues/5)
- Revamp solr configuration @reebalazs [#12](https://github.com/kitconcept/kitconcept.solr/issues/12)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kitconcept/kitconcept.solr",
    "name": "kitconcept.solr",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "Python Plone Solr",
    "author": "kitconcept GmbH",
    "author_email": "info@kitconcept.com",
    "download_url": "https://files.pythonhosted.org/packages/fa/0e/562d1582ed1ffd5e1d147eb9b05dfe786f9999482a04c4e9f16449ee313d/kitconcept.solr-1.0.0a6.tar.gz",
    "platform": null,
    "description": "\n<p align=\"center\">\n    <img alt=\"kitconcept GmbH\" width=\"200px\" src=\"https://kitconcept.com/logo.svg\">\n</p>\n\n<h1 align=\"center\">kitconcept.solr</h1>\n<h3 align=\"center\">An opinionated Solr integration for Plone</h3>\n\n<div align=\"center\">\n\n[![PyPI](https://img.shields.io/pypi/v/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)\n[![PyPI - Wheel](https://img.shields.io/pypi/wheel/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)\n[![PyPI - License](https://img.shields.io/pypi/l/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)\n[![PyPI - Status](https://img.shields.io/pypi/status/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)\n\n[![PyPI - Plone Versions](https://img.shields.io/pypi/frameworkversions/plone/kitconcept.solr)](https://pypi.org/project/kitconcept.solr/)\n\n[![Meta](https://github.com/kitconcept/kitconcept.solr/actions/workflows/meta.yml/badge.svg)](https://github.com/kitconcept/kitconcept.solr/actions/workflows/meta.yml)\n![Code Style](https://img.shields.io/badge/Code%20Style-Black-000000)\n\n[![GitHub contributors](https://img.shields.io/github/contributors/kitconcept/kitconcept.solr)](https://github.com/kitconcept/kitconcept.solr)\n[![GitHub Repo stars](https://img.shields.io/github/stars/kitconcept/kitconcept.solr?style=social)](https://github.com/kitconcept/kitconcept.solr)\n\n</div>\n\n## Features\n\n`kitconcept.solr` is an opinionated Solr integration package for Plone sites. It leverages (and depends on) [`collective.solr`](https://github.com/collective/collective.solr), by adding a new endpoint `@solr` that supports search requests with facetted results.\n\n### Endpoints\n\n| name    | context                         |\n| ------- | ------------------------------- |\n| `@solr` | Plone site or Folderish content |\n\n#### Using the `@solr` endpoint\n\nThe `@solr` endpoint is used from the `kitconcept.volto-solr` Volto add-on package for the implementation of the site search. It can also be used for custom components. The parameters roughly follow the parameters of the normal site search service, but differ in some respects.\n\n**TBD** _give more information about this._\n\nFor now, please refer to the source code of the `solr.py` module, in case you want to use for your own purposes.\n\n## Documentation\n\n### Installation\n\nAdd `kitconcept.solr` as a dependency on your package's `setup.py`\n\n```python\n    install_requires = [\n        \"kitconcept.solr\",\n        \"Plone\",\n        \"plone.restapi\",\n        \"setuptools\",\n    ],\n```\n\nAlso, add `kitconcept.solr` to your package's `configure.zcml` (or `dependencies.zcml`):\n\n```xml\n<include package=\"kitconcept.solr\" />\n```\n\n#### Remark with Plone 6.0\n\nWith Plone 6.0 you must add an additional dependency `\"plone.restapi>=8.40.0\"`.\n\nThe package also keeps support with Plone 5.2 where `\"plone.restapi>=8.21.2\"` is a working version. It will not support image scales, but the package will work gracefully without displaying image previews in the search result list.\n\n### Generic Setup\n\nTo automatically enable this package when your add-on is installed, add the following line inside the package's `profiles/default/metadata.xml` `dependencies` element:\n\n```xml\n    <dependency>profile-kitconcept.solr:default</dependency>\n```\n\n## Source Code and Contributions\n\nWe welcome contributions to `kitconcept.solr`.\n\nYou can create an issue in the issue tracker, or contact a maintainer.\n\n- [Issue Tracker](https://github.com/kitconcept/kitconcept.solr/issues)\n- [Source Code](https://github.com/kitconcept/kitconcept.solr/)\n\n### Development requirements\n\n- Python 3.8 or later\n- Docker\n\n### Setup\n\nInstall all development dependencies -- including Plone -- and create a new instance using:\n\n```bash\nmake install\n```\n\nBy default, we use the latest Plone version in the 6.x series.\n\n### Configurations\n\nMost of the development configuration is managed with [`plone.meta`](https://github.com/plone/plone.meta), so avoid manually editing the following files:\n\n- `.editorconfig`\n- `.flake8`\n- `.gitignore`\n- `.pre-commit-config.yaml`\n- `news/.changelog_template.jinja`\n- `pyproject.toml`\n- `tox.ini`\n\nIn addition there is Solr related configuration that is outlined in the following chapters.\n\n#### Configuring Solr\n\nSolr is configured by a default configuration that can be found in the [`/solr/etc/`](./solr/etc) folder in this repository. This contains, most notably, the `schema.xml` that defines the indexes for Solr. This package also builds docker images with the default Solr version, set up with this default configuration.\n\nIf you need to customize the Solr configuration (such as adding new indexes, etc.) then you should copy the `solr` folder into your own project, customize it as you wish, and then build your own docker images (or compile your own Solr server) based on this configuration.\n\nA typical use case for why you would want to do this, is if you add new fields to some content types, and you want to render the values for these additional fields in the search results. In this case you want to add the additional fields as indexes to Solr. You probably would not need this, unless you change anything on the result type templates in the `kitconcept.volto-solr` front-end package.\n\n#### Configuring the front-end and back-end packages\n\nThe package supports the usage of the `kitconcept.volto-solr` add-on, and it is designed to be used together with it.\n\nThe configuration can be specified in a customized way. Without any additional configuration, the package will use the default, which is specified in json format in the [`kitconcept.solr.interfaces.IKitconceptSolrSettings`](./src/kitconcept/solr/profiles/default/registry/kitconcept.solr.interfaces.IKitconceptSolrSettings.xml) registry.\n\nThis configuration settings affect the behavior of both the `kitconcept.solr` (this) back-end package, and the `kitconcept.volto-solr` front-end package (a Volto add-on). In addition, `kitconcept.volto-solr` has its own Volto add-on configuration which is not explained here, for these options please refer to the documentation of the add-on package.\n\n##### Configuration options\n\nExplanation for the configuration options:\n\n###### `fieldList`\n\nContains the fields that solr should return. If the search result templates in the volto add-on are modified, and require more fields than in the default list, the fields **must explicitly be added** here.\n\nIn addition, the same fields must be present in the Solr index - if either the Solr index or the field in `fieldList` is missing, the field value will silently be not returned. No error will be shown.\n\nExample value:\n\n```json\n[\n  \"UID\",\n  \"Title\",\n  \"Description\",\n  \"Type\",\n  \"effective\",\n  \"start\",\n  \"created\",\n  \"end\",\n  \"path_string\",\n  \"mime_type\",\n  \"phone\",\n  \"email\",\n  \"location\",\n  \"image_scales\",\n  \"image_field\"\n]\n```\n\n###### `searchTabs`\n\nA list of dictionary items representing the facet tabs in the search page.\n\nThe `label` field specifies the label to be shown on the tab in English. It's the front-end package's responsibility to provide translations for this, as `kitconcept.volto-solr` does this for the defaults, which can be used as an example.\n\nThe `filter` field defines the Solr search condition to the given facet tab. This can be a content type, or in fact any condition understood by Solr, please consult the Solr documentation for more details.\n\nExample value:\n\n```json\n[\n  {\n    \"label\": \"All\",\n    \"filter\": \"Type(*)\"\n  },\n  {\n    \"label\": \"Pages\",\n    \"filter\": \"Type:(Page)\"\n  },\n  {\n    \"label\": \"Events\",\n    \"filter\": \"Type:(Event)\"\n  },\n  {\n    \"label\": \"Images\",\n    \"filter\": \"Type:(Image)\"\n  },\n  {\n    \"label\": \"Files\",\n    \"filter\": \"Type:(File)\"\n  }\n]\n```\n\n##### Overriding the configuration options\n\nIf needed, the default [`kitconcept.solr.interfaces.IKitconceptSolrSettings`](./src/kitconcept/solr/profiles/default/registry/kitconcept.solr.interfaces.IKitconceptSolrSettings.xml) can be customized in the registry via GenericSetup.\n\n### Using reindex helpers\n\nHelpers for activate and reindex solr are importable from the package.\n\nExample for a reindex script that can be called from Makefile:\n\n```py\nfrom kitconcept.solr.reindex_helpers import activate_and_reindex\nfrom Testing.makerequest import makerequest\nfrom zope.site.hooks import setSite\n\nimport sys\nimport transaction\n\n\nif __name__ == \"__main__\":\n    app = makerequest(app)  # noQA\n\n    # Set site to Plone\n    site_id = \"Plone\"\n    portal = app.unrestrictedTraverse(site_id)\n    setSite(portal)\n\n    activate_and_reindex(portal, clear=\"--clear\" in sys.argv)\n\n    transaction.commit()\n    app._p_jar.sync()\n```\n\nExample for an upgrade step that adds the `kitconcept.solr` package, and one that does the solr activation for the first time:\n\n```py\nfrom kitconcept.solr.reindex_helpers import activate_and_reindex\nfrom plone import api\n\nimport logging\n\n\nlogger = logging.getLogger(\"your_package_name_here\")\n\n\n# We suggest to add two distinct upgrade step for the package installation\n# and the solr activation, in case of a failure this allows to\n# identify the problem easier.\n\n\ndef install_kitconcept_solr(context):\n    st = api.portal.get_tool(\"portal_setup\")\n    st.runAllImportStepsFromProfile(\"kitconcept.solr:default\")\n    logger.info(\"Installed kitconcept.solr\")\n\n\ndef activate_and_reindex_solr(context):\n    activate_and_reindex(context)\n    logger.info(\"Activated and reindexed solr\")\n```\n\n### Update translations\n\n```bash\nmake i18n\n```\n\n### Format codebase\n\n```bash\nmake format\n```\n\n### Run tests\n\nTesting of this package is done with [`pytest`](https://docs.pytest.org/) and [`tox`](https://tox.wiki/).\n\nRun all tests with:\n\n```bash\nmake test\n```\n\nRun all tests but stop on the first error and open a `pdb` session:\n\n```bash\n./bin/tox -e test -- -x --pdb\n```\n\nRun only tests that match `TestEndpointEncoding`:\n\n```bash\n./bin/tox -e test -- -k TestEndpointEncoding\n```\n\nRun only tests that match `TestEndpointEncoding`, but stop on the first error and open a `pdb` session:\n\n```bash\n./bin/tox -e test -- -k TestEndpointEncoding -x --pdb\n```\n\n## Credits\n\nThe development of this add-on has been kindly sponsored by [German Aerospace Center (DLR)](https://www.dlr.de) and [Forschungszentrum J\u00fclich](https://www.fz-juelich.de).\n\n<img alt=\"German Aerospace Center (DLR)\" width=\"200px\" src=\"https://raw.githubusercontent.com/kitconcept/kitconcept.solr/main/docs/dlr.svg\" style=\"background-color:white\">\n<img alt=\"Forschungszentrum J\u00fclich\" width=\"200px\" src=\"https://raw.githubusercontent.com/kitconcept/kitconcept.solr/main/docs/fz-juelich.svg\" style=\"background-color:white\">\n\nDeveloped by [kitconcept](https://www.kitconcept.com/)\n\n## License\n\nThe project is licensed under GPLv2.\n\n\n# Changelog\n\n<!--\n   You should *NOT* be adding new change log entries to this file.\n   You should create a file in the news directory instead.\n   For helpful instructions, please see:\n   https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst\n-->\n\n<!-- towncrier release notes start -->\n\n## 1.0.0a6 (2024-04-09)\n\n\n### Bug fixes:\n\n- Fix first tab condition @reebalazs [#26](https://github.com/kitconcept/kitconcept.solr/issues/26)\n\n\n## 1.0.0a5 (2024-03-01)\n\n\n### New features:\n\n- Add support for sidebar facet conditions @reebalazs [#24](https://github.com/kitconcept/kitconcept.solr/issues/24)\n\n\n### Bug fixes:\n\n- Fix solr search security problem with individual users @reebalazs [#20](https://github.com/kitconcept/kitconcept.solr/issues/20)\n\n\n## 1.0.0a5 (2024-02-01)\n\n\n### Bug fixes:\n\n- Fix generic setup profile titles @tisto [#18](https://github.com/kitconcept/kitconcept.solr/issues/18)\n\n\n## 1.0.0a4 (2023-10-10)\n\n\n### New features:\n\n- Support Plone 5.2 [@reekitconcept] [#17](https://github.com/kitconcept/kitconcept.solr/issues/17)\n\n\n## 1.0.0a3 (2023-08-15)\n\n\n### Documentation:\n\n- Add credits to README @tisto [#16](https://github.com/kitconcept/kitconcept.solr/issues/16)\n\n\n## 1.0.0a2 (2023-08-15)\n\n\n### Bug fixes:\n\n- Increase version of collective.solr @reebalazs [#14](https://github.com/kitconcept/kitconcept.solr/issues/14)\n\n\n## 1.0.0a1 (2023-08-11)\n\n\n### New features:\n\n- Generate `ghcr.io/kitconcept/solr` @reekitconcept [#3](https://github.com/kitconcept/kitconcept.solr/issues/3)\n\n\n### Internal:\n\n- Prepare package for release @ericof [#5](https://github.com/kitconcept/kitconcept.solr/issues/5)\n- Revamp solr configuration @reebalazs [#12](https://github.com/kitconcept/kitconcept.solr/issues/12)\n\n\n",
    "bugtrack_url": null,
    "license": "GPL version 2",
    "summary": "An opinionated Solr integration for Plone",
    "version": "1.0.0a6",
    "project_urls": {
        "Homepage": "https://github.com/kitconcept/kitconcept.solr",
        "PyPI": "https://pypi.python.org/pypi/kitconcept.solr",
        "Source": "https://github.com/kitconcept/kitconcept.solr",
        "Tracker": "https://github.com/kitconcept/kitconcept.portal/issues"
    },
    "split_keywords": [
        "python",
        "plone",
        "solr"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4dce9de2ed672e838a62338343bc7fa8ff20d51eac3b2c479ca855120a44c73e",
                "md5": "ab00709439018b651324623923cf12a9",
                "sha256": "7f38d3b2912dba81aa6cadedf2f55bc643869ab1783e80866dd616ad9e932b1f"
            },
            "downloads": -1,
            "filename": "kitconcept.solr-1.0.0a6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ab00709439018b651324623923cf12a9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 34072,
            "upload_time": "2024-04-09T11:42:51",
            "upload_time_iso_8601": "2024-04-09T11:42:51.736896Z",
            "url": "https://files.pythonhosted.org/packages/4d/ce/9de2ed672e838a62338343bc7fa8ff20d51eac3b2c479ca855120a44c73e/kitconcept.solr-1.0.0a6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa0e562d1582ed1ffd5e1d147eb9b05dfe786f9999482a04c4e9f16449ee313d",
                "md5": "b53fa1b646f1c0ad089f7aa628b71f7e",
                "sha256": "7cd6f022e726026afb9b807473acc50067a47b34865e6ddbfbeed5d2cfe27e41"
            },
            "downloads": -1,
            "filename": "kitconcept.solr-1.0.0a6.tar.gz",
            "has_sig": false,
            "md5_digest": "b53fa1b646f1c0ad089f7aa628b71f7e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 84340,
            "upload_time": "2024-04-09T11:42:53",
            "upload_time_iso_8601": "2024-04-09T11:42:53.378936Z",
            "url": "https://files.pythonhosted.org/packages/fa/0e/562d1582ed1ffd5e1d147eb9b05dfe786f9999482a04c4e9f16449ee313d/kitconcept.solr-1.0.0a6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-09 11:42:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kitconcept",
    "github_project": "kitconcept.solr",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "kitconcept.solr"
}
        
Elapsed time: 0.23257s