Skip to content

docs: client onboarding kit — Studio launcher, quick start, migration guide#90

Merged
Admnwk merged 1 commit into
FiveTechSoft:mainfrom
Admnwk:feat/client-onboarding-kit
Jun 26, 2026
Merged

docs: client onboarding kit — Studio launcher, quick start, migration guide#90
Admnwk merged 1 commit into
FiveTechSoft:mainfrom
Admnwk:feat/client-onboarding-kit

Conversation

@Admnwk

@Admnwk Admnwk commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

What & why

Rounds out the adoption story for people coming from ADS on the client side. Today an extracted release is a folder of DLLs + a generic README; this adds the "open the folder and go" experience.

  • openads-studio.bat / .sh — one-click launcher: starts the engine with the web console and opens the browser. Zero config, and an ephemeral wire port (--port 0) so it never clashes with an Advantage service on 6262. This is the ARC replacement made discoverable.
  • QUICKSTART.md — the three paths in the box: drop-in DLL for a local app, Studio for browsing/editing, openads_serverd for a network server.
  • docs/{en,pt,es}/migrating-from-ads — a concept-by-concept map (server / Local Server / client DLL / ARC / ads.cfg / ports) with a checklist, in all three doc languages.

Pairs with the server-side --config (#88) and --setup wizard (#89) PRs, but stands alone — no engine or test changes.

Naming

The legacy product is referenced only descriptively (nominative compatibility), with a short trademark / non-affiliation note in each guide. No third-party brand is claimed.

Note for the maintainer

To ship these files inside the release archive, the staging steps in .github/workflows/release.yml need a one-line copy of QUICKSTART.md + openads-studio.{sh,bat} (and openads.ini.sample once #88 lands). I left CI untouched in this PR — happy to add it if you'd prefer.

Validation

Docs + scripts only. The launcher wraps the already-working openads_serverd --http-port Studio path; the wire/engine is unchanged.

… guide

Round out the adoption story for people coming from Advantage (ADS) on
the client side: an extracted release should be usable without reading
the full README.

- openads-studio.{bat,sh}: one-click launcher that starts the engine
  with the web console and opens the browser — the ARC replacement,
  zero config. Uses an ephemeral wire port (--port 0) so it never
  clashes with an Advantage service on 6262.
- QUICKSTART.md: the three paths in the box — drop-in DLL for a local
  app, Studio for browsing/editing, openads_serverd for a network
  server.
- docs/{en,pt,es}/migrating-from-ads: concept-by-concept map (server,
  Local Server, client DLL, ARC, ads.cfg, ports) with a checklist.

Names of the legacy product are used only descriptively, for
nominative compatibility, with a trademark/non-affiliation note; no
third-party brand is claimed.

To ship these files inside the release archive, add a copy of
QUICKSTART.md + openads-studio.{sh,bat} (and openads.ini.sample once
the --config PR lands) to the staging steps in
.github/workflows/release.yml — left out of this PR so it touches no CI.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds quick start documentation, migration guides from ADS in English, Spanish, and Portuguese, and launcher scripts for OpenADS Studio on Windows and Unix-like systems. The feedback focuses on fixing a potential command-line parsing issue in the Windows batch script when paths end with a backslash, improving the robustness of the shell script with process cleanup and startup checks, and correcting several broken relative links in the Spanish and Portuguese translation files.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread openads-studio.bat
Comment on lines +18 to +19
set "DATA=%CD%"
if not "%~1"=="" set "DATA=%~1"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

In Windows batch files, if a path ends with a backslash (such as a drive root like C:\ or a user-provided path with a trailing backslash), passing it inside double quotes like --data "%DATA%" will result in the trailing backslash escaping the closing double quote (i.e., \"). This causes command-line parsing to fail. Appending an extra backslash when a trailing backslash is detected (making it \\) resolves this, as the Windows command-line parser treats \\" as a single literal backslash and a closing quote.

set "DATA=%CD%"
if not "%~1"=="" set "DATA=%~1"
if "%DATA:~-1%"=="\" set "DATA=%DATA%\"

Comment thread openads-studio.sh
Comment on lines +26 to +33
"$DIR/openads_serverd" --port 0 --http-port "$HTTP_PORT" --data "$DATA" &
SRV=$!

# give the server a moment to bind, then open the browser (best effort)
sleep 1
(xdg-open "http://127.0.0.1:${HTTP_PORT}/" 2>/dev/null \
|| open "http://127.0.0.1:${HTTP_PORT}/" 2>/dev/null \
|| true)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To make the launcher script more robust, we should:

  1. Add an EXIT trap to clean up the background server process (openads_serverd) when the script exits or is terminated, preventing orphaned processes.
  2. Check if the server successfully started (using kill -0) before attempting to open the browser, avoiding opening a dead page if the port is already in use.
Suggested change
"$DIR/openads_serverd" --port 0 --http-port "$HTTP_PORT" --data "$DATA" &
SRV=$!
# give the server a moment to bind, then open the browser (best effort)
sleep 1
(xdg-open "http://127.0.0.1:${HTTP_PORT}/" 2>/dev/null \
|| open "http://127.0.0.1:${HTTP_PORT}/" 2>/dev/null \
|| true)
"$DIR/openads_serverd" --port 0 --http-port "$HTTP_PORT" --data "$DATA" &
SRV=$!
trap 'kill "$SRV" 2>/dev/null || true' EXIT
# give the server a moment to bind, then open the browser (best effort)
sleep 1
if kill -0 "$SRV" 2>/dev/null; then
(xdg-open "http://127.0.0.1:${HTTP_PORT}/" 2>/dev/null \\
|| open "http://127.0.0.1:${HTTP_PORT}/" 2>/dev/null \\
|| true)
else
echo "Error: openads_serverd failed to start." >&2
exit 1
fi

Para una compilación nueva, use la import lib de su compilador en `lib/` (MSVC,
MinGW, Borland). Binarios heredados enlazados por ordinal: vea
[`../en/ordinal-compat.md`](../en/ordinal-compat.md). Detalles de RDD:
[`rddads-compat.md`](rddads-compat.md).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to rddads-compat.md is broken because it resolves to docs/es/rddads-compat.md, which does not exist. It should point to the English version in docs/en/ using a relative path, similar to how ordinal-compat.md is linked.

Suggested change
[`rddads-compat.md`](rddads-compat.md).
[../en/rddads-compat.md](../en/rddads-compat.md).

(reindex, pack, zap) y crear/editar objetos del diccionario (tablas, usuarios,
índices, reglas de RI). Protéjalo con `--http-user usuario:clave`; para
exposición pública ponga un proxy TLS delante (vea
[`servicio-despliegue.md`](servicio-despliegue.md)).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link for the TLS proxy points to servicio-despliegue.md (which corresponds to service-deployment.md). This is incorrect as the TLS proxy is documented in tls-deployment.md. Since these files only exist in English, it should point to ../en/tls-deployment.md.

Suggested change
[`servicio-despliegue.md`](servicio-despliegue.md)).
ponga un proxy TLS delante (vea [../en/tls-deployment.md](../en/tls-deployment.md)).

- [ ] Probar lecturas/escrituras/seeks de índice sobre una **copia** de los datos.
- [ ] Verificar acentos (salvedad de code page arriba).
- [ ] Usar Studio (`openads-studio`) en el día a día.
- [ ] Configurar auto-arranque (asistente, o [`servicio-despliegue.md`](servicio-despliegue.md)).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to servicio-despliegue.md is broken because the file does not exist in Spanish. It should point to the English version ../en/service-deployment.md.

Suggested change
- [ ] Configurar auto-arranque (asistente, o [`servicio-despliegue.md`](servicio-despliegue.md)).
- [ ] Configurar auto-arranque (asistente, o [../en/service-deployment.md](../en/service-deployment.md)).

Para um build novo, use a import lib do seu compilador em `lib/` (MSVC, MinGW,
Borland). Binários legados ligados por ordinal: veja
[`../en/ordinal-compat.md`](../en/ordinal-compat.md). Detalhes de RDD:
[`rddads-compat.md`](rddads-compat.md).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to rddads-compat.md is broken because it resolves to docs/pt/rddads-compat.md, which does not exist. It should point to the English version in docs/en/ using a relative path, similar to how ordinal-compat.md is linked.

Suggested change
[`rddads-compat.md`](rddads-compat.md).
[../en/rddads-compat.md](../en/rddads-compat.md).

editar registros, rodar SQL, ver/reconstruir estrutura (reindex, pack, zap) e
criar/editar objetos do dicionário (tabelas, usuários, índices, regras de RI).
Proteja com `--http-user usuario:senha`; para exposição pública, ponha um proxy
TLS na frente (veja [`servico-implantacao.md`](servico-implantacao.md)).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link for the TLS proxy points to servico-implantacao.md (which corresponds to service-deployment.md). This is incorrect as the TLS proxy is documented in tls-deployment.md. Since these files only exist in English, it should point to ../en/tls-deployment.md.

Suggested change
TLS na frente (veja [`servico-implantacao.md`](servico-implantacao.md)).
TLS na frente (veja [../en/tls-deployment.md](../en/tls-deployment.md)).

- [ ] Testar leituras/gravações/seeks de índice numa **cópia** dos dados.
- [ ] Verificar acentuação (ressalva de code page acima).
- [ ] Usar o Studio (`openads-studio`) no dia a dia.
- [ ] Configurar auto-início (wizard, ou [`servico-implantacao.md`](servico-implantacao.md)).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to servico-implantacao.md is broken because the file does not exist in Portuguese. It should point to the English version ../en/service-deployment.md.

Suggested change
- [ ] Configurar auto-início (wizard, ou [`servico-implantacao.md`](servico-implantacao.md)).
- [ ] Configurar auto-início (wizard, ou [../en/service-deployment.md](../en/service-deployment.md)).

@Admnwk Admnwk merged commit 809baf4 into FiveTechSoft:main Jun 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant