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.7.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.7-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file collective_searchblocks-0.1.7.tar.gz.

File metadata

  • Download URL: collective_searchblocks-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 a2db627b05e21a06fc5f81989637e24917e7379e957a51e183044bc418bf947d
MD5 93cfcb08b41d68d1a7bb0449c7d9b2d3
BLAKE2b-256 ad7d9edb6aecde9f17e59d5a189361f786a0f655c65b6f90040403b709dfa77b

See more details on using hashes here.

File details

Details for the file collective_searchblocks-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: collective_searchblocks-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 fb879b6eba0cbcd4f0e664cdc23b2436fc818eacfe2e2314a2f59265d5ed36fa
MD5 a9762defc3ca71d400c8f559f4170d9b
BLAKE2b-256 7c8d3bb2f31f876ab978554b29131e54e85b16c7877fba68dc327719029bfce5

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