Skip to content
Draft
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
8 changes: 0 additions & 8 deletions _data/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,6 @@
docs:
- vdad-support

- title: Service Cutter
docs:
- service-cutter-context-map-suggestions
- service-cutter-config-file

- title: Reverse Engineering
docs:
- reverse-engineering
Expand All @@ -73,20 +68,17 @@
- plant-uml
- bpmn-sketch-miner
- mdsl
- service-cutter
- generic-freemarker-generator

- title: Tutorials
docs:
- event-storming
- event-sourcing-and-cqrs-modeling
- jhipster-microservice-generation
- systematic-service-decomposition
- architecture-validation-with-archunit

- title: IDE Plugins and Extensions
docs:
- vs-code
- online-ide
- eclipse
- ide
10 changes: 1 addition & 9 deletions _docs/architectural-refactorings/architectural-refactorings.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,5 @@ In the case illustrated above, the _PolicyManagementContext_ contains Aggregates

By clicking on the light bulb and the AR you want to apply the model will be refactored accordingly.

### Eclipse
Architectural refactorings can be applied within the Context Mapper Eclipse plugin by using the context menu in the DSL editor. With a
right-click on a bounded context or an aggregate the **Context Mapper: Refactor** menu entry appears and lists all refactorings which are applicable to the selected elements:

<a href="/img/architectural-refactorings-context-menu.png">![Architectural Refactoring Context Menu Example](/img/architectural-refactorings-context-menu.png)</a>

You can also use the Shift-Alt-T keybinding for quick access to the available refactorings (the cursor must be on the object on which you want to start the refactoring).

*Note*: The context menu only shows ARs for which your selected model element fulfills the preconditions.
*Note*: The light bulb only shows ARs for which your selected model element fulfills the preconditions.
The preconditions for all ARs are mentioned on the corresponding detail pages linked above.
16 changes: 6 additions & 10 deletions _docs/faqs.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,14 @@ title: "Frequently Asked Questions"
permalink: /docs/faq/
---

### Where do I find FAQs and tipps specific to the Eclipse plugin or the VS Code extension?
Questions and answers specific to different IDE plugin/extensions are documented on the following pages:
### Where do I find FAQs and tipps specific to the VS Code extension?
Questions and answers specific to the extension are documented on the [Visual Studio Code](/docs/vs-code/) page.

* [Eclipse](/docs/eclipse/)
* [Visual Studio Code](/docs/vs-code/)

### I read about a feature on the Context Mapper website but could not find it in the Visual Studio Code extension. Why?
We have only recently published Context Mapper for Visual Studio Code and do not support all features yet. You can find a feature support table [here](/docs/ide/). If you need all Context Mapper features, you have to use our Eclipse plugin for now. However, we continuously enhance our VS Code extension and want to support all features soon!
### Is there still an Eclipse plugin?
The Eclipse plugin is discontinued. The previous release, version 6.12.0, is still available via our Eclipse update site: [https://contextmapper.org/eclipse-update-site/](https://contextmapper.org/eclipse-update-site/). Find more information [here](/docs/eclipse/).

### How do I create a new Context Map?
Just create a file with the file extension **.cml** (Context Mapping Language). Take a look at our example to get an idea how the file content should look like: [https://github.com/ContextMapper/context-mapper-examples](https://github.com/ContextMapper/context-mapper-examples). Let the code completion and other editor features in Eclipse guide you while completing the map and modeling Bounded Contexts.
Just create a file with the file extension **.cml** (Context Mapping Language). Take a look at our example to get an idea how the file content should look like: [https://github.com/ContextMapper/context-mapper-examples](https://github.com/ContextMapper/context-mapper-examples). Let the code completion and other editor features guide you while completing the map and modeling Bounded Contexts.

### Which DDD Patterns are supported by CML?
Have a look at our [CML Reference - Introduction](/docs/language-reference/) page. You will find all patterns supported by CML there.
Expand All @@ -25,12 +22,11 @@ Have a look at the page [Language Semantic Model](/docs/language-model/). It int
The tactic DDD part of our DSL is based on the [Sculptor DSL](https://sculptor.github.io/). We provide a short introduction and examples how you can detail your bounded contexts on the pages [Aggregate](/docs/aggregate/) and [Tactic DDD Syntax](/docs/tactic-ddd/). If you are interested in more details and all features, we refer to the [Sculptor documentation](https://sculptor.github.io/documentation/advanced-tutorial).

### Which transformations can I apply to my CML model? Which generators are available?
Currently you can generate [Microservice Domain-Specific Language (MDSL)](https://microservice-api-patterns.github.io/MDSL-Specification/) (micro-)service contracts providing assistance regarding how your system can be implemented in an (micro-)service-oriented architecture, [Service Cutter](http://servicecutter.github.io/) input to get suggestions for service cuts or new bounded context, and you can generate UML ([PlantUML](http://plantuml.com/)) diagrams out of your CML. The following pages explain the generators in detail:
Currently you can generate [Microservice Domain-Specific Language (MDSL)](https://microservice-api-patterns.github.io/MDSL-Specification/) (micro-)service contracts providing assistance regarding how your system can be implemented in an (micro-)service-oriented architecture, and you can generate UML ([PlantUML](http://plantuml.com/)) diagrams out of your CML. The following pages explain the generators in detail:

* [Generate graphical Context Maps](/docs/context-map-generator/)
* [Generate PlantUML diagrams](/docs/plant-uml/)
* [Generate MDSL (micro-)service contracts](/docs/mdsl/)
* [Generate Service Cutter input files](/docs/service-cutter/)
* [Generate arbitrary text files](/docs/generic-freemarker-generator/) (with Freemarker templates)

### How can I refactor my CML model?
Expand Down
2 changes: 1 addition & 1 deletion _docs/generators/bpmn-sketch-miner.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ BoundedContext InsuranceQuotes {
```

## Open Flow in BPMN Sketch Miner
The Context Mapper IDEs ([VS Code extension](/docs/vs-code/) as well as [Eclipse plugin](/docs/eclipse/)) allow you to open a flow in [BPMN Sketch Miner](https://www.bpmn-sketch-miner.ai/) with two (or max. three) clicks. The following example illustrates this in VS Code (Eclipse works the same way).
The [VS Code extension](/docs/vs-code/) allows you to open a flow in [BPMN Sketch Miner](https://www.bpmn-sketch-miner.ai/) with two (or max. three) clicks:

Once you modelled your flow in CML, the editor will show a message and a light bulb on the line with the _flow name_:

Expand Down
2 changes: 1 addition & 1 deletion _docs/generators/context-map-generator.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ Depending on how you configure the the generator (clustering parameter), it will
<a href="/img/TeamMap-Illustration-2.png">![Team Map Example (Clustered)](/img/TeamMap-Illustration-2.png)</a>

## Generating Context Maps
The generators can be called from the context menus of the CML editors in VS Code or Eclipse. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).
The generators can be called from the context menu of the CML editor in VS Code. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).

**Note:** All generator outputs will be generated into the *src-gen* folder.

Expand Down
7 changes: 0 additions & 7 deletions _docs/generators/generators.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,6 @@ Alternatively you find them in the command palette (Ctrl+Shift+P):

<a href="/img/generators-in-vscode-2.png">![Generators in the VS Code Command Palette](/img/generators-in-vscode-2.png)</a>

### Eclipse
The generators can be accessed through the Context Menu in the project explorer (right-click to *.cml file) or directly in the CML editor as the following screenshot shows:

<a href="/img/generators-context-menu.png">![Generators Context Menu in Eclipse](/img/generators-context-menu.png)</a>

_Note_: In the CML editor, you can also access all generators with the keybinding **Shift+Alt+G** quickly.

## Graphical Context Maps
The Context Map generator allows you to transform the CML Context Map into graphical representation inspired by the illustrations of
[Vernon](https://www.amazon.de/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577) and
Expand Down
26 changes: 7 additions & 19 deletions _docs/generators/generic-freemarker-generator.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,10 @@ The root level of the model contains the following elements:
|
+- fileName name of CML file
|
+- projectName name of Eclipse project
|
+- contextMapperVersion version of the Context Mapper plugin and the CML language
|
+- userName name of the current system user
```

The corresponding CML objects and their syntax can be found in our language reference: [Context Map](/docs/context-map/), [Bounded Context](/docs/bounded-context/), [Domains and Subdomains](/docs/subdomain/), [imports](/docs/imports/), [use cases](/docs/aggregate/#use-case-declaration).
The corresponding CML objects and their syntax can be found in our language reference: [Context Map](/docs/context-map/), [Bounded Context](/docs/bounded-context/), [Domains and Subdomains](/docs/subdomain/), [imports](/docs/imports/), [use cases](/docs/user-requirements/).

### Context Map
The _contextMap_ root element of the model contains the following data (the values in double quotes `"..."`are just examples):
Expand Down Expand Up @@ -406,10 +402,10 @@ The following additional attributes are currently available on the root level of

* _timestamp:_ generation time stamp (for example _26.02.2020 17:20:40 CET_)
* _filename:_ name of the CML file (for example _ExampleModel.cml_)
* _projectName:_ name of the Eclipse project that contains the CML file
* _contextMapperVersion:_ the current version of Context Mapper that was used to generate the output (for example _v5.9.4_)
* _userName:_ the name of the user that generated the output (OS username)

The attributes _projectName_ and _contextMapperVersion_ were only set by the discontinued Eclipse plugin. Templates that use them should provide a default value (for example `${projectName!"undefined"}`).

## Helper Functions
The following functions can be used in the Freemarker templates to help processing the model described above:

Expand Down Expand Up @@ -462,26 +458,18 @@ To use our generic, [Freemarker](https://freemarker.apache.org/) template-based
* The input CML model (*.cml)
* The [Freemarker](https://freemarker.apache.org/) template (*.ftl)

The generator can be called from the context menus of the CML editors in VS Code or Eclipse. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).
The generator can be called from the context menu of the CML editor in VS Code. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).

**Note:** All generator outputs will be generated into the *src-gen* folder.

Eclipse as well as VS Code will ask you to choose a *.ftl file from your filesystem and to define the output file name (which will then be generated into _src-gen_).
VS Code will ask you to choose a *.ftl file from your filesystem and to define the output file name (which will then be generated into _src-gen_).

### Freemarker Version
Context Mapper uses [Freemarker](https://freemarker.apache.org/), currently Version 2.3.30.
Context Mapper uses [Freemarker](https://freemarker.apache.org/), currently Version 2.3.35.

## Example Templates

### Eclipse
The Context Mapper Eclipse plugin comes with sample Freemarker templates. Use the _Freemarker Generator Template Examples_ wizard via _File -> New -> Example..._ to create the sample project containing the Freemarker templates:

<a href="/img/screenshot-new-freemarker-example-project-1.png">![Create Sample Project with Freemarker Templates (1)](/img/screenshot-new-freemarker-example-project-1.png)</a>

<a href="/img/screenshot-new-freemarker-example-project-2.png">![Create Sample Project with Freemarker Templates (2)](/img/screenshot-new-freemarker-example-project-2.png)</a>

### Visual Studio Code
In VS Code we do not deliver the example templates with the extension itself. However, you can just download the *.ftl files from [here](https://github.com/ContextMapper/context-mapper-dsl/tree/master/samples/freemarker) and use it with our generator in VS Code.
We do not deliver the example templates with the extension itself. However, you can just download the *.ftl files from [here](https://github.com/ContextMapper/context-mapper-dsl/tree/master/samples/freemarker) and use them with our generator.

### Provided Examples
The project currently contains the following example templates:
Expand Down
2 changes: 1 addition & 1 deletion _docs/generators/mdsl.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ As illustrated above, the patterns on the endpoint/resource level are added with
Please refer to the pattern texts on the MAP website for explanations of these decorators.

## Generating the MDSL Contracts
The generators can be called from the context menus of the CML editors in VS Code or Eclipse. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).
The generators can be called from the context menu of the CML editor in VS Code. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).

**Note:** All generator outputs will be generated into the *src-gen* folder.

Expand Down
4 changes: 2 additions & 2 deletions _docs/generators/plant-uml.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ In case you modelled a value register in CML, which you can do as documented [he
<a href="/img/value-impact-map-sdd-sample.png">![PlantUML Value Impact Map](/img/value-impact-map-sdd-sample.png)</a>

## Generating the PlantUML Diagrams
The generators can be called from the context menus of the CML editors in VS Code or Eclipse. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).
The generators can be called from the context menu of the CML editor in VS Code. A documentation how to call the generators can also be found [here](/docs/generators/#using-the-generators).

Once you generated the `.puml` files, you can of course not only view them in Eclipse or VS Code but also process them further. For instance, they can be integrated into Markdown and [pandoc](https://pandoc.org/extras.html) nicely.
Once you generated the `.puml` files, you can of course not only view them in VS Code but also process them further. For instance, they can be integrated into Markdown and [pandoc](https://pandoc.org/extras.html) nicely.

**Note:** All generator outputs will be generated into the *src-gen* folder.
4 changes: 4 additions & 0 deletions _docs/generators/service-cutter.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ title: Service Cutter Generators
permalink: /docs/service-cutter/
---

<div class="alert alert-custom">
<strong>Note:</strong> The Service Cutter integration was <strong>removed in Context Mapper 6.10.0</strong>. This page describes the feature for older versions.
</div>

## Introduction and Motivation
The [Service Cutter](http://servicecutter.github.io/) tool provides a structured way to service decomposition. Our _Service Cutter Input Generators_ allow you to generate the [input files for Service Cutter](https://github.com/ServiceCutter/ServiceCutter/wiki/User-Representations). The prototypical integration of Service Cutter demonstrates the opportunity to generate suggestions how to further decompose a context-modeled system.

Expand Down
Loading
Loading