Designers

The visual editors for each kind of definition.

  • Object designer: create tables with a SQL preview, add fields, register existing tables and views, re-sync fields.
  • Query designer: filters, child fields, parameters and sort, with Run Query.
  • Screen designer: the platform's real form engine with its components, per-component permissions, and a guard that refuses a save that would drop an unknown component.
  • Lifecycle and workflow designers: statuses, transitions and triggers with cron schedules, and the built-in actions with their inputs and outputs.
  • Report designer with preview.

Getting around

  • App Home opens at start (or run TAF: App Home). It shows what the app contains, what you touched recently and what needs publishing.
  • Explorer, under the TAF Studio icon in the left bar: click an item to open it, or use + to create one.
  • New… (Ctrl+N) opens a gallery of everything you can create. Each type has a short form: name, what it is bound to, and how to start.
  • Properties, on the right: settings of whatever is selected in a designer.
  • Changes, the history icon: everything edited but not yet published.
  • Find Item and Document Outline: search the app, and see the structure of the open item.

Every Studio command is in the Command Palette. Press Ctrl+Shift+P and type TAF: to see them.

The explorer

The explorer groups your app by category, and sections any group large enough to be a wall: queries and screens by the object they belong to, scripts by what the script is for, reports by output format. Large sections are split into ordered ranges, and typing in the filter box opens the sections that match.

Relationships are navigable in both directions. A field's lookup opens the object it points at, and an object's children list opens the objects that point back to it. TAF: Find Usages shows where the open item is used.

Build a feature

App Home's Build a feature checklist gives the order below, with a New button on each step.

1. Object

Run TAF: New Object to design a real table: columns, keys, indexes and foreign keys. To bring in a table that already exists in the database, use TAF: Register Existing Table. Add fields with TAF: Add Field to Object or TAF: Add Columns. TAF: Generate SQL Preview shows the SQL without running it. Changing an existing table only adds columns; it never drops them.

2. Query

Run TAF: New Query, then TAF: Design Query. Pick fields (including fields of related objects), filters, sort order and parameters, then TAF: Run Query to see real rows.

3. Screen

Run TAF: New Screen, then TAF: Design Screen and drag components onto the form. The designer runs the same form engine the web app uses, with the platform's own component types, and TAF: Preview Screen renders it as a user would see it. A component type the designer does not recognise is kept as it is when you save. An empty screen cannot be published, because it would blank the live screen.

4. Lifecycle

Run TAF: New Lifecycle, then add statuses and transitions. For each transition, choose which screen it opens and which workflow it runs. Read more in Lifecycles and approvals.

5. Workflow

Run TAF: New Workflow or TAF: New Trigger. A trigger on record events must name the object it watches; a scheduled trigger needs a schedule. Test with TAF: Run Workflow, and see recent runs, collected from the platform logs, with TAF: Show Workflow Runs.

6. Notification and menu

Run TAF: New Notification to set when it is sent, who gets it and what it says. Then use TAF: Menus to add the screen to the app's navigation. Reports have their own commands too: TAF: New Report, Preview Report and Report Schedules.

Check before you publish

TAF: Check for problems scans every screen and query and lists what it finds in the Problems panel, the same panel VS Code uses for compiler errors:

  • duplicate component keys on a screen
  • fields a query uses that its object does not have, with a “did you mean” suggestion
  • filter logic the platform would ignore or reject

Publish and stay in sync

Edits save only to your local copy as you go. When an item is ready, press Publish in the designer's header or the title bar, or run TAF: Publish Current Item, then confirm. TAF: Review Unpublished Changes lists everything still waiting.

  • When you publish something new, Studio first checks whether the platform already has an item with that name and warns you, because the platform allows duplicate names.
  • Publishing to an item inherited from a shared template is blocked, with an explanation. If Studio cannot confirm who owns an item, it warns you and lets you choose.
  • To pick up changes made elsewhere, run TAF: Load latest from platform. If your copy differs, choose Replace with platform copy, Keep mine or Show differences.
  • Every save is kept in a local history. TAF: Restore a Change (Local History) rolls an item back in your local copy and never publishes anything.
Note

Publishing a screen writes it to the platform straight away; the runtime app picks up the new version moments later. If a screen looks unchanged right after publishing, reload it.

Delete safely

TAF: Delete Screen and TAF: Delete Query refuse to delete an item while anything still uses it (another screen, a menu item, a grid or a lookup field), and name what uses it, so you can remove the dependency first.