Archetype

Revision as of 13:59, 13 May 2024 by Admin (talk | contribs) (Created page with "= Archetype = The Archetype language is designed to provide a unified and consistent way to describe the organization of files and directories in a file system, thus facilitating data integration and management across various applications. This document provides a detailed description of the syntax and functionalities of the Archetype language, illustrated with a practical example. ==Main Features== Archetype is designed with a range of functionalities that support the...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Archetype

The Archetype language is designed to provide a unified and consistent way to describe the organization of files and directories in a file system, thus facilitating data integration and management across various applications. This document provides a detailed description of the syntax and functionalities of the Archetype language, illustrated with a practical example.

Main Features

Archetype is designed with a range of functionalities that support the access to filesystem. The key features include:

Unification

Archetype allows for the uniform description of directory and file structures across multiple applications.

Flexibility

It offers customized methods for constructing file paths based on dynamic parameters, increasing flexibility in data handling.

Maintainability

Facilitates updating and maintaining directory structures without modifying the source code of the applications that access these data.

Scalability

Assists applications in efficiently scaling by consistently managing data structures across different environments or platforms.

DSL

The syntax of Archetype is based on the definition of blocks representing directories and subdirectories, as well as specific files within those directories. Below is a detailed example that illustrates the main features of the language.

TARGETS:{bussiness-unit}

+ datavault in "datavault" + logs - of(server, app, name) in "{server}/{app}/{name}"

+ datalake

+ repository in "documents" + employees - getPhoto(employee) in "{employee}" - getSignature(employee) in "signatures/{employee}.png" - schedulePdf(employee, date) in "{employee}/schedules/pdf/{date}.pdf" - scheduleJson(employee, date) in "{employee}/schedules/json/{date}.json" + workorders - getStoreDirectory(id) in "{id}" + workreports - workReports(date as timetag: day) in "{date}" with ".pdf" - workReport(date as timetag: day, employee, instant) in "{date}/{employee}.{instant}.pdf" + uploads - getUploadZipFile(id) in "{id}.zip"