Docs The app

Review

Review has two views. Assets holds what needs approval before it ships, such as screenshots, videos and store texts, in each of the project's languages. Posts is the queue of posts, each approved by a person before it goes out. The header says "Nothing here is posted or uploaded."

Assets

An asset is an image, a video or a text, with one variant per locale. Assets sit in groups. Each shows its title, flags, a status tag, one figure per locale side by side, the proposer's note, the buttons and a note box. The locales come from the project, and a locale switch shows all or some of them. A missing locale shows a placeholder that says so.

An agent proposes an asset with propose_asset, or with the command line:

turnkeel asset propose store-shot-1 --title "First screenshot" --variant en=shots/en/1.png --variant de=shots/de/1.png

This needs assets:propose. Proposing the same asset again with changed content gives that variant a new version. The same content again changes nothing. A group that does not exist yet is created.

Approving an asset

Each asset has one shared decision: Approve or Needs changes. Anyone who may decide replaces it, and pressing the active button again clears it. The card says who decided and when: "Approved by Sam, 12 Nov". Owners, Admins and Reviewers decide; Members propose.

An approval counts only for the content it was given on. When a variant changes, or a locale is added or removed, the approval stops counting, the button reads Approve again, and the asset says "Changed since you approved" to whoever approved and "Changed since <name> approved" to everyone else. After Needs changes, a new version reads "Redone since your note" or "Redone since <name>'s note".

Filter Shows
Needs your OK Assets waiting for a decision, for someone who may decide. The default.
New since your last visit Assets proposed or changed since you last left Review, or pressed Mark all seen
Needs changes, Approved, All What they say

An asset that has a decision can be opened in Compare languages, a larger side-by-side view with a Show differences switch that outlines each locale whose content changed since the decision. Reviewers' notes follow the save-as-you-type rule. Only a person can archive an asset.

An agent reads decisions and notes with read_reviews (assets:read), so it can act on Needs changes. An asset that needs changes waits on whoever proposed it last.

The post queue

The Posts view is a queue grouped by date. Each post shows its title, channel, text (a thread as its parts, a poll as its options), media, date and state. The date line is the scheduled time, else a planned date marked "Projected", else "No date yet", followed by a short planned note when there is one.

A Member, or an agent with posts:write (save_post or turnkeel post save), creates a post as a draft or as one that needs an OK, and edits it. An agent's post takes its media from the asset it names; only a person uploads other files to a post.

Status Means
draft Being written. Submit asks for an OK.
needs_ok Waiting for a person to approve it
approved A person approved it. Approving sends nothing by itself.
sending The publishing job is handing it to the webhook
posted Out. Final.
failed The webhook did not take it. Try again is a new approval.
skipped Set aside. Bring back asks for an OK again.

An approval covers the content it was given on. Editing anything that is sent (the title, text, thread, poll, media, channel, link or scheduled time) or whether it is sent by hand clears the approval and returns the post to needs_ok. Approve carries the version the person read, so an approval is never given on a text they did not see. Owners, Admins and Reviewers approve; Members, Admins and Owners mark posted and skip.

How a post goes out

A project can have one outbound webhook, the webhook-publisher connector, with an https address. A job hands each approved post that is due, and not marked to be sent by hand, to that address, with every request signed. A post is due at its scheduled time, or at once when it has none. A 2xx answer makes it posted; anything else makes it failed, and the job does not try again by itself.

Without the webhook, or for a post marked to be sent by hand, an approved post waits for Mark posted and shows under Launch, By hand. Copy text puts its text on the clipboard and writes nothing. Mark posted can be undone for ten seconds from By hand.

No agent can approve a post, mark one posted, skip one or cause one to be sent.

The source of this page will be on GitHub when the repository opens. Something wrong or unclear? Write to us.