Skip to main content

Additional control-panel that allow users to search which contents using a specific block

Project description

collective.searchblocks

A comprehensive Plone add-on that provides search functionality for content using specific blocks.

Features ✨

  • Block Search Endpoint: RESTful API endpoint (/@search-blocks) for searching content by block types
  • Security: Permission-based access control for the search API
  • Catalog Integration: Uses Plone's catalog for efficient searching
  • Metadata Support: Returns rich metadata including title, type, review state, creation and modification dates
  • Pagination: Support for batched results with configurable page sizes
  • Sorting: Results sorted by title for consistent ordering

Installation

Install collective.searchblocks with uv.

uv add collective.searchblocks

Create the Plone site.

make create-site

REST API

@search-blocks

Search for content using specific blocks.

GET /@search-blocks

Returns a list of all available block types in the catalog.

Response:

{
  "block_types": ["slider", "hero", "text"]
}

GET /@search-blocks?block_types=slider

Returns content items that have the specified block type, formatted using the standard summary serializer.

Response:

{
  "block_types": ["slider", "hero", "text"],
  "items": [
    {
      "@id": "http://localhost:8080/Plone/doc-1",
      "@type": "Document",
      "title": "Doc 1",
      "description": "...",
      "review_state": "published"
    }
  ],
  "items_total": 1
}

Parameters:

  • block_types (string): The block type to search for.
  • b_size (int): Batch size (pagination).
  • b_start (int): Batch start index (pagination).
  • sort_on (string, automatic): Sorts results by sortable_title (automatically added).
  • metadata_fields (list, automatic): Includes modified and created metadata fields (automatically added).

Contribute

Prerequisites ✅

Installation 🔧

  1. Clone this repository.

    git clone git@github.com:collective/collective-searchblocks.git
    cd collective-searchblocks/backend
    
  2. Install this code base.

    make install
    

Add features using plonecli or bobtemplates.plone

This package provides markers as strings (<!-- extra stuff goes here -->) that are compatible with plonecli and bobtemplates.plone. These markers act as hooks to add all kinds of features through subtemplates, including behaviors, control panels, upgrade steps, or other subtemplates from bobtemplates.plone. plonecli is a command line client for bobtemplates.plone, adding autocompletion and other features.

To add a feature as a subtemplate to your package, use the following command pattern.

make add <template_name>

For example, you can add a content type to your package with the following command.

make add content_type

You can add a behavior with the following command.

make add behavior
You can check the list of available subtemplates in the [`bobtemplates.plone` `README.md` file](https://github.com/plone/bobtemplates.plone/?tab=readme-ov-file#provided-subtemplates).
See also the documentation of [Mockup and Patternslib](https://6.docs.plone.org/classic-ui/mockup.html) for how to build the UI toolkit for Classic UI.

License

The project is licensed under GPLv2.

Credits and acknowledgements 🙏

Generated from the cookieplone-templates template on 2026-01-14 14:29:54.. A special thanks to all contributors and supporters!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective_searchblocks-0.3.0a0.tar.gz (76.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

collective_searchblocks-0.3.0a0-py3-none-any.whl (84.5 kB view details)

Uploaded Python 3

File details

Details for the file collective_searchblocks-0.3.0a0.tar.gz.

File metadata

  • Download URL: collective_searchblocks-0.3.0a0.tar.gz
  • Upload date:
  • Size: 76.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for collective_searchblocks-0.3.0a0.tar.gz
Algorithm Hash digest
SHA256 d49ff7acf8b660e936110a09797d6061052e3f5851a344f540e7f2621854132f
MD5 f531a45065489b520dcf236328439571
BLAKE2b-256 72ec8034baaa670eaa6cb0475475a04796c2f9901e4ef0e22af2f5f558bedefb

See more details on using hashes here.

File details

Details for the file collective_searchblocks-0.3.0a0-py3-none-any.whl.

File metadata

  • Download URL: collective_searchblocks-0.3.0a0-py3-none-any.whl
  • Upload date:
  • Size: 84.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for collective_searchblocks-0.3.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 aac3062294744fab16b21bd7f2019014f36b2856451a686dfc14ffe62a07afe9
MD5 fb946024f6c2379a920f2d1d20abae2b
BLAKE2b-256 a7b250400c1abacbd96b76d41ef77ccaa14928b5e204fb050eddb66e42ac99c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page