Skip to contents

[Experimental]

Usage

form_draft_create(
  pid = get_default_pid(),
  fid = get_default_fid(),
  xml = NULL,
  file = NULL,
  ignore_warnings = FALSE,
  xls_form_id_fallback = NULL,
  url = get_default_url(),
  un = get_default_un(),
  pw = get_default_pw(),
  retries = get_retries()
)

Arguments

pid

The numeric ID of the project, e.g.: 2.

Default: get_default_pid.

Set default pid through ru_setup(pid="...").

See vignette("Setup", package = "ruODK").

fid

The alphanumeric form ID, e.g. "build_Spotlighting-0-8_1559885147".

Default: get_default_fid.

Set default fid through ru_setup(fid="...").

See vignette("Setup", package = "ruODK").

xml

(character) The XForms XML definition as a single string. If neither xml nor file is given, the Draft copies the published definition. Default: NULL.

file

(character) Path to a local .xml, .xls or .xlsx file holding the Form definition. Default: NULL.

ignore_warnings

(lgl) If TRUE, the Draft is created even if the XLSForm conversion results in warnings. Only used for .xls/.xlsx uploads. Default: FALSE.

xls_form_id_fallback

(character) The form ID to use if an uploaded spreadsheet does not specify one. Only used for .xls/.xlsx uploads. Default: NULL (no header sent).

url

The ODK Central base URL without trailing slash.

Default: get_default_url.

Set default url through ru_setup(url="...").

See vignette("Setup", package = "ruODK").

un

The ODK Central username (an email address). Default: get_default_un. Set default un through ru_setup(un="..."). See vignette("Setup", package = "ruODK").

pw

The ODK Central password. Default: get_default_pw. Set default pw through ru_setup(pw="..."). See vignette("Setup", package = "ruODK").

retries

The number of attempts to retrieve a web resource.

This parameter is given to RETRY(times = retries).

Default: 3.

Value

A list with a single element success (TRUE) as per the ODK Central API docs.

Details

POSTing here creates a new Draft Form on the given Form. For the most part, it takes the same parameters as the Create Form request: you can submit XML or Excel files, and you can provide ignore_warnings. Additionally, a call with neither xml nor file creates a Draft Form with a copy of the published definition, if there is one. This is useful to change Form Attachments without updating the Form definition itself. Even if a Draft exists, you can always replace it by calling this function again. The xmlFormId must exactly match that of the Form overall, or the request is rejected.

Examples

if (FALSE) { # \dontrun{
# See vignette("setup") for setup and authentication options
# ruODK::ru_setup(svc = "....svc", un = "me@email.com", pw = "...")

fl <- form_list()

form_draft_create(fid = fl$fid[[1]])
# > $success
# > [1] TRUE
} # }