forked from diegoecab/oci-deal-accelerator
Aliases for newer OCI services without toolkit icons (Redis, PostgreSQL)
Diego pointed at examples/output-ashburn-redis-oke and asked: does Oracle ship a Redis icon for drawio? Answer: NO. Confirmed against both libraries: - kb/diagram/oci-icons.json (OCI Toolkit v24.2) → 0 hits - kb/diagram/oci-pptx-icons-index.json (OCI_Icons.pptx) → 0 hits Same for OCI Cache, Valkey, OCI PostgreSQL — all are GA after the toolkit shipped. Oracle's own reference architecture ``modernize-app-dev-oci-postgresql-redis-opensearch`` works around this by embedding inline SVG vector data into ``shape=stencil(...)`` cells — there is no reusable named stencil. The closest reusable match is the generic ``database`` icon (8 cells in oci-icons.json, the canonical "Database" stencil). Persistent fixes: - TYPE_TO_ICON (PPTX) and ICON_TYPE_ALIASES (drawio) both gain aliases for ``redis`` / ``oci_cache`` / ``oci_cache_with_redis`` / ``cache`` / ``valkey`` / ``postgresql`` / ``postgres`` / ``oci_postgresql`` → ``database``. Plus ``opensearch`` → ``database_opensearch`` (which exists) on the PPTX side. - SKILL.md option 2 step 3 documents the convention: when an OCI service doesn't have a toolkit icon, use the generic stencil and pair with an explicit ``label:`` carrying the real service name (e.g. ``label: "OCI Cache (Redis)"``). When Oracle ships a v25+ toolkit with these icons, update oci-icons.json + the alias tables and the next render picks up the real icon automatically. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2
SKILL.md
2
SKILL.md
@@ -139,6 +139,8 @@ Pick a number, or just describe what you need.
|
||||
3. **Author the spec in `absolute_layout` shape** — this is REQUIRED. Do NOT use the legacy workload-driven shape (`tenancy → regions → compartments → services`); it does not resolve OCI icon stencils, does not run through the spec validator, and produces wireframe-looking output (rectangles with text instead of real OCI icons). Every container, service, label, and connection needs explicit `(x, y, w, h)`.
|
||||
|
||||
**Where to look up valid `type:` values for services:** the authoritative sources are (1) `TYPE_TO_ICON` in `tools/oci_pptx_diagram_gen.py` (PPTX path) and `ICON_TYPE_ALIASES` in `tools/oci_diagram_gen.py` (drawio path), and (2) the slug keys in `kb/diagram/oci-icons.json` (drawio) and `kb/diagram/oci-pptx-icons-index.json` (PPTX). Do NOT grep `examples/` for `type:` patterns to discover valid slugs — `examples/` are previous user outputs that may use stale or non-canonical slugs. Both renderer files and both index files are exhaustive and current.
|
||||
|
||||
**Newer OCI services without a toolkit icon** (OCI Cache with Redis / Valkey, OCI PostgreSQL, etc. — services GA after the v24.2 toolkit shipped): use the generic icon as the canonical fallback (Oracle's own ref archs do the same — they embed custom inline SVG over the generic icon). The renderer's alias tables already route `type: redis` / `cache` / `valkey` / `postgresql` to the generic `database` stencil. Pair with an explicit `label:` carrying the real service name (e.g. `label: "OCI Cache (Redis)"`). When Oracle ships a v25+ toolkit with these icons, update `kb/diagram/oci-icons.json` + the alias tables and the next render uses the real icon automatically.
|
||||
4. **Spec validator runs automatically** before either renderer (`tools/diagram_spec_validator.py`). It runs ONLY on `absolute_layout` specs — that's another reason workload-driven is forbidden. Fix any errors before re-rendering.
|
||||
5. **Render.** `oci_diagram_gen.py` for drawio, `oci_deck_gen.py` for PPTX.
|
||||
6. **Visually verify.** `tools/oci_pptx_render.py` to rasterize, then read the PNG.
|
||||
|
||||
Reference in New Issue
Block a user