Reading form submissions
The person says: “What came in on the application form this week? Mark the new ones read and give me a spreadsheet.”
Submissions are visitors’ own words and contact details. Read them for the person who asked, and hand a file only to the app they name.
The loop
Section titled “The loop”Empress:site_call—tool: "empress.submissions": the inbox’s To do, newest first, each row with itsband(ready_to_publish,to_draftorto_answer) and whether it is unread;refnarrows to one form (the form’s id as the list shows it, not its slug),sourceto one plugin,viewreadspublished,doneorspamapart,limitandcursorpage. Addsubmission(a row’s id) to read one in full, with its sender: that records the read, as opening it in the console does.Empress:site_call—tool: "empress.submission_mark"withidsandto:readorunread(the dot),doneorspam(out of To do),open(back in). It changes the inbox’s own record at once, outside any change set, and says which ids it left and why.Empress:site_call—tool: "empress.submission_draft"withids: each submission becomes a draft in the collection its form is set up to fill, never published; the answer is per row, and a destination that no longer fits the site refuses with the field it names. Thentool: "empress.submission_publish"withidsandconfirm: trueputs the drafts live in one change set (an event and its new venue together). Whether it runs is the person’s level for publishing on that site: where it isask, the whole call waits for an Admin’s yes in Approvals (nothing joins a set meanwhile, the rows stay drafted) and runs when they give it; where it isoff, it is refused with a sentence saying so.tool: "empress.submission_undo"withsubmission(and optionallyentry) takes it back to a draft, under the same publishing level.tool: "empress.submission_destination"withformreads the collections a form could fill; withdestinationormuted(Admin) it saves them.Empress:site_call—tool: "empress.submissions"withexport: "csv"(or"json") andform, withfromandtoto narrow it: the answer is a signed download link good for ten minutes, never the file.
Judgment
Section titled “Judgment”- The list is not the sender. A row is what a post would show: a title, an excerpt, the form and the age. Open one only when the person needs the sender or the full answers.
- A link is the file. It carries no sign-in and the file holds contact details: give it to the app that should fetch it, never paste it into a public place.
- Summarize, do not dump. Quote the answers the person asked about.
- Nothing is deleted from here. Put a submission away as
doneorspam; deleting submissions is the site’s own admin.