Skip to content

docs: Introduce initial docs for service module (Preview)#2350

Draft
TomCools wants to merge 12 commits into
TimefoldAI:mainfrom
TomCools:mark-relevance-in-files
Draft

docs: Introduce initial docs for service module (Preview)#2350
TomCools wants to merge 12 commits into
TimefoldAI:mainfrom
TomCools:mark-relevance-in-files

Conversation

@TomCools

Copy link
Copy Markdown
Contributor

Currently providing this PR in DRAFT as a preview of the changes to come. Some content still needs validation and review from my side: e.g. going through the quickstart guide myself again and updating some references, after the service module has been officially released.

We have introduced the "Service" module, but this did not contain any documentation yet.

This PR will:

  • Label some existing pages to be reworked (frontmatter data, no further impact)
  • Introduce a new navigation item: Building a service (Preview)
  • Introduce a couple of pages which describe basic service capabilities
  • Introduce a new quickstart explicitly built using the service module, and reworked some of the shared files to avoid too much duplication across quickstarts.
  • Rework the quickstart page to mention the distinction between using the solver as a library vs a service

@triceo triceo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some notes after a first quick look.

Comment thread docs/src/modules/ROOT/pages/constraints-and-score/constraint-configuration.adoc Outdated
:sectnums:
:icons: font
:relevance: both
:notes: Relevant, needs some rewrites. Also should include the "Getting Started" for Quarkus (raw) and Spring

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a third thing? "core", "service" and "raw"?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

raw => Core + Quarkus plugin integration. That should be clarified. It's the weird double right now.

Comment thread docs/src/modules/ROOT/pages/quickstart/service/_examples/input.sh Outdated
@@ -0,0 +1,28 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I never much liked copy-pasting stuff from production code. Gets quickly outdated and forgotten about, until some user points it out.

Any chance we could have a live mechanism to point to an authoritative piece of source code, such as one in the quickstarts repo?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Under investigation ;) We have a similar problem for all of the quickstarts btw.

Comment thread docs/src/modules/ROOT/pages/quickstart/service/getting-started.adoc Outdated

* **Knowledge**
** Java (Basic)
** Quarkus (Basic)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is IMO where you immediately lose Spring people.
We can only keep Spring people if we treat the service as a black box that uses no technology which the user needs to care about.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: What is the exact quarkus knowledge that is needed?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Until we fully abstract Quarkus away and it is a black box, the reference should stay. It's just being up-front of what is needed.

Comment thread docs/src/modules/ROOT/pages/quickstart/overview.adoc Outdated

@oemebamo oemebamo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is a draft pr, but already some quick comments.

Great work @TomCools ❤️

Open the http://localhost:8080/q/swagger-ui/[Swagger OpenAPI Viewer] to inspect the generated API Endpoints:
http://localhost:8080/q/swagger-ui/

image:quickstart/mdk/openapi.png[Screenshot of the Swagger OpenAPI UI showing the automatically generated REST API endpoints]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Folder name "mdk" to be updated?

:sectnums:
:icons: font

:relevance: both

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:relevance: is just something internal? an annotation? or does it trigger something automatically?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't trigger anything, just metadata for me while refactoring the docs, so i don't have to keep a separate file with this info.

Comment thread docs/src/modules/ROOT/pages/quickstart/service/_examples/input-response.json Outdated
Comment thread docs/src/modules/ROOT/pages/quickstart/service/_examples/output-response.json Outdated
Comment thread docs/src/modules/ROOT/pages/quickstart/service/getting-started.adoc Outdated
Comment thread docs/src/modules/ROOT/pages/service/constraint-weights.adoc Outdated

include::_preview-note.adoc[]

Run optimization as a fully isolated service.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PP: Dataset optimization

Comment thread docs/src/modules/ROOT/pages/service/rest-api.adoc Outdated
"name": "run name",
"termination": {
"spentLimit": "PT5M",
"unimprovedSpentLimit": "PT10S"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: There probably are more terminations now? stepCount?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will make an issue to tackle this. Describing the terminations would be a new section.
#2359

Comment thread docs/src/modules/ROOT/pages/service/rest-api.adoc
External loading doesn't work in Antora, at least not close to the source.
@TomCools TomCools changed the title Introduce initial docs for service module (Preview) docs: Introduce initial docs for service module (Preview) Jun 11, 2026
@sonarqubecloud

Copy link
Copy Markdown

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.

3 participants