Skip to contents

Describes one message to be placed into a running session at a stated point, as an experimental manipulation: an objection, a correction, a piece of news. The message is logged like any other, with metadata$injected = TRUE and an injection record giving its label, arm, point, sender, visibility, and the message_id it follows.

Usage

fg_injection(
  text,
  at,
  from = "moderator",
  visibility = c("shared", "participants"),
  label = NULL
)

Arguments

text

One non-empty string, the message.

at

Where the message goes: fg_after_item(), fg_before_turn(), or "before_closing". When an injection and a probe share a point, the probe is asked first.

from

"moderator", a participant's id or handle, or the name of an outside speaker.

visibility

"shared" or "participants".

label

Optional name for the injection in the records; by default the arm's name in run_focus_group_arms(), and "injection_1", "injection_2", ... in run_focus_group().

Value

An object of class fg_injection.

Details

A message from = "moderator" is logged under the moderator's id, so the moderator reads it as its own line; so is a message from the moderator's id or handle. A message from a participant's id or handle (the handle in any case) is that participant's turn: at fg_before_turn(t) the participant says text as turn t, with no model call. It is logged under the participant's id with metadata$as_turn = TRUE, recorded in the routing record with the rule "injected", and counted as a participant turn, and it takes the place of the turn the session was about to give: the flow's pick, an addressed turn, or the reply to a call-on line, after which the moderator calls on the next silent participant. A line from someone other than the participant called on takes no one's place: the participant called on still answers next. The record's replaced names which turn was taken, or "none". Such a message is allowed only at fg_before_turn(), with visibility = "shared", and once per point. A from that is one participant's id and another's handle, as under permuted handles, could mean either and stops the run before any call. Any other from names an outside voice, such as "Guest expert", logged under that name and shown to the agents as written; it may not be "System", nor a name of the form "P4", which would read as a participant's handle. A moderator message that puts its last question to one participant by handle ("P2, what do you make of that?") gives that participant the next turn, except at a turn that answers the moderator's call-on line, which stays with the participant called on.

With visibility = "shared" the message enters the shared log and every agent sees it from then on. With visibility = "participants" it is kept out of the moderator's prompts and out of interim summaries, which the moderator also reads; the participants see it as part of the discussion.

Examples

fg_injection(
  "One study found that extended hours cost more than they return.",
  at = fg_after_item(4), from = "Guest expert")
#> <fg_injection> fg_after_item(4) from Guest expert (shared)
#>   One study found that extended hours cost more than they return.