You can view and manage questions and custom fields for your groups by clicking the Questions link in the Details tab of the Start Organizing menu. After you choose the group you want to view questions and custom fields for you'll see a list of questions that already have been created for the group up top, and custom fields for the group below.
Questions
You can add a new question if you have the permissions to do so by clicking the Add New Question button. You can also edit, hide, and delete each question if you have the permissions. Otherwise you can view or hide the questions but not edit or delete them.
Editing a question will update the question on any forms you've previously added it to, so your questions stay in sync.
Deleting questions will not delete the underlying data and custom field columns associated with that question, only the question itself.
Hiding the question will remove it as an option when making actions.
If your group is part of a Network, you can also share a question with your child groups.
Core Fields
If your group is part of a network, you can choose to syndicate core fields to child groups. Core fields are Action Network's built in fields for activists: First name, last name, email address, mobile number, street, city, state or province, Zip/postal code, country, and language. If core fields are syndicated, if the value of one of them changes in any group (the parent or any children) then it will be updated on all of the groups. Otherwise, data will flow upwards as is normal in networks -- if there is a change on the child, the parent will get the update, but if there is a change on the parent the child will not get the update.
Custom Fields
Adding a question that stores in custom fields instead of tags will also create a custom field to store that question's data, if it doesn't already exist. See here for more information on how questions relate to custom fields. You can also create custom fields via the upload process, when editing or adding activists individually, when making blank questions on forms, or over the API. Custom fields do not have to be created first, you can just start using them and they will show up in this list.
However, you can hide custom fields by clicking the hide button to the right in the custom field list. Hidden custom fields will not show up anywhere in the administrative interface, but data can still be stored in them (via questions on forms, for example), and the data that's already in them is not deleted.
You can unhide custom fields and questions by clicking the View Hidden Items link at the bottom of the list and clicking Restore in the custom fields and questions sections.
You can also delete the data in a custom field by clicking the red trash icon to the right of the custom field name. When you click the icon, it will prompt you to confirm that you’re deleting all the data in that custom field. The custom field will no longer appear on activist records or with values on resulting reports. Be careful with this action, it cannot be undone.
If you want to have a lot of custom fields and want to see them all, you can download a report on this. At the bottom left of the Custom Fields section, click 'Download custom fields statistics report'. This will generate a report on all the custom fields in your group and how many activists have any value in that custom field. It will also include any notes people have attached to the field. This is useful for data mapping. If you download your custom field report for example and see that you have a number of fields with no records attached, that could be an opportunity to hide those fields. This allows you to maintain good data hygiene for your list and keep your data clean.
If your group is part of a Network, you can syndicate custom fields to child groups.
If you syndicate a custom field to a child group, the value for the field on an activist is now locked. If you change it in one group (either the parent or any children), it will change in all of the others, rather than going up from child to parent as it would normally do in a network.
When you syndicate a custom field that already exists on child groups, activists on those groups will assume the value for the field of the parent. The syndication will "cover" the already existing value. If you later unsyndicate, that old value will re-appear.
Custom fields can also have optional validation, which are regular expressions that validate the data coming into the custom field, and reject data that doesn't match. To add a validation on a custom field click the Add Validation" button next to its name in the custom field's list. To edit an existing validation or remove it, click the Edit Validation button.
In the window that opens you can add or edit the validation for the field, or remove validation. Start by choosing the validation you want to use from the dropdown menu. We have some built in validations you can use for things like US phone numbers (ex: 465-985-3864 would pass validation, 645-9378 would not) or dates (06/09/2010 would pass validation, June 2 would not), or you can write your own regular expression to validate in a custom way. Enter a description as well, so you know what your validation does. Click save to save your validation. The field in the custom fields list will note that it has a validation and show your description so you remember what the validation does.
If a custom field has validation it will not accept any data that doesn't match the validation. On front-facing places where custom field data is entered, such as petitions or other actions that collect custom field data or when adding or editing activists individually, if the data does not match validation a red error will appear and the form will not be allowed to submit until the error is fixed. You should be sure to explain what format you require on actions like petitions, so your activists know what to do when they see the red error. On backend-facing operations like the API or uploads, data that doesn't match the validation will be discarded and not added to an activist's record.
If a field is in a network, the validation only applies to the field on that group, so the data could be accepted on a child group and rejected on a parent or vice versa if different validations are applied at different levels. If you have syndicated the custom field to children (rather than the question), then validation will apply at all levels.
For reference, the regular expressions used for built in validations are:
- US Phone Numbers:
/^\s*(\+?1-?)?\(?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))\)?\s*[-.]?\s*[2-9]([02-9]\d|1[02-9])\s*[-.]?\s*\d{4}\s*$/i
- Valid Date:
/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/i