Skip to content

Commit

Permalink
Merge pull request #44 from vertigo-io/master
Browse files Browse the repository at this point in the history
update dao, WIP translation en
  • Loading branch information
NPi2Loup authored Apr 5, 2024
2 parents d867762 + 828f000 commit 5f8e571
Show file tree
Hide file tree
Showing 30 changed files with 727 additions and 4 deletions.
9 changes: 9 additions & 0 deletions _navbar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
* Translations
* :fr: **Français**
* [:us: <ins>English</ins>](en/)

* <span><strong>Vertigo sites</strong></span>

* [Website](https://vertigo.io/)
* [Github](https://github.com/vertigo-io)
* [Discord](https://discord.gg/6DngkVh)
24 changes: 21 additions & 3 deletions basic/dao.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,12 @@ La requête est un champ texte qui contient le traitement à effectuer.

Ce champ permet l'utilisation des paramètres d'entrées sous forme de paramètres bindés à l'aide de la syntaxe suivante :

- *#nomParametre#* : pour un paramètre primitif
- *#nomParametrePrimitif#* : pour un paramètre primitif
- *#nomParametrePrimitif.rownum#* : pour un paramètre de type liste de primitif et utilisation d'un champ dans le cadre des requêtes de type batch

- *#nomParametre.champ#* : pour un paramètre de type objet et utilisation d'un champ
- *#nomParametre.index.champ#* : pour un paramètre de type liste d'objet et utilisation d'un champ (à utiliser pour les clauses de type IN
- *#nomParametre.champ#* : pour un paramètre de type liste et utilisation d'un champ dans le cadre des requêtes de type batch
- *#nomParametreList.index.champ#* : pour un paramètre de type liste d'objet et utilisation d'un champ (*à utiliser pour les clauses de type Where IN(...)*)
- *#nomParametreList.champ#* : pour un paramètre de type liste et utilisation d'un champ dans le cadre des requêtes de type batch

D'autre part, il est également possible d'apporter du dynamisme dans les requêtes avec l'utilisation de la syntaxe `<%><%>` qui permet d'intercaler du code Java qui sera interprété à l'exécution. Ceci est notamment utilisé afin d'activer ou désactiver des parties de requêtes.

Expand Down Expand Up @@ -167,5 +168,22 @@ public DtList<Actor> getActorsByMovie2(final Long movId) {
}
```

### Exemple de TaskEngineProcBatch

Avec un taskEngine de type TaskEngineProcBatch, il est possible d'appliquer les champs des éléments de la liste ligne par ligne pour faire des mises à jour ensembliste.

Comme ceci :
```json
create Task TkUpdateActorsNameBatch {
className : "io.vertigo.basics.task.TaskEngineProcBatch"
request : "
UPDATE actor
SET name = #actors.name#
WHERE act_id = #actors.actId#;
"
int actors {domain : DoDtActor cardinality:"*" }
out intSqlRowcount {domain : DoNumber cardinality: "1" }
}
```

Cet exemple est fictif, dans beaucoup de cas il est plus simple de passer par le DAO de l'entité et sa méthode `updateList(final DtList<E> entities)`.
28 changes: 28 additions & 0 deletions en/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Vertigo : Boost your apps

?> Boost your apps, or how to create value in your projects, better and faster.

[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)

**Vertigo** is a Java platform for building modern, comprehensive, maintainable, and scalable business applications or information systems.

It is designed to maximize value addition:
- Simple tasks are straightforward.
- More complex tasks are handled by minimizing their impact through plug-ins.
- Several high-value components are provided out-of-the-box, including modern UI, search functionality, and security features.

The automotive industry has embraced the concept of a “platform,” allowing rapid creation of different models (sedans, compacts, SUVs, etc.) from a common base. Customizations and options enhance the range of choices while sharing costs, minimizing industrial risks, and maximizing value for customers.

**Vertigo**, applies this principle to information systems and digital services. Its core application ensures robustness, quality, and development efficiency. Innovative options can be added based on business objectives. **Vertigo** is an *Opinionated Software Development Framework*, maximizing development efficiency for business applications (especially management applications) while allowing flexibility beyond that scope. Unlike broad general-purpose frameworks, it excels in its domain while still accommodating a wide range of use cases.


**Vertigo**, as the core application of the platform, natively incorporates all essential components for a modern application: search, security, mobility, analytics, and data visualization.

Here’s a breakdown of the components that make up Vertigo:

- [**Vertigo-Core**](/overview/core) : A powerful and lightweight Java framework.
- [**Vertigo-Extensions**](/overview/extensions) : A collection of extension modules that address key challenges in business applications, allowing rapid development
- [**Vertigo-Connectors**](/overview/connectors) : A set of low-level connectors to third-party libraries and products, simplifying development in edge cases
- [**Vertigo-Studio**](/overview/studio) : A dedicated design tool for business applications, enhancing efficiency and consistency

Vertigo empowers developers to create robust and efficient applications while maintaining flexibility beyond typical management applications. It’s a platform designed to maximize value and accelerate project delivery
9 changes: 9 additions & 0 deletions en/_navbar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
* Translations
* [:fr: <ins>Français</ins>](/)
* :us: **English**

* <span><strong>Vertigo sites</strong></span>

* [Website](https://vertigo.io/)
* [Github](https://github.com/vertigo-io)
* [Discord](https://discord.gg/6DngkVh)
70 changes: 70 additions & 0 deletions en/_sidebar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<hr/>
<h3 class="q-version-select">
Vertigo
<select id="versions" onchange="javascript:location.href=this.value+location.hash">
<!-- <option value="/vertigo-docs/v2.1.0/">v2.1.0 (current)</option> -->
</select>
</h3>
<hr/>

- Introduction
- [Why Vertigo ?](/en/intro/why.md)
- [Philosophy](/en/intro/philosophie.md)
- [References](/en/intro/references.md)
- [Ecosystem](/en/intro/ecosystem.md)
- Overview
- [Core](/en/overview/core.md)
- [Extensions](/en/overview/extensions.md)
- [Connectors](/en/overview/connectors.md)
- [Studio](/en/overview/studio.md)
- Getting-started
- [Prerequisites](/en/getting-started/requirements.md)
- [How to Start the Engine…](/en/getting-started/helloworld.md)
- [Real world Hello World !](/en/getting-started/realworld_helloworld.md)
- To Get Started
- [Concepts](/en/basic/concepts.md)
- [Configuration](/en/basic/configuration.md)
- [Components](/en/basic/composants.md)
- [MDA](/en/basic/mda.md)
- [Data Access](/en/basic/dao.md)
- [Search](/en/basic/recherche.md)
- [Security](/en/basic/securite.md)
- [Web Services](/en/basic/webservices.md)
- [UI](/en/basic/ui.md)
- [Analytics](/en/basic/analytics.md)
- Going Further
- [Commons](/en/extensions/commons.md)
- [DataModel](/en/extensions/datamodel.md)
- [Account](/en/extensions/account.md)
- [Vega](/en/extensions/vega.md)
- [UI](/en/extensions/ui.md)
- [Orchestra](/en/extensions/orchestra.md)
- [Quarto](/en/extensions/quarto.md)
- [Design System](/en/design-system/intro.md)
- [Atomes](/en/design-system/atoms.md)
- Molecules
- [Buttons](/en/design-system/molecules/buttons.md)
- [Forms](/en/design-system/molecules/form.md)
- [Grid](/en/design-system/molecules/grid.md)
- [Text Input](/en/design-system/molecules/text-input.md)
- [Numeric Input](/en/design-system/molecules/numeric-input.md)
- [Boolean Input](/en/design-system/molecules/boolean-input.md)
- [Date Input](/en/design-system/molecules/date-input.md)
- [Selection](/en/design-system/molecules/select-input.md)
- [Geolocation](/en/design-system/molecules/geolocation-input.md)
- Organismes
- [Blocs](/en/design-system/organismes/block.md)
- [Collections](/en/design-system/organismes/collections.md)
- [Card Lists](/en/design-system/organismes/cards.md)
- [Item Lists](/en/design-system/organismes/items.md)
- [Tables](/en/design-system/organismes/table.md)
- [Menu](/en/design-system/organismes/menu.md)
- Templates
- [General Structure](/en/design-system/templates/structure.md)
- [Tabs](/en/design-system/templates/tab.md)
- [Editing/Consultation](/en/design-system/templates/read-edit.md)
- [Search](/en/design-system/templates/search.md)
- <a href="apidocs/index.html" target="_blank">API documentation</a>
- [Changelog](/en/changes.md)
- [Changelog-extensions](/en/changes-extensions.md)
- [FAQ](/en/extensions/faq.md)
Empty file added en/intro/benefices.md
Empty file.
16 changes: 16 additions & 0 deletions en/intro/ecosystem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Technological Ecosystem

Vertigo is a base built on standard infrastructure bricks

![](./images/techno_infra.png)


It aggregates and binds specialized technologies…

![](./images/techno_impl.png)


…and allows you to simply extend your applications to complete market tools

![](./images/techno_extension.png)

Binary file added en/intro/images/designPrinciples.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/elastic-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/elastic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/fast-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/fast.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/fluid-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/modular-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/modularity.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/simple-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/techno_extension.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/techno_impl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/techno_infra.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/vertigo_chiffres.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added en/intro/images/vertigo_refs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions en/intro/philosophie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Objectives
Our goal in building Vertigo is to provide an application framework that is:

- Centered around needs
- Informed by experience
- Consistent, yet flexible
- Simple—making straightforward tasks easy
- Open—allowing for more complex operations

To achieve this, Vertigo adheres to the following design principles.

# Design Principles

![](./images/designPrinciples.png)

# Simple
![](./images/simple-icon.png)John Maeda, a design professor at MIT, authored a book titled The Laws of Simplicity, where he outlines principles of simplicity. The final law succinctly captures the essence :

**Simplicity is about subtracting the obvious, and adding the meaningful.**

# Modular
![](./images/modular-icon.png)Modularity is a key element in computer systems and forms the foundation of UNIX. As Eric Raymond states in his work Basics of the Unix Philosophy:

**Rule of Modularity : Write simple parts connected by clean interfaces.**

![](./images/modularity.png)

# Elastic
![](./images/elastic-icon.png)Elasticity refers to a system’s ability to distribute processing in order to:

- Handle heavy loads
- Confine specific tasks to dedicated servers

![](./images/elastic.png)

# Fast
![](./images/fast-icon.png)According to usability expert Jacob Nielsen, there are three critical timeframes for user attention. Our goal is to **build applications that respond instantly**.

- 0.1 seconds provides an instantaneous feeling of response
- 1 second maintains the user’s flow of thought
- 10 seconds is the limit for keeping the user engaged in the dialogue

![](./images/fast.png)

# Fluid
![](./images/fluid-icon.png)Because users perceive applications through their interfaces, it’s crucial for the interface to be fluid and ergonomic.
12 changes: 12 additions & 0 deletions en/intro/references.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Vertigo in numbers

Vertigo has been forged, enriched, demonstrated, through

![](./images/vertigo_chiffres.png)

# References

Vertigo is deployed at numerous actors

![](./images/vertigo_refs.png)

28 changes: 28 additions & 0 deletions en/intro/why.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Vertigo : Boost your apps

?> Boost your apps, or how to create value in your projects, better and faster.

[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)

**Vertigo** is a Java platform for building modern, comprehensive, maintainable, and scalable business applications or information systems.

It is designed to maximize value addition:
- Simple tasks are straightforward.
- More complex tasks are handled by minimizing their impact through plug-ins.
- Several high-value components are provided out-of-the-box, including modern UI, search functionality, and security features.

The automotive industry has embraced the concept of a “platform,” allowing rapid creation of different models (sedans, compacts, SUVs, etc.) from a common base. Customizations and options enhance the range of choices while sharing costs, minimizing industrial risks, and maximizing value for customers.

**Vertigo**, applies this principle to information systems and digital services. Its core application ensures robustness, quality, and development efficiency. Innovative options can be added based on business objectives. **Vertigo** is an *Opinionated Software Development Framework*, maximizing development efficiency for business applications (especially management applications) while allowing flexibility beyond that scope. Unlike broad general-purpose frameworks, it excels in its domain while still accommodating a wide range of use cases.


**Vertigo**, as the core application of the platform, natively incorporates all essential components for a modern application: search, security, mobility, analytics, and data visualization.

Here’s a breakdown of the components that make up Vertigo:

- [**Vertigo-Core**](/overview/core) : A powerful and lightweight Java framework.
- [**Vertigo-Extensions**](/overview/extensions) : A collection of extension modules that address key challenges in business applications, allowing rapid development
- [**Vertigo-Connectors**](/overview/connectors) : A set of low-level connectors to third-party libraries and products, simplifying development in edge cases
- [**Vertigo-Studio**](/overview/studio) : A dedicated design tool for business applications, enhancing efficiency and consistency

Vertigo empowers developers to create robust and efficient applications while maintaining flexibility beyond typical management applications. It’s a platform designed to maximize value and accelerate project delivery
77 changes: 77 additions & 0 deletions en/overview/connectors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Vertigo-Connectors

The *Connectors* are somewhat special components. Their purpose is to provide other components with a pre-configured client/driver for a third-party product or library to simplify its use for the application developer.
The advantage of such an approach is twofold:

- **Simplify** the technological openness of Vertigo to include more innovation with controlled risk
- **Help** the developer in edge cases that require the use of advanced functions of third-party products and libraries

While the __extensions__ offer "high-level" usage-oriented APIs and therefore of great stability, the __connectors__ provide "low-level" access directly subject to the evolutions of third-party solutions.

!> The use of __connectors__ in an application must be reasoned in order to minimize and centralize adhesions to third-party products and thus facilitate the scalability of the application.

?> The plugins included in the Vertigo extensions use the __connectors__ to access third-party products and libraries.

In the context of a project, it is very simple to add a new *Connector* if needed. This allows in particular to take advantage of the configuration mechanisms of a Vertigo application to configure the client/driver of the third-party library

Each third-party solution has a dedicated module and possibly offers several *Connectors* if several access modalities are possible.

The __connectors__ included in Vertigo are as follows

## vertigo-redis-connector

> Access to the [Jedis](https://github.com/redis/jedis) client
## vertigo-elasticsearch-connector

> Access to the [elasticsearch](https://github.com/elastic/elasticsearch) client, and starts an embedded ElasticSearch server
## vertigo-javalin-connector

> Starts a local [Javalin](https://github.com/tipsy/javalin) server or in Servlet Filter mode
## vertigo-influxdb-connector

> Access to the [influxdb-java](https://github.com/influxdata/influxdb-java) client
## vertigo-keycloak-connector

> Access to the Java client [KeyCloak](https://github.com/keycloak/keycloak)
## vertigo-ldap-connector

> Accesses an LDAP server via native Java APIs
## vertigo-mail-connector

> Provides a mail client via native Java APIs either directly or a JNDI resource
## vertigo-mongodb-connector

> Access to the Java client [mongodb-driver-sync](https://github.com/mongodb/mongo-java-driver)
## vertigo-mqtt-connector

> Access to the MQTT Java client [Paho](https://github.com/eclipse/paho.mqtt.java)
## vertigo-neo4j-connector

> Access to the Java bolt client of [Neo4j](https://github.com/neo4j/neo4j-java-driver)
!> Starts a local Neo4J server (GPLv3 license)
## vertigo-openstack-connector

> Access to the Java client [openstack4j](https://github.com/openstack4j/openstack4j)
## vertigo-spring-connector

> Enriches the spring component space with Vertigo components to allow interoperability with [Spring](https://github.com/spring-projects/spring-framework) via the `@EnableVertigoSpringBridge` annotation
## vertigo-twitter-connector

> Access to the Java client [Twitter4j](https://github.com/Twitter4J/Twitter4J)
## vertigo-iftt-connector

> Accesses certain functions of the IFFT API via native code
Loading

0 comments on commit 5f8e571

Please sign in to comment.