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.1.0.dev1.tar.gz (1.2 MB 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.1.0.dev1-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file collective_searchblocks-0.1.0.dev1.tar.gz.

File metadata

  • Download URL: collective_searchblocks-0.1.0.dev1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","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.1.0.dev1.tar.gz
Algorithm Hash digest
SHA256 f93672f6836810a09deaea914dbafffbd837cbcbe9ef3c0d73a9b15d5905d669
MD5 495bfb48701f674344b6f3d54a523aa2
BLAKE2b-256 6314a0a8c02ade984745ce8b44efa37628b097e2beec5e948a5dbc0ce5d22e3e

See more details on using hashes here.

File details

Details for the file collective_searchblocks-0.1.0.dev1-py3-none-any.whl.

File metadata

  • Download URL: collective_searchblocks-0.1.0.dev1-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","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.1.0.dev1-py3-none-any.whl
Algorithm Hash digest
SHA256 7036ae49ea8e7cf453a5fef8bde7d47dc828b2ae32647185eaa54de3d5af8bfc
MD5 fb601d94c0085953a8301a38c9056003
BLAKE2b-256 ee61d7808ab3881d421887ebd166d501b9c7af0cff73d9c25a00e1c422615122

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