Skip to content

Commit

Permalink
more writing samples
Browse files Browse the repository at this point in the history
  • Loading branch information
vinnciane committed Apr 8, 2024
1 parent ddddbc7 commit 1bdf006
Show file tree
Hide file tree
Showing 5 changed files with 282 additions and 31 deletions.
12 changes: 10 additions & 2 deletions content/samples/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@ weight: 100
---


About these writing samples
Welcome to this collection of technical writing samples.

Samples of technical writing work
In this compilation, you will find a variety of technical documents spanning different industries and subjects,

Several types of topics created for the software industry:
a procedure
a concept
a troubleshooting article


a CLI documentation, for a sample of writing for a product without a graphical UI.

214 changes: 214 additions & 0 deletions content/samples/cli-documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
---
title: Writing sample for a product without a graphical interface (CLI)
linktitle: CLI documentation
type: docs
weight: 500
---


## The Command Line Interface (CLI)

The Anonymizer Command Line Interface executes predefined anonymization processes from the command line. Use the CLI to:

- list the rules, engines or anonymization projects defined on your Anonymizer Server,
- executes anonymization projects on either a Design Server or a Production Server,
- display the status of project executions.

>Important!
The CLI launches processes from the Anonymizer Server using the login of a defined user. That user must have all the rights required to run the processes called by the CLI.

The DOT Anonymizer CLI is distributed as a zip file. Extract the content into the folder of your choice. Go to the */bin* folder to launch the CLI.

>Note
The CLI needs to have access to a Java 8 Runtime Environment that needs to be installed and accessible from anywhere in a command line terminal (run *\<code\>java -version \</code\>* to find the current accessible Java version).
To call any action using the CLI, the following syntax is used: `anonymizer` *\<subcommand\> \<parameters\>*.

Support of the commands from the previous versions of Anonymizer CLI is maintained. Refer to the command **alias** to know the previous name of a command.

### Common parameters

The following parameters are common to all CLI commands.

`-H`, `--help`
Display the help message for the command.

`-S`, `--server`
*\[Required\]* The URL of the Anonymizer Server to which to connect.

`-U`, `--user`
*\[Required\]* The user used to connect to the Anonymizer Server.

`-P`, `--password`
*\[Required\]* The password used to connect to the Anonymizer Server.

`-C`, `--crypted`
Required if the password is Base64 encrypted.

`-L`, `--log-file`
The path to the file where the logs will be written.

`-V`, `--verbose`
Enable debug and trace log levels.

### project

Alias: `anyListProject`

This command sends a request to list all the existing anonymization projects or get information about a specific project on an Anonymizer Server.

Usage: `anonymizer project [-CHV] -P[=<password>] [-P[=<password>]]... [-L=<logFile>] [-n=<name>] -S=<serverURL> -U=<user>`.

`-n`, `--name`
The name of the project.

### rule

Alias: `anyRuleList`

This command sends a request to list all the existing project rules or get information about a specific rule on an Anonymizer Server.

Usage: `anonymizer rule [-CHV] -P[=<password>] [-P[=<password>]]...[-L=<logFile>] [-n=<name>] -S=<serverURL> -U=<user>`

`-n`, `--name`
The name of the rule.

### engine

Alias: `anyEngineList`

This command sends a request to list all the existing project engines or get information about a specific engine on an Anonymizer Server.

Usage: `anonymizer engine [-CHV] -P[=<password>] [-P[=<password>]]...[-L=<logFile>] [-n=<name>] -S=<serverURL> -U=<user>`

`-n`, `--name`
The name of the engine.

### status

This command sends a request to list the statuses of all the existing project executions or get details of about the status of a specific project.

Usage: `anonymizer status [-CHV] -P[=<password>] [-P[=<password>]]...[-L=<logFile>] [-n=<name>] -S=<serverURL> -U=<user>`

`-n`, `--name`
The execution session name to get the status.

### executeProject

Alias: `anyAnonymizeProject`

This command sends a request to execute a predefined anonymization project.

Usage: `anonymizer executeProject [-CHV] [-e[=<execute>]] [-w[=<wait>]] -P[=<password>] [-P[=<password>]]...[-L=<logFile>] [--parameters=<parameters>][-pc=<projectCode>] -S=<serverURL> [-sn=<sessionName>] -U=<user> [-sp=<sessionProperties>[,<sessionProperties>...]]...`

`-pc`, `--projectCode`
The code of the project to execute.

Alias: `-any.projectcode`

`-sn`, `--sessionName`
The name/ID of the execution instance to run.

Alias: `-any.execname`

`-sp`, `--sessionProperties`
This parameter is used to declare the parameters of the execution session.

`-w`, `--wait`
When this option is defined, the command waits for the end of the anonymization project and for the project to return to a simple status (for example: `Anonymization Project Status : OK` or `Anonymization Project Status : ERROR`).

By default, this option is activated and set to true.

Alias: `-any.wait`

`-e`, `--execute`
Create and run an execution instance. By default, this option is activated and set to true.

`--parameters`
The project's execution parameters. Add the project parameter values in JSON format.
`{"$param_schema":"schema",`
`"$server":"server"}`

In parameters, avoid characters that can be interpreted as a JSON separator; for example for *server:port* in connection URL, use two parameters.

Alias: `-any.parameters`

### executeProductionProject

Alias: `anyProdAnonymizeProject`

This command sends a request to execute a predefined anonymization project, from the production server. Additional parameters also allow the modification of data sources.

Usage: `anonymizer executeProductionProject [-CHV] [-e[=<execute>]] [-w[=<wait>]] -P[=<password>] [-P[=<password>]]... [-dsp=<datasourcePass>][-dsu=<datasourceUser>] [-dsurl=<datasourceUrl>] [-L=<logFile>][--parameters=<parameters>] -pc=<projectCode> -pv=<projectVersion>-S=<serverURL> [-sn=<sessionName>] -U=<user> [-sp=<sessionProperties>[,<sessionProperties>...]]...`

`-dsp`, `--datasourcePassword`
Makes it possible to override the data source password.

Alias: -any.datasource.pass

`-dsu`, `--datasourceUser`
Makes it possible to override the data source user.

Alias: `-any.datasource.user`

`-dsurl`, `--datasourceUrl`
Makes it possible to override the data source URL.

Alias: `-any.datasource.url`

`-pc`, `--projectCode`
The code of the project.

Alias: `-any.projectcode`

`-pv`, `--version`
The version of the project to execute.

Alias: `-any.projectversion`

`-sn`, `--sessionName`
The name of the execution.

Alias: `-any.execname`

`-sp`, `--sessionProperties`
Makes it possible to declare the parameters of the execution session.

`-umv`, `--useMainVersion`
This parameter is used to execute the main version of the project package, if it is defined.

`-w`, `--wait`
Makes it possible to wait for the end of the anonymization process. By default, this option is activated and set to true.

`-e`, `--execute`
Create and execute an execution session. By default, this option is activated and set to true.

`--parameters`
The project's execution parameters. Add the project parameter values in JSON format.
`{"$param_schema":"schema",`
`"$server":"server"}`

In parameters, avoid characters that can be interpreted as a JSON separator; for example for *server:port* in connection URL, use two parameters.

Alias: `-any.parameters`

### productionProjectPackage

This command sends a request to list all the Project Packages on a Production Server.

Usage: `anonymizer productionProjectPackage [-CHV] -P[=<password>] [-P[=<password>]]... [-L=<logFile>] -S=<serverURL> -U=<user>`

### productionStatus

This command sends a request to list the statuses of all the existing project executions or get details of about the status of a specific project on a Production Server.

Usage: `anonymizer productionStatus [-CHV] -P[=<password>] [-P[=<password>]]...[-L=<logFile>] [-n=<name>] -S=<serverURL>-U=<user>`

`-n`, `--name`
The name of the execution session to get the status.



## live documentation

Click the link to see the [live documentation](https://help-dot-anonymizer.arcadsoftware.com/en-us/Topics/Tools/Anonymizer-CLI.htm)
62 changes: 34 additions & 28 deletions content/samples/concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,54 +7,59 @@ weight: 200

## Main concepts

### What is DROPS WAP
The DROPS WAP solution is an ARCAD application with a monitoring Web interface.
The DROPS WAP process is fully integrated with the ARCAD deployments: the distribution macro-commands call the DROPS WAP functions. Execute the macro-commands in ARCAD and monitor the results in the DROPS WAP Web Studio.
### What is \[PRODUCT\]
The \[PRODUCT\] solution is an \[REDACTED\] application with a monitoring Web interface.
The \[PRODUCT\] process is fully integrated with the \[REDACTED\] deployments: the distribution macro-commands call the \[PRODUCT\] functions. Execute the macro-commands in \[REDACTED\] and monitor the results in the \[PRODUCT\] Web App.

### How DROPS WAP works
### How \[PRODUCT\] works

ARCAD application variables are used to control if DROPS WAP is proposed when distributing a release to a target site.​
The standard ARCAD macro-command (DISTRIB) starts and ends the DROPS WAP replication and synchronization process. The progress of the replication and synchronization is monitored with the DROPS WAP Web Studio.​
Files under DROPS WAP pass through two stages: replication and then synchronization.​
Data from production files is replicated into the new file formats in DROPS WAP library.​
New format data is kept in synchronization with production changes via IBM i Journals.​
The synchronization is maintained until DROPS WAP stops.​
DROPS WAP can be stopped and re-started, such as to perform a system backup. It maintains its last known replication or synchronization in its memory.​
DROPS WAP is stopped by a macro-command after ending application activity. The macro-command invokes ARCAD to move the new files and other objects into target libraries.
\[REDACTED\] application variables are used to control if \[PRODUCT\] is proposed when distributing a release to a target site.​

### DROPS WAP in action
The standard \[REDACTED\] macro-command (DISTRIB) starts and ends the \[PRODUCT\] replication and synchronization process. The progress of the replication and synchronization is monitored with the \[PRODUCT\] Web Studio.​

*Setup up the solution*
Files under \[PRODUCT\] pass through two stages: replication and then synchronization.​

* Activate the use of DROPS WAP with the ARCAD distribution process on the development site (Setup on the Development site) and the production (target) site (Setup on the Production site).
* Data from production files is replicated into the new file formats in \[PRODUCT\] library.​
* New format data is kept in synchronization with production changes via IBM i Journals.​
* The synchronization is maintained until \[PRODUCT\] stops.​

* Configure the DROPS WAP Web Studio to work with your ARCAD server (Source connectors).
\[PRODUCT\] can be stopped and re-started, such as to perform a system backup. It maintains its last known replication or synchronization in its memory.​

\[PRODUCT\] is stopped by a macro-command after ending application activity. The macro-command invokes \[REDACTED\] to move the new files and other objects into target libraries.

*Analyze your files*
### \[PRODUCT\] in action

* The first general consideration when using DROPS WAP is to make sure you know what files to include in the process. Analyze your application and decide what files to include.
***Setup up the solution***

* Activate the use of \[PRODUCT\] with the \[REDACTED\] distribution process on the development site (*\[link\]* Setup on the Development site) and the production (target) site (*\[link\]* Setup on the Production site).

*Launch DROPS WAP with ARCAD macro-commands*
* Configure the \[PRODUCT\] Web Studio to work with your \[REDACTED\] server (*\[link\]* Source connectors).

* Run the DISTRIB macro-command to start the distribution of your application release (Distributing with macros).

* Edit and validate the list of files to be managed with DROPS WAP (Edit the list of files (LSTWAP)) when the macro-command displays this list.
***Analyze your files***

* Ensure the process of DROPS WAP starts (Montoring DWBASE and DWSTRJRNE​ jobs launched to batch).
* The first general consideration when using \[PRODUCT\] is to make sure you know what files to include in the process. Analyze your application and decide what files to include (*\[link\]* Analyze your application).


*Monitor progress with the DROPS WAP Web Studio*
***Launch \[PRODUCT\] with \[REDACTED\] macro-commands***

* Monitor the progress of the replication and the synchronization on the DROPS WAP Web Studio (Monitoring file replication).
* Run the DISTRIB macro-command to start the distribution of your application release (*\[link\]* Distributing with macros).

* Wait until all files are copied and synchronized with journals before stopping the live application environment where the new release will be installed. DROPS WAP keeps the file data synchronized until you stop it.
* Edit and validate the list of files to be managed with \[PRODUCT\] (*\[link\]* Edit the list of files (LSTWAP)) when the macro-command displays this list.

* Ensure the process of \[PRODUCT\] starts (*\[link\]* Montoring DWBASE and DWSTRJRNE​ jobs launched to batch).

*Transfer to production*

* The Transfer to production is the end of the process, when your data is ready to be deployed along with the rest of the release. When you want to end the production application and to move the new release into production, run the RCVNTWA2 macro-command ending the DROPS WAP process.
***Monitor progress with the \[PRODUCT\] Web Studio***

* Monitor the progress of the replication and the synchronization on the \[PRODUCT\] Web Studio (*\[link\]* Monitoring file replication).

* Wait until all files are copied and synchronized with journals before stopping the live application environment where the new release will be installed. \[PRODUCT\] keeps the file data synchronized until you stop it.


***Transfer to production***

* The Transfer to production is the end of the process, when your data is ready to be deployed along with the rest of the release. When you want to end the production application and to move the new release into production, run the RCVNTWA2 macro-command ending the \[PRODUCT\] process.



Expand All @@ -63,4 +68,5 @@ DROPS WAP is stopped by a macro-command after ending application activity. The m
This topic aims to provide the user with an overview of the software, its functionality, and a tour of the workflow/user tasks involved. It also includes links to relevant parts of the documentation. I wrote the topic based on notes shared with me by the lead engineer. She then reviewed the topic, and we made adjustments accordingly. After that, my technical writer teammate reviewed the writing quality. I created the first version of this documentation using the Madcap Flare XML toolchain.

## Live documentation
https://help-drops-wap.arcadsoftware.com/Topics/About/MainConcepts.htm

Click the link to see the [live documentation](https://help-drops-wap.arcadsoftware.com/Topics/About/MainConcepts.htm)
3 changes: 2 additions & 1 deletion content/samples/procedure.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,5 @@ This procedure is a setup task for an Eclipse-based software product. It is comm
I created the first version of this documentation using the Madcap Flare XML toolchain. I prepared the procedure as part of a Getting Started guide, and it was reviewed by a senior consultant for the content and by my technical writer teammate for the writing quality.

## Live documentation
https://help-arcad-repository.arcadsoftware.com/Topics/Setup/Declaring-Applications.htm

Click the link to see the [live documentation](https://help-arcad-repository.arcadsoftware.com/Topics/Setup/Declaring-Applications.htm)
22 changes: 22 additions & 0 deletions content/samples/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: Writing sample for a troubleshooting article
linktitle: Troubleshooting
type: docs
weight: 400
---


## An error is thrown when launching a command through the CLI to anonymize a project \[Linux\]

When executing a command to anonymize a project on a Linux operating system (Ubuntu or CentOS) via the command line interface (CLI), the following error may occur:

*Error: Could not find main class cache2k-core-1.6.0.Final.jar*

This error occurs even if the necessary library exists in the /libs folder.

To resolve this issue, certain Linux distributions such as CentOS, Ubuntu, and Debian, require the classpath to be enclosed in double quotes. Here is the corrected command format for CentOS:

```
// CentOS Command
java -cp "../libs/*" com.redacted.tools.anonymizer.cli.CLI List
```

0 comments on commit 1bdf006

Please sign in to comment.