Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move Reference Guide documentation to our library set-up #273

Merged
merged 3 commits into from
Jul 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ For more information on anything Axon, please visit our website, [http://axoniq.

## Getting started

The [reference guide](https://docs.axoniq.io) contains a separate chapter for all the extensions.
The Reactor extension description can be found [here](https://docs.axoniq.io/reference-guide/extensions/reactor).
The [AxonIQ Library](https://library.axoniq.io) contains a section for the guides of all the Axon Framework extensions.
The Reactor extension guide can be found [here](https://library.axoniq.io/home/guides/axon-framework.html).

## Receiving help

Are you having trouble using the extension?
We'd like to help you out the best we can!
There are a couple of things to consider when you're traversing anything Axon:

* Checking the [reference guide](https://docs.axoniq.io/reference-guide/extensions/reactor) should be your first stop,
as the majority of possible scenarios you might encounter when using Axon should be covered there.
* Checking the [reference guide](https://library.axoniq.io/axon_framework_old_ref/) should be your first stop,
as the majority of possible scenarios you might encounter when using Axon should be covered there.
* If the Reference Guide does not cover a specific topic you would've expected,
we'd appreciate if you could file an [issue](https://github.com/AxonIQ/reference-guide/issues) about it for us.
we'd appreciate if you could post a [new thread/topic on our library fourms describing the problem](https://discuss.axoniq.io/c/26).
* There is a [forum](https://discuss.axoniq.io/) to support you in the case the reference guide did not sufficiently answer your question.
Axon Framework and Server developers will help out on a best effort basis.
Know that any support from contributors on posted question is very much appreciated on the forum.
Expand Down
5 changes: 5 additions & 0 deletions docs/_playbook/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
build
node_modules
.vscode
vale
package-lock.json
24 changes: 24 additions & 0 deletions docs/_playbook/.vale.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
StylesPath = vale

MinAlertLevel = suggestion

Packages = http://github.com/AxonIQ/axoniq-vale-package/releases/latest/download/axoniq-vale-package.zip

Vocab = general, AxonIQ, Java, Names_Terms, misc

[*.{adoc,html}]
BasedOnStyles = AxonIQ, proselint, Google

Google.Headings = NO # Diasable in favor od AxonIQ one
Google.Parens = NO # Disable warning about using parens
Google.Quotes = NO # Diasable "commas and periods go inside quotation marks"
Google.WordList = NO # Disable Google's word list
Google.Passive = NO # Allow the use of Passive voice
Google.Colons = NO # Allow the use of Colons
Google.Will = NO # Allow use will
Google.Contractions = NO
Google.We = NO


AxonIQ.AcronymCase = NO
AxonIQ.HeadingTitle = NO
11 changes: 11 additions & 0 deletions docs/_playbook/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"devDependencies": {
"@antora/atlas-extension": "^1.0.0-alpha.2",
"@antora/cli": "^3.2.0-alpha.2",
"@antora/lunr-extension": "^1.0.0-alpha.8",
"@antora/site-generator": "^3.2.0-alpha.2",
"@asciidoctor/tabs": "^1.0.0-beta.6",
"@axoniq/antora-vale-extension": "^0.1.1",
"asciidoctor-kroki": "^0.17.0"
}
}
42 changes: 42 additions & 0 deletions docs/_playbook/playbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
site:
title: Reactor Extension docs PREVIEW
start_page: reactor_extension_old_ref::index.adoc

content:
sources:
- url: ../..
start_paths: ['docs/*', '!docs/_*']

asciidoc:
attributes:
experimental: true
page-pagination: true
kroki-fetch-diagram: true
# primary-site-manifest-url: https://library.axoniq.io/site-manifest.json
extensions:
- asciidoctor-kroki
- '@asciidoctor/tabs'

antora:
extensions:
- id: prose-linting
require: '@axoniq/antora-vale-extension'
enabled: true
vale_config: .vale.ini
update_styles: true
- id: lunr
require: '@antora/lunr-extension'
enabled: true
index_latest_only: true
- id: atlas
require: '@antora/atlas-extension'

runtime:
fetch: true # fetch remote repos
log:
level: info
failure_level: error

ui:
bundle:
url: https://github.com/AxonIQ/axoniq-library-ui/releases/download/v.0.1.10/ui-bundle.zip
14 changes: 14 additions & 0 deletions docs/old-reference-guide/antora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: reactor_extension_old_ref
title: Reactor Extension Guide
version: true
prerelease: true
start_page: ROOT:index.adoc

asciidoc:
attributes:
component_description: The Reactor Extension guide from the former reference guide
type: guide
group: axon-framework

nav:
- modules/nav.adoc
14 changes: 14 additions & 0 deletions docs/old-reference-guide/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
:navtitle: Reactor Extension
= Reactor

Overlooking Axon Frameworks architecture, you can notice that in general systems using the framework are "Message Driven", "Responsive", "Resilient" and "Elastic". According to link:https://www.reactivemanifesto.org/[Reactive Manifesto,window=_blank,role=external], the same holds for Reactive Systems in general.

Although we can state that Axon Framework is a type of reactive system, we can't say that it is fully reactive.

NOTE: Reactive programming is an approach to writing software that embraces asynchronous I/O. Asynchronous I/O is a small idea that portends big changes for software. The idea is simple: alleviate inefficient resource utilization by reclaiming resources that would otherwise be idle, as they waited for I/O activity. Asynchronous I/O inverts the normal design I/O processing: the clients are notified of new data instead of asking for it, which frees the client to do other work while waiting for these notifications.

By their nature, a reactive API and Axon are a great fit, as most of framework's operations are async and non-blocking. Providing a dedicated extension for this was thus a logical step to take. To that end, we chose to use Pivotal’s link:https://projectreactor.io/[Project Reactor,window=_blank,role=external] to build this extension. Reactor builds on top of the link:https://www.reactive-streams.org/[Reactive Streams specification,window=_blank,role=external] and is the de-facto standard for Java enterprise and Spring applications. As such, we feel it to be a great fit to provide an extension in, making Axon more reactive.

NOTE: Not all Axon components offer a reactive API, yet. We will incrementally introduce more "reactiveness" to this extension, giving priority to components where users can benefit the most.

To use the link:https://github.com/AxonFramework/extension-reactor[Axon Reactor Extension,window=_blank,role=external], make sure that `axon-reactor` module is available on the classpath.
Loading
Loading