From aa9dcbacc19083fce608332b747ae0bbc69388cb Mon Sep 17 00:00:00 2001 From: ErikHommel <erik.hommel@civicoop.org> Date: Wed, 8 Jan 2020 09:20:15 +0100 Subject: [PATCH] wip documentation --- docs/basic-concept.md | 20 ++++++++++++++++---- images/output-handler.png | Bin 0 -> 15684 bytes 2 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 images/output-handler.png diff --git a/docs/basic-concept.md b/docs/basic-concept.md index b87932a..784a9f6 100644 --- a/docs/basic-concept.md +++ b/docs/basic-concept.md @@ -80,8 +80,9 @@ As time goes by and more people start using and enhancing the **Action Provider* !!! Note "Create your own" It is possible to develop your own specific actions, or indeed generic ones that others can use too! Check the relevant sections in this guide: - * [Introduction to creating your own][create-your-own-introduction.md] - * [Example of Email Preferences][email-preferences.md] + + * [Introduction to creating your own](create-your-own-introduction.md) + * [Example of Email Preferences](email-preferences.md) In this example we have a first step: find the contact with the data from the form: @@ -106,10 +107,21 @@ I can specify here what criteria I want to use, in this example I have specified At the *retrieval methods* part I can select how I want to retrieve my data. Here I would like an action called *Find contact with checksum*. Unfortunately that is not available yet because it has not been developed yet, but you get the gist. -And it will be developed in the section [Email Preferences][email-preferences.md]. +And it will be developed in the section [Email Preferences](email-preferences.md). For each of my input fields I can finally specify what data should be loaded here, which should come from the result of my action. +## Output Handler + +At the bottom of the form where you edit or create your form processor there is also a bit about an *output handler*: + + + +This gives you the option to manipulate the output that is sent back to the public website once all the actions have been executed. +If you do not specify anything, the default value of *send everything* then all the data involved is sent back (inputs, output from actions etc.). + +If you decide for example you only want to send the ID of the contact back you can select the *decide what to send* and specify what from all the available data should be send back and how it is called. + ## That's it! If you click on the *Retrieval of defaults* tab in the **New Form Processor** form you will get a form like this: @@ -117,7 +129,7 @@ And that is all! A form to be used without coding. Once I saved the form process  -So far the basic concept. Obviously the public website part needs to be done too, check the [Example Sign Up Newsletter][sign-up-newsletter.md] section for that part, this section just covers the basis principles. +So far the basic concept. Obviously the public website part needs to be done too, check the [Example Sign Up Newsletter](sign-up-newsletter.md) section for that part, this section just covers the basis principles. diff --git a/images/output-handler.png b/images/output-handler.png new file mode 100644 index 0000000000000000000000000000000000000000..f33be24589c82f3c7c61de166afd10431bea489b GIT binary patch literal 15684 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 literal 0 HcmV?d00001 -- GitLab