Skip to content

docs(dev): correct 15.8 data store plugin guide against implementation#447

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

docs(dev): correct 15.8 data store plugin guide against implementation#447
marevol wants to merge 1 commit into
masterfrom
docs/15.8-datastore-plugin

Conversation

@marevol

@marevol marevol commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Summary

The 15.8 developer guide for building a data store plugin (dev/datastore-plugin.rst) was reviewed against the current source code (AbstractDataStore, DataStoreParams, IndexUpdateCallback, and the fess-ds-example reference plugin) and corrected. All seven language versions were re-translated from the corrected Japanese source.

Corrections

  • storeData() signature: paramMap is DataStoreParams, not Map<String, String>; added the missing DataStoreParams import.
  • Parameter access: use paramMap.getAsString() instead of get() (DataStoreParams does not implement Map).
  • Field-mapping pipeline: corrected to match real connectors — build resultMap from paramMap.asMap() plus the source record, evaluate each scriptMap entry with convertValue(scriptType, template, resultMap), then call callback.store(paramMap, dataMap).
  • DataConfig package: corrected to org.codelibs.fess.opensearch.config.exentity.
  • getName(): shown as a protected method returning getClass().getSimpleName().
  • Unit test example: updated to JUnit 5 with UTFlute LastaDiTestCase and a collecting IndexUpdateCallback (previously JUnit 4).

Added

  • Component registration section (fess_ds++.xml with <postConstruct name="register">).
  • AbstractDataStore helper methods (convertValue, getScriptType, getReadInterval, sleep) and a data-processing-flow section.
  • Build & installation section (pom.xml with fess-parent/provided scope, mvn clean package, plugin installation).

Translations

en, de, es, fr, ko, and zh-cn re-translated from the corrected Japanese, restoring proper diacritics for German/French/Spanish. Structural parity (directives, code blocks, tables, :doc: references) verified across all languages, and every file parses cleanly with docutils.

Verify the developer guide for building a data store plugin against the
current source code and fix inaccuracies, then re-translate every
language version from the corrected Japanese source.

- Fix storeData() signature: paramMap is DataStoreParams, not
  Map<String, String>; add the DataStoreParams import
- Use paramMap.getAsString() instead of get() to read string parameters
- Correct the field-mapping pipeline to match real connectors: build
  resultMap from paramMap.asMap() plus the source record, evaluate each
  scriptMap entry with convertValue(scriptType, template, resultMap),
  and call callback.store(paramMap, dataMap)
- Use the correct DataConfig package
  (org.codelibs.fess.opensearch.config.exentity)
- Show getName() as a protected method returning getClass().getSimpleName()
- Add component registration via fess_ds++.xml (postConstruct register)
- Add AbstractDataStore helper methods, a data-processing-flow section,
  and a build/installation section (pom.xml, mvn clean package, install)
- Update the unit test example to JUnit 5 with UTFlute LastaDiTestCase
- Re-translate en, de, es, fr, ko, and zh-cn (with correct diacritics)
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