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.2.0.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.2.0-py3-none-any.whl (84.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: collective_searchblocks-0.2.0.tar.gz
  • Upload date:
  • Size: 76.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","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.2.0.tar.gz
Algorithm Hash digest
SHA256 3306fe9bb0efd9cb8444f3656fdc531d676f49b44a7fe2836ad773c16a6eb9ef
MD5 eaf27ff98b055d665e4d7b8163e2872d
BLAKE2b-256 c4a3fb0a46a0561b8401416c4fa6a1c6f504b40782fb5d1a908e1350aacd6bac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: collective_searchblocks-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 84.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86d41a8da24527ce920ff9d454827a3cad44619e39cffbcfe64277eae819fa81
MD5 4646ab5359c3ab1bedf6c780574ccdf2
BLAKE2b-256 90318b1c4e1066de41dc14f54fe312bbc4ad2afd2ad13bc7dd49017c6db9ebe6

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