Skip to content

Releases: glitter-node/glitter-search_hub

Glitter Search Hub v0.1.7

Choose a tag to compare

@glitter-gim glitter-gim released this 29 Oct 21:15

Release: v0.1.7
Platform: Gnuboard7
Repository: https://github.com/glitter-node/glitter-search_hub

Overview

Glitter Search Hub v0.1.7 introduces an extensible search provider discovery and management architecture for Gnuboard7.

This release enhances automatic provider registration, host search endpoint discovery, administrator controls, and integration with existing Gnuboard7 search services.

What's New

Automatic Search Provider Discovery

  • Automatically discover search providers declared by active Gnuboard7 modules through getSearchProviders().
  • Register valid provider declarations dynamically.
  • Support configurable provider IDs, search types, labels, and display order.
  • Preserve existing administrator-defined provider settings.
  • Detect duplicate providers, invalid declarations, and registration conflicts.
  • Exclude providers belonging to inactive modules.

Host Search Endpoint Discovery

  • Inspect locally registered Laravel GET routes to identify potential search endpoints.
  • Discover candidates using route URIs, names, and controller actions.
  • Collect authentication requirements, middleware information, and search contract metadata.
  • Classify registered, unsupported, and unverified endpoint candidates.
  • Prevent administrative and internal search endpoints from being exposed as public search providers.
  • Reject registration requests for unverified endpoints.
  • Perform discovery without executing routes, crawling websites, or making external HTTP requests.

Search Provider Administration

  • Manage search provider activation, availability, and display order.
  • Discover host search endpoints directly from the administration interface.
  • Display endpoint metadata and registration eligibility.
  • Associate existing search endpoints with registered providers.
  • Preserve provider configuration and search analytics.

Supported Search Providers

The following provider types are supported through existing module integrations:

Provider Description Source Module
posts Board posts sirsoft-board
pages Pages sirsoft-page
courses Learning courses glitter-learning
lessons Learning lessons glitter-learning

Search results continue to respect the source modules' access permissions and visibility restrictions.

Security Improvements

  • Protect endpoint discovery and registration APIs with administrator authentication and authorization.
  • Reject unsupported or unverified provider registrations.
  • Prevent arbitrary external URL execution and endpoint crawling.
  • Exclude administrator-only and internal routes from public search registration.
  • Preserve existing search provider settings and analytics data.

Compatibility

  • Maintains compatibility with existing Gnuboard7 search APIs.
  • Preserves existing search provider integrations.
  • Supports dynamic module-based provider discovery.
  • Does not require changes to the Gnuboard7 core.
  • Does not modify existing LMS content or enrollment data.

Verification

The following checks were reported as successful:

  • PHP syntax validation
  • JSON syntax validation
  • Administrator layout decompilation
  • git diff --check
  • Official bundled module update
  • Unauthenticated discovery API access: HTTP 401
  • Existing course search API: successful response

Automated tests were not executed.

Authenticated browser verification of the endpoint discovery administration interface remains pending.

Known Limitations

  • Endpoint discovery does not automatically make arbitrary APIs searchable.
  • New endpoints require a validated search contract and a compatible execution adapter.
  • Automatic provider declarations currently target active modules.
  • Template-level search provider discovery is not included in this release.

Repository

GitHub: https://github.com/glitter-node/glitter-search_hub
Release Tag: v0.1.7