算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
appbuilder-workfront【设计与创意】Use when orienting, onboarding, or planning before a concrete task — the entry point for building a customized Workfront UI on Adobe App Builder. Reach for this whenever the user is: brand new to Workfront UI extensions and asking where to start or what the process looks like; describing a Workfront customization idea and asking how to build it; aski…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
A customized Workfront UI, built as an App Builder app. It has two halves:
workfront-ui-extensionworkfront-actionsThe front end plugs into Workfront at fixed spots called extension points: a Main Menu button, an item in an object's left panel, or a widget embedded inside a custom form.
| Step | What you do | Skill |
|---|---|---|
| 0–1. Set up + create project | Node 20, install @adobe/aio-cli, aio login, pick IMS org, stage vs prod, create the project (Developer Console or aio console project create) | appbuilder-project-init |
| 2. Scaffold | aio app init with template @adobe/workfront-ui-ext-tpl; pick extension points | appbuilder-project-init + this skill's references/commands.md |
| 3. Build front end | Extension points (Main Menu, secondaryNav, widgets), routing, shared context, actionWebInvoke | workfront-ui-extension |
| 4. Build back end | Action anatomy, config, auth, inputs; call Workfront (Public API v21) / Planning / services | workfront-actions |
| 5. Run + test in Workfront | aio app dev, then extensionOverride (local build) or Extension Manager / BYO (deployed app, no publish) | workfront-local-testing |
| 6. Deploy | aio app deploy | references/commands.md |
| 7. Publish (org-wide) | Submit for approval from the Production workspace; make sure Production has every API/service your actions need. Not required for BYO/override testing. | — (see below) |
Publishing makes the app available to everyone in the IMS org without an
extensionOverride. Deploy from the Production workspace (aio app deploy), then submit for approval in the Developer Console / App Builder distribution UI (guide:https://developer.adobe.com/uix/docs/guides/publication/). To use a deployed app in one org without approval, register its URL in Workfront's Extension Manager (Bring Your Own extension) instead — seeworkfront-local-testing. After deploy, the app's direct link is the Experience Cloud shell URL…/workfront/custom-applications/<extensionId>/<menuRoute>(not the bare CDN) — build and hand it over perworkfront-local-testing.
Hit a wall? A symptom → cause → fix table of the real gotchas (Node/
aioerrors, the Main Menuidtrap,401 Org Id undefined, BYO testing, and more) is inreferences/troubleshooting.md. The fullaiocommand catalog is inreferences/commands.md.
| Term | In plain words |
|---|---|
| SPA / front end | The app screens the user sees inside Workfront. |
| Runtime action / "serverless" | A small function in Adobe's cloud that does the real work (fetching/saving data) and keeps credentials off the user's browser. |
| Extension point | A spot where your app appears in Workfront: the Main Menu, an object's left panel, or a custom-form widget. |
| Shared context | Info Workfront hands the app automatically — who's signed in, which object they're on, the instance URL. |
actionWebInvoke | How the front end calls a back-end action. |
| IMS org | Your Adobe organization (identity / login). |
| Developer Console / workspace | Adobe's web admin where the project and its Production / Stage environments live. |
| Layout template | The Workfront admin setting that decides where an app actually shows up for users. |
sharedContext (imsToken, hostname) — Workfront hands the app the signed-in user and instance, so never build a custom login.actionWebInvoke, so login tokens stay on the server. (The IMS org id is already in sharedContext at auth.imsOrgID — no WF call needed.)exports.main; not ESM); secrets/inputs flow .env → action inputs → params, and are never read from process.env at runtime.AIO_CLI_ENV=stage plus a re-login.DE: fields need {field}_Mod=notblank on search/count.