Skip to content

docs(dev): correct and expand 15.8 Ingest plugin guide against implementation#452

Open
marevol wants to merge 1 commit into
masterfrom
docs/15.8-ingest-plugin
Open

docs(dev): correct and expand 15.8 Ingest plugin guide against implementation#452
marevol wants to merge 1 commit into
masterfrom
docs/15.8-ingest-plugin

Conversation

@marevol

@marevol marevol commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

The 15.8 Ingest plugin developer guide (dev/ingest-plugin.rst) documented an API that does not exist in the Fess source. This PR rewrites it to match the actual implementation and applies the correction to all seven languages.

What was wrong

  • Referenced a non-existent IngestHandler interface with a single process(Map) method.
  • Showed registration via a plain fess_ingest.xml component.
  • Documented a fabricated ingest.handler.example.enabled property.

What it says now (verified against source)

  • Ingest is implemented by extending the org.codelibs.fess.ingest.Ingester abstract class, which provides four process overloads (Map, Map+DataStoreParams, Map+AccessResult, and ResultData+ResponseData); the guide explains which one to override.
  • Registration uses fess_ingest++.xml (the DI merge convention) with <postConstruct name="register"/> calling Ingester#register(), which adds the ingester to ingestFactory.
  • There are no ingest-related fess_config.properties settings; enablement is by plugin presence and ordering is controlled by the priority field (default 99, ascending).
  • Adds the execution flow (three invocation points across the data store and web/file crawl pipelines), the caveat that returning null fails index registration, and reference implementations (fess-ingest-example, fess-webapp-multimodal).

Languages

  • Corrected ja (source of truth) and re-translated en, de, fr, es, ko, zh-cn.
  • Code blocks and technical identifiers are byte-identical across languages; only prose and // comments are localized. Diacritics restored in de/fr/es.

…entation

The Ingest plugin guide described an API that does not exist in the source.
Rewrite it to match the actual implementation and apply the fix to all
languages.

- Replace the non-existent ``IngestHandler`` interface with the real
  ``org.codelibs.fess.ingest.Ingester`` abstract class and its four
  ``process`` overloads (Map, Map+DataStoreParams, Map+AccessResult,
  ResultData+ResponseData), noting which one to override.
- Correct registration to ``fess_ingest++.xml`` (DI merge convention) with
  ``<postConstruct name="register"/>`` calling ``Ingester#register()``.
- Remove the fabricated ``ingest.handler.example.enabled`` property; there
  are no ingest-related ``fess_config.properties`` settings.
- Document ``priority``-based execution order (default 99, ascending),
  the three invocation points in the crawl/index pipeline, the
  null-return caveat, and reference implementations
  (fess-ingest-example, fess-webapp-multimodal).
- Update ja and re-translate en/de/fr/es/ko/zh-cn (diacritics preserved).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant