Skip to content

Improve outbound template DX: README overhaul, document-handling example, testing and element-template guidance #175

@crobbins215

Description

@crobbins215

What should we do?

From my experience creating https://github.com/crobbins215/pdf-merge-split, could we investigate if this template can be improved

  • Update README
    • Add a decision guide: Operations API vs Classic Function API (when to use which).
    • Add a 5‑minute Quickstart: “Use this template” → rename checklist → mvn clean package.
    • Document local vs SaaS run paths (Local Connector Runtime vs Docker bundle), with Windows-friendly commands.
    • Element template tips: typed defaults (no string booleans/numbers), prevent duplicate “Operation” fields, icon guidance.
    • Troubleshooting: common pitfalls (wrong test imports, missing SPI provider, duplicate properties, version mismatches).
    • Web Modeler testing vs Desktop, these examples can be improved.
  • Add a document-handling example (new examples/document-handling/)
    • Show both in-memory bytes and stream-based handling with the Connector Document API.
    • Include large file guidance (heap notes, temp files, streaming, max size), metadata handling, and multiple documents pattern.
    • Provide unit tests that demonstrate processing small and large documents safely.
  • Provide a minimal, working test using connector-runtime-test
    • Example test with OutboundConnectorContextBuilder (SDK 8.8.3).
    • One happy-path test that compiles and passes out-of-the-box.
  • Add an element-template “do/don’t” section
    • Unique property IDs, grouping, hiding discriminators, typed defaults, examples.
    • Optional: add a tiny validator script/goal or checklist to catch duplicate IDs and bad defaults before opening Modeler.
  • Pin and surface versions
    • SDK and generator plugin pinned to latest stable (currently 8.8.3).
    • Note a simple compatibility matrix (SDK, Modeler, runtime, test libs).

Why should we do it?

  • Reduce time-to-first-success for partners and customers (target: <10 minutes from clone to passing test and a clean element template in Modeler).
    • Eliminate recurring pitfalls:
    • Duplicate “Operation” fields from discriminator leaks.
    • Mis-typed defaults in templates (booleans/numbers as strings).
    • Wrong test imports (connector-test vs connector-runtime-test).
    • Confusion running locally vs SaaS. Webmodeler vs desktop modeler
  • Lower support load and improve community connector quality by providing a clear, copy‑pasteable baseline.
  • Encourage correct use of the Document API with practical guidance for large files and memory.
  • Align template with current SDK versions and best practices, improving consistency across community contributions.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions