Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
IEG4’s Low Code eForms Designer (eDesigner) with Local Government as a Platform (LGaaP) enables business-users to build and deploy intelligent online forms rapidly, add custom-built rules and integration to existing systems, and connect online forms to payment systems without code (No Code). Access to a library of 250+ forms and membership of the eDesigner forms community (LGaaP) comes with the product and created forms can be shared between authorities.
Not only do all councils do the same things, more or less, but it is also true that all departments in all councils do those same things. In any one council, there may be dozens of departments, and there are hundreds of local authorities. And they may be all doing things slightly differently, all with their own systems and software – an approach which might, if we were being kind, be described as, at the very least, inefficient.
Back in 2015, the director of the London Office of Technology & Innovation (LOTI) Eddie Copeland, then working for the Policy Exchange, imagined a scenario where local authorities would no longer design and/or buy their own online services – because those software services were essentially doing the same ‘things’ (see above) as in every other local authority. Instead, software services would be available in an ‘app store’, having been created by different organisations, and would be used by ‘dozens or even hundreds’, of local authorities. This would, because of economies of scale, be more efficient (i.e. cost-effective, saving councils money). The ‘store’ Copeland described is available now from IEG4 as a part of subscription to the eDesigner service (LGaaP).
Our approach is that, whilst councils do like to do things their own way, which means there is, inevitably, some reinvention of the wheel going on – it is also true that more and more councils are happy to share. And through IEG4u, IEG4’s citizen portal, they are able to make forms they’ve built for ‘things’ (see above) available for other councils to see, and share.
This means that, from day one, users have access to a library of in excess of 250 forms. So, this really is a ‘Council in a box’ and represents an opportunity for local authorities to make a step change forward with their digital strategies, wherever they are in the journey. This may be to get started on a coherent digital strategy, or to pull a number of disparate departmental approaches together.
Because not only do councils get access to the forms, but also the forms share the same coherence, the same look and feel – making it easier for citizens accessing the council to recognise and navigate through a form. And if citizens find it easier to use online services, then channel shift, digital transformation, really does happen.
IEG4 has an entire library of digital services provides a ‘Council in a box’ represents an opportunity for local authorities to make a step change forward with their digital strategies, wherever they are in the journey.
These come as a part of being licensed to our OneVu or eDesigner services. Content within the online forms can be edited using the built-in text editor. This means that question wording, guidance notes and help text will be editable by individual councils to suit their own needs. This includes the ability to support additional languages e.g. Welsh.
Services/forms are continuously being added to the Local Government as a Platform (LGaaP) store by customers using the eDesigner module and any of the forms in the library can be added to / manipulated with eDesigner (if this is licensed) too. Forms cover all of the following departments with some examples :
• Council Tax (e.g. Request a refund/Report a death/Evidence Upload)
• Benefits (Two Homes Payments/Overpayment Arrangement)
• Bins & Waste (Request an Assisted Collection)
• Business Rates (Summons Payment Arrangement/Evidence Upload)
• Customer Services (COVID – Request Assistance/Comments, Complaints, Feedback)
• Environmental Health (Report Fly Tipping/Report Graffiti)
• Housing (Housing Needs Enquiry/Report Housing Disrepair)
• Human Resources (Job Application/Report Absence)
• Licensing (House of Multiple Occupation Licence application)
• Miscellaneous (Parking Waiver Application/Visiting Team Referral)
• Planning / Building Control (Building Control inspection request/Report planning breach)
• Social Care (Report domestic violence)
The following is the full list of online forms IEG4 provide and our customers have built. Forms built by customers can be shared across councils to avoid re-inventing the wheel and benefit from a community of users:
Simply make a request through the help desk:
If you've built a new form you think others would be interested in please let us know on the eDesigner Microsoft Teams Board here:
This list of forms also includes the powerful product forms IEG4 provides so as to enable one to understand the vast scale of the library.
The vast majority of forms are available at no charge, however, we do reserve the right to charge for the more complex forms, with 25% of any charge returning to the originating council (in the form of a credit against IEG4 invoices) to recognise the effort that went into these by the council.
In order to facilitate the actual secure trusted instance, we need to create a Form Alias. This can be found in the Forms section of System Management as shown here:
When you click on this you can Create a new form alias (or trusted instance of the form). To create one you need provide a Name, Friendly Name, Description and whether it requires a logon or not. You will likely set this to Yes for all trusted/council access to facilitate a logon which enables the user details to be passed to the back office. Here we can see a Form Alias that has been created for the Credit Union:
So one can see that it is possible to click on the Details option to access the URL for the Alias. This URL is the one that should be provided to either Council staff or the Trusted party in question. I.e. It is possible to set up as many Aliases up as you’d like:
You’ll notice that in the Alias you can see the word Credit Union exists in the URL to reflect that it is an alias of the main form. You can also see that the Alias is restricted and therefore a logon is required. This will be how you would want to set all trusted access i.e. with it set to Y:
Sometimes you want to create a form that is based heavily on another. Cloning a form takes seconds.
Simply open the Form Details page for a form - this will be the one with the URLs for the form.
Click the 'Clone' link:
The system will automatically append the words 'Clone of ....' whatever the original form's name and description was. You can keep this or more likely rename to reflect its purpose:
Once cloned the copy, renamed or otherwise will appear in the form list.
No two forms can have the same name
In order to add Govmetric Feedback capture to your forms you simply need to go to the Resources tab of form Management and search (Ctrl + F) for 'Footer'.
When you've found it:
Click on it and copy/paste your script in:
We've now added no-code support for Civica Pay.
The functionality provided enables you to:
Add a fixed cost payment item control e.g. Black Bin is £35.00
Add a user entry based payment control e.g. Council Tax payment where the user enters in any amount
Add a payment summary where the total of all payments in a form are summarised and passed to the payment system i.e. a Shopping Basket
CivicaPayTsbBaseUrl
This is the URL end point fo the payment system's URL. eDesigner enables you to build forms that integrate to payment systems without any technical knowledge.
You get this info from Civica.
CivicaPayTsbCallingAppIdentifier
This is first of three identifiers for Civica Payment system integration.
You get this info from Civica.
CivicaPayTsbCustomerID
This is second of three identifiers for Civica Payment system integration.
You get this info from Civica.
CivicaPayTsbCustomerPassword
This is third of three identifiers for Civica Payment system integration.
You get this info from Civica.
Important
The thing to also be aware of is that we need to set your payment preference to Civica PAY. So if you wish to use this function please tell us at:
A payment item is a fixed price item that a person can buy.
If you choose to add a payment item the following options are presented:
The Field Label is what is shown to the customer when buying it in the form.
The Item Catalogue ID is more commonly known as the fund code but its terminology in Civica Pay.
The Item Reference is the specific payment item reference number of the item.
This manifests itself as illustrated below:
You can, of course, use conditional rules to dynamically show which payment items are presented to customers should you have multiple payment items but only one/or a selection of the total is/are relevant based upon circumstances.
On moving to Civica Pay - we can see the details pushed across:
A user entered payment control enables the citizen to type in the amount that they wish to pay.
For this option there are a variety of additional fields that relate to controlling what a user entered amount looks like and its label.
I.e. the format of the numbers they can enter is controlled by a regular expression. We'd say keep this as it is as it's the standard format for currency based entry. You can also add validation and mandatory warnings too:
Above we can see that there's also an option for 'User entered reference'. If this is clicked there are the following additional options which provide you with control over what the format of the reference is in terms of:
Minimum / Maximum Length (E.g. 5 minimum 8 maximum)
Regular Expression (E.g. must start with a 4 contain 6 or 7 numbers but the final one can be x)
Failed Validation message to present if the validation rules above are not met
Mandatory warning text which if present make it mandatory and vice versa removing it makes it optional
If the user types things in wrong you can thus present messages:
A payment summary automatically tallies up any payment relevant payment items/user entered amounts and acts like a shopping basket.
The only thing required when adding a payment summary is a field id and should you support a different currency (unlikely!) the ability to change the currency symbol:
This is presented like so where two items were requested on earlier pages:
Important
When adding a payment summary remember that it:
a) MUST be after any pages containing payment items/user entered payments
b) MUST be on a page that does not contain any payment items/user entered payments
You can have other content on a payment with a payment summary - just not other payment items.
In early 2021, Councils became able to use the Ordnance Survey APIs to search for addresses at no cost.
These APIs are documented here:
Reflective of this, IEG4 has created a no code address look up function that is fully integrated to these APIs and this enables non-technical staff to add an address look up to all of their forms.
To add the address look up it's as easy as adding a section and selecting the address selection per below:
The ability to place an address search into forms that is able to search the entirety of the UK.
The default option, now that it is free to councils is 'Ordnance Survey'.
Simply click to save and you've set up an address section, which is capable of integrating with the Ordnance Survey.
There is a setting that controls the style of the address look up. The setting is:
CustomAddressProviders
The two modes available are:
TypeAheadSearch (this is the default) - set the value within the setting config to "Style":0 i.e. [ { "Enabled":true, "Name":"Ordnance Survey", "Type":"API KEY", "Style":0 } ]
If this option is enabled, as the user types in an address or postcode, it will instantly start searching for addresses.
This provides a smart way of dynamically getting the results as the user enters their address.
Postcode set the value in the setting config to "Style":1
If this option is selected the customer needs to enter a postcode and then physically click a search button.
We'd recommend using this method.
In order that this can be set up by the IEG4 team, we need to have the council's API key for this. This is free to councils now and simply needs you to create an account per below:
.Once you have this simply provide the details to IEG4 support:
This address look up is specific to Hackney Council.
Hackney Council has a RESTful API that is open and combines LLPG/NLPG data to facilitate an address look up. We have modified our eDesigner solution to facilitate the use of this API.
To add the address look up to a form navigate to design mode and click 'Add Item':
Add a section as shown here:
Select Address Fields from the list of section types:
Give it a field id, click 'Use address lookup' and select Hackney address lookup as the provider:
Follow these three simple steps and you'll have added an address look up to your form:
1) For some postcodes more than one property with the exact same information is returned. The API should clearly not do this. Example below where the postcode BS5 8DD was used:
api/v1/addresses/?format=simple&postcode=BS58DD
{"line1": "23 ST GEORGES AVENUE","line2": "ST GEORGE","line3": "BRISTOL","line4": "BS5 8DD","town": "BRISTOL","postcode": "BS5 8DD","UPRN": 256024},{"line1": "23 ST GEORGES AVENUE","line2": "ST GEORGE","line3": "BRISTOL","line4": "BS5 8DD","town": "BRISTOL","postcode": "BS5 8DD","UPRN": 256024},{"line1": "23 ST GEORGES AVENUE","line2": "ST GEORGE","line3": "BRISTOL","line4": "BS5 8DD","town": "BRISTOL","postcode": "BS5 8DD","UPRN": 256024},
2) Postcode is shown both the line4 element of the address as well as the postcode element.
3) Addresses are not ordered as a human would expect to interact with the results. For example, when you give the postcode BS5 8DD you get results ordered as follows:
{ "data": { "address": [ { "line1": "1 ST GEORGES AVENUE" }, { "line1": "10 ST GEORGES AVENUE" }, { "line1": "11 ST GEORGES AVENUE" }, { "line1": "15 ST GEORGES AVENUE" }, { "line1": "16 ST GEORGES AVENUE", }, { "line1": "20 ST GEORGES AVENUE" }, { "line1": "21 ST GEORGES AVENUE", }, { "line1": "22 ST GEORGES AVENUE", }, { "line1": "23 ST GEORGES AVENUE", }, { "line1": "5 ST GEORGES AVENUE" }, { "line1": "6 ST GEORGES AVENUE" },
{ "line1": "7 ST GEORGES AVENUE" }, { "line1": "8 ST GEORGES AVENUE", }, { "line1": "9 ST GEORGES AVENUE", }
], "page_count": 1, "total_count": 36 }, "statusCode": 200 }
This means the address results are ordered like this for citizens searching for their address:
1 ST GEORGES AVENUE
10 ST GEORGES AVENUE
11 ST GEORGES AVENUE
15 ST GEORGES AVENUE
20 ST GEORGES AVENUE
21 ST GEORGES AVENUE
22 ST GEORGES AVENUE
23 ST GEORGES AVENUE
5 ST GEORGES AVENUE
6 ST GEORGES AVENUE
7 ST GEORGES AVENUE
8 ST GEORGES AVENUE
9 ST GEORGES AVENUE
Given that many applications would all need to code workarounds to the above foibles it is much more logical for the API to sort the above list as follows:
1 ST GEORGES AVENUE
5 ST GEORGES AVENUE
6 ST GEORGES AVENUE
7 ST GEORGES AVENUE
8 ST GEORGES AVENUE
9 ST GEORGES AVENUE
10 ST GEORGES AVENUE
11 ST GEORGES AVENUE
15 ST GEORGES AVENUE
20 ST GEORGES AVENUE
21 ST GEORGES AVENUE
22 ST GEORGES AVENUE
23 ST GEORGES AVENUE
And to not have duplicates/triplicates.
Environmental service requests enable things such as:
Fly Tipping
Pest Control
Food safety and hygiene
Animal welfare and more
Any applications where you can integrate with no code are included here.
This optional feature enables a council to map content to a specific XML format and then:
Save it to a server location securely from the cloud to your network
Post it to an API URL securely from the cloud to your network
Email it securely to your network
To provide some examples, Cambridge City Council have successfully integrated forms with the Northgate Council Tax system and High Peak Borough Council integrated environmental health
The next three articles will walk through how you do each with no code.
Where you are accessing large bodies of text - for example, Guidance Notes you will have access to a full rich text editor, which is shown below:
As one can see a user can then easily go in and change content to be whatever is required. With the tool bar there are a huge amount of formatting options.
Making text bold, italic, underlined, shadowed
Add bullet lists/numbered lists
Left/centre/right justify text
Add images/tables/horizontal lines
Plus it is also possible to add additional languages where multiple languages require to be supported. When an additional language is selected another editable box will then appear and the translation can be added. The following illustrates this where Welsh was added as another language:
Where you wish to edit a page name there is a single line to edit as it would not make sense to provide the rich text editor:
All of the forms within here have inbuilt content management. This enables you to add and edit:
guidance notes
question wording and help text associated with questions
declaration / privacy statements
explanatory text when a person saves or submits their online form
With this capability you can quickly and easily make updates to a form, without needing help from IT/the web team, as and when it is required:
Alternative language support
With the content management functionality, it is also possible to support alternative/additional languages e.g. Welsh.
Within the form management area it is possible to create users and assign different roles, which in turn provide different privileges.
To create a user simply click on the Create button at the foot of the 'Users' screen.
When creating a user there are the following options:
The purpose of the different roles is outlined below.
Groups are no longer used so you can ignore this functionality.
To ensure appropriate access can be provided to users, there are 6 specific roles in System Management. These are:
Form Content Editor Full Access - this will allow users with this role to be able to use the edit mode feature within the development environment of a form. I.e. they will be able to update guidance notes, help text, question wording, evidence paragraphs, declaration content etc.
Form Developer Full Access - this will allow users with this role, where eDesigner is licensed, to be able to have access to the Design Mode button on forms and there fore build / edit their own forms.
Management Full Access - this will allow users with this role to be able to access System Management and therefore have access to publish forms from one environment to another, add/edit user permissions, change settings, change file content, change resources and update the password policy.
Portal Full Access - this role is no longer used.
Restricted Form Access - this role is only appropriate if the council provides 'Aliases' or copies of a form to other departments or external organisations and you want to limit the access of this alias to specific users. I.e. you might want to make a restricted version of say the eClaim and provide a link to the Citizen's Advice Bureau. Normally they would just be given the link. But it is possible to lock this down further by making the alias restricted to a set of users. If this is done they will need to be given this role.
Admin - this is a super user role where all of the above permissions are available. This should be provided sparingly to a limited set of users.
The following options enable you to change the security of the retrieval of in progress forms:
Inbuilt content management enables localisation by council staff
Mobile-responsive with any device using Bootstrap industry standard
Add business logic into the page of an eForm
Automated PDF generation of eForm content for audit or signature
Forms' xml/pdf can be transmitted via secure web services to back-office apps
Forms are stored in the portal for reporting/channel management
Forms may be shared with other authorities via IEG4's LGaaP
Accessibility - WCAG2.1 support is built-in, navigate using keyboards/speech-enabled assistance
No code document management integration
No code integration to IEG4's OneVu and OpenProcess services
No code payment integration
No code maps integration
No code Microsoft Bookings integration
No code Microsoft Dynamics 365 integration
No code Symology Insight (Highways Asset Management) integration
Reporting to enable analysis of all online services and new forms built are instantly available to report upon
Non-IT users can build online forms rapidly using no code enabling technical resource to focus on other council priorities
Enhance citizen engagement with intelligent and simple to use online services
Maximise revenue rates with simple to implement payment capture in forms
Digitise the entirety of your council's services and the benefits associated through access to IEG4's LGaaP library of services
Data quality is improved by virtue of enhanced validation and dynamic questioning
Reusable sections of content and lists ensure building new forms is rapid
Improved decision making on resources based upon insights garnered from reporting
Local authorities can allocate and monitor processes to external organisations
Form management such as publishing content from one environment to another and changing settings, configuration and branding, is all done within the dedicated Form System Management application.
SecureRetrieveNumberOfLetters
This setting controls the number of letters that need to be present within the password the user sets up I.e. you can control the number of letters the customer needs to provide in their password.
SecureRetrieveNumberOfDigits
This setting controls the number of numbers that need to be present within the password the user sets up I.e. you can control the number of numbers the customer needs to provide in their password.
SecureRetrieveNumberOfNonAlphaNumeric
This setting controls the number of non-letter or number based characters that need to be present within the password the user sets up I.e. you can control the number of special characters the customer needs to provide in their password. E.g. !@£$%^&*()
SecureRetrieveCaptchaControl
This provides the ability for you add a captcha control to the form retrieval process. The purpose of this is to completely remove the capability for repeat brute force hacking capability.
TransactionNumberMode
This setting adds the means to support a cryptorandom type for the reference number generated in the form. This should be used where you wish to leverage the new functionality provided for the reference number.
TransactionNumberRandomStringLength
This is an existing setting and is that which controls the total length of the reference value generated upon starting a form.
TransactionNumberRandomStringCharacters
This allows you to set the actual characters that can be used in the random generation of a reference. The default characters used are:
BCDFGHJKLMNPQRSTVWXYZ
However, you can use whichever you want e.g.
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Would ensure upper, lower, and numbers are used in a reference number. If this were the case for an 8 digit reference number it could look like this:
4qApf5Xc
But it important to note that these characters could be anything i.e. you could set this to:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@£$%^&*()_+|~
Meaning that an 8 character reference number could be:
CaptchaControlSiteKey
This is set by IEG4 and should not be edited by you
CaptchaControlSecretKey
This is set by IEG4 and should not be edited by you
SecureRetrieveCaptchaControl
This is set by IEG4 to google and should not be edited by you
Some illustrations of these
Example 1 - changing the reference number format
In the following example, the settings are set such that:
TransactionNumberRandomStringCharacters is set to: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
And
TransactionNumberRandomStringLength is set to: 24
The combination of these mean that the reference number will be 24 characters long and contain a mixture of the a-0 character list. See how this is created below:
As one can see this is absurdly long but does illustrate the flexibility you now have.
Example 2 - Password modifications
If we set these settings as follows:
SecureRetrievePasswordOnly true
SecureRetrievePasswordLengthMin 7
SecureRetrievePasswordLengthMax 12
SecureRetrieveNumberMixOfUpperAndLower true
SecureRetrieveNumberOfLetters 3
SecureRetrieveNumberOfDigits 1
SecureRetrieveNumberOfNonAlphaNumeric 1
Then it means the person will only be allowed to proceed if there are a minimum of 7 characters, a maximum of 12 and it should have a mixture of upper and lower case letters. There needs to be at least 3 letters, 1 number and 1 special character. I.e. with the above the following would be allowed:
All0w3d#
But:
all0w3d# would not as there needs to be upper / lower case mixture
All0w3d would not as there must be 1 special character
Al03d# would not as it is below the minimum of 7 characters.
I.e. an enormous amount of flexibility is present.
Where a person erroneously provides a password that does not meet the rules they will be presented with a message that reflects how you have set the settings. The following screen shot:
Is where the minimum is 8, max is 16 and 1 letter and 1 number is provided. I.e. the help is dynamic.
When the person wants to retrieve their saved form or go to add additional evidence they will need to provide their reference number and their password. They need to provide both of these at the same time now meaning both are required to be correct in conjunction with one another rather than previously where they were checked in isolation.
If the person provides incorrect details on either the following is presented. I.e. it tells them they have done something wrong but for security does not explain what they have got wrong:
VERY IMPORTANT
Any current in-progress forms without security questions will become un-retrievable when this is enabled. This creates a catch 22 but basically at the point at which you go live with this you will likely have some in progress forms where this is the case. These users will be unable to retrieve their claims from that point onward so will need to start a new one. So you may want to email them or make it clear for 1 month post the change on the guidance notes of the launch page that they will need to start a new one.
Also and mainly for information, the answer (password) the citizen provides now have true password box behaviour, meaning characters are masked as they are entered.
Example 3 - Captcha when trying to retrieve an online form
When the following setting is google and the associated values are added by IEG4:
SecureRetrieveCaptchaControl
The following will be present on the online form in the 'Continue a form' section:
When clicked the user needs to answer the visual questions like this below:
Setting Name
What it does
SecureRetrievePasswordOnly
When set to true this will mean that a person cannot use Mother's maiden name, NINO or first school as a password. The only option will be 'a password of your choice'. It is this option that is subsequently affected by the settings below.
SecureRetrievePasswordLengthMin
This allows you to change the minimum length of the password the user must provide. The default is 8 digits long.
SecureRetrievePasswordLengthMax
This allows you to change the maximum length of the password the user must provide. The default is 16 digits long.
SecureRetrieveNumberMixOfUpperAndLower
This setting when true means that the password they provide must contain a mixture of upper and lower case characters. I.e. if the password was 8 digits long and set to IEEGFOUR it would not be allowed if this setting was true. But iEEG4FOUR would.
Depending on what is being edited you will have the ability to save the text change the scope to be at Page/Form/Global level using the drop down to the right of the text editor. Global - If the scope is saved as global then this text is shared across all forms. Global scope is only available where the editing is taking place on a page that is a shared across forms. The shared pages are as follows:
Launch
Who Are You
Save for Later
Declaration
Submitted
The benefit of saving something globally is that you can ensure consistency across many forms. Say for example you have 100 forms and you want the help text on email address to be the same. Saving this change globally means all 100 forms are updated instantly. However, please be careful when using Global as you could affect other department's forms without their knowing if you make a change globally. So always save content to page unless you know you specifically want to save something across all forms. Form - If you only want to change the text for this particular form then change the scope to Form. The only real use case of this is the title of a form. I.e. if you want to change the name of a form, you will want to change it for every page and so you would select form. Page - If you only want to change the text for this field on this particular page then change the scope to Page. This is what you should use all of the time unless you specifically know you want to save something to more than the place you're doing the change.
Where this is the case, the number of combinations for an 8 digit reference increases significantly to:
1,113,034,787,454,976 (1 quadrillion)
For perspective if a hacker were to try every second to get into your data it would take them 35,294,101 (35 million) years to go through each combination.
IEG4’s forms enable citizens to save their form and access them later. When using this function, the user is provided with a reference number to use to return to their form.
The reference number is generated at random and, by default, is eight characters long comprised of consonants. However, it is possible to:
Add a prefix / suffix to this e.g. FORMS-DYNGMSKW
Make it as long as desired e.g. changing it to 12 characters DYNGMSKWYNFG
Make it numeric e.g. 3040340304
Change the characters to be whatever you want i.e. if you can change the default use of consonants instead use: abcdeABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@£$%^&*()_+|~
A resulting reference from this could therefore be: 4~£DSS39@. So, the flexibility is enormous. Additionally, we provide support for you to add additional security and DDOS prevention measures through the following features.
When retrieving a saved form, by default, the user will only need the reference number they were given. This is the default behaviour because:
forms tend to be completed in one go and with only a few exceptions across the many hundreds of forms the value/sensitivity of the data is virtually zero to someone, and
we need the right balance of user experience, pragmatism and risk.
Nevertheless, because some services are longer/more likely to be saved and thus more likely to be more data rich, additional form retrieval security options are available. You can enable security questions to be asked which are additional to the form reference and these include:
Name of their first school
Their mother’s maiden name
Their National Insurance Number
A password of their choice
It is possible for you to set the minimum length of the password of their choice, as well as whether it should include special characters and a mix of upper and lowercase letters.
When enabled the following will be present on the online form in the 'Continue a form' section:






In order to add a hyperlink you need to first go into the form in the Development environment and use the Edit Text function to open Edit Mode. Once you're in edit mode select the paragraph that you wish to edit. Within the editor click as shown below:
Once this has been clicked you will be presented with this prompt:
To ensure this opens in a new window change the Target to 'New Window'.
You can also add in a hyperlink that will automatically launch an email:
In order to do this you need to edit, copy and paste the following HTML and place it where it is required. <a href="https://www.ieg4.com/" target="_blank">The text that should be underlined goes here</a>
Replace https://www.ieg4.com with your URL. The bit that says target="_blank" ensures that this link will load in a new tab/window
The following is a list of all of the settings that are available, that would be set by you and what they do:
Name
What does it do?
EmailFrom
This setting enables you to set the from address for emails sent to customers when forms are submitted etc. E.g. donotreply@yourcouncil.gov.uk
ToAddress
This setting enables you to set an email address that completed online forms should be sent to for internal purposes.
CcAddress
This setting enables you to set an additional email address that completed online forms should be sent to for internal purposes.
BccAddress
This setting enables you to set an additional email address that completed online forms should be sent to for internal purposes.
SendApplicantEmail
This setting when set to true will ensure citizens will be sent an email when submitting their forms.
EmailEvidenceUploads
This setting when set to true will ensure when a form is submitted and evidence was uploaded during its completion, that said evidence is attached to the email sent internally.
ApplicantEmailIncludeAttachments
This setting when set to true will ensure when a form is submitted and evidence was uploaded during its completion, that said evidence is attached to the email sent to the citizen (provided the SendApplicantEmail and EnableFormPDF setrrings are also enabled). The Form PDF will also be included as an attachment to the email.
EnableTopValidationSummary
If this is set to true a person will be provided with a summary of all issues on a page when they have not completed all mandatory fields or not completed things properly. This will appear at the top of the page.
EnableBottomValidationSummary
If this is set to true a person will be provided with a summary of all issues on a page when they have not completed all mandatory fields or not completed things properly. This will appear at the bottom of the page.
EnableSavedForLaterCustomerEmail
This setting when set to true will ensure citizens will be sent an email when submitting their forms.
DisableValidationOnPreviousButton
This setting when set to true will enable a customer to move backwards from the current page even if there are issues on it. This is useful because sometimes they may have made a mistake and need to go back to change earlier answers.
TransactionNumberMode
This setting adds the means to support a cryptorandom type for the reference number generated in the form. This should be used where you wish to leverage the new functionality provided for the reference number.
TransactionNumberCasing
This allows the reference number to be in upper or lower case. The default is Upper
TransactionNumberPrefix
Appends a prefix to a reference number e.g. if this setting was set to HB a reference number would be like this: HBZQAPFYXC
TransactionNumberPostfix
Appends a suffix to a reference number e.g. if this setting was set to HB a reference number would be like this: ZQAPFYXC-CT
TransactionNumberRandomNumberMin
Sets the minimum number of characters in the form reference
TransactionNumberRandomNumberMax
Sets the maximum number of characters in the form reference
TransactionNumberRandomStringLength
This is an existing setting and is that which controls the total length of the reference value generated upon starting a form.
TransactionNumberTransmissionTimeout
Controls the time in minutes that a session will be kept
EnableSecuredRetrieve
This is the setting that, if set to true means a person requires to provide an additional security phrase on top of the reference number to access their form.
The user can choose which type of additional phrase to provide from these types:
Name of your first school
Your mother's maiden name
Your National Insurance Number
A password of choice
SecureRetrievePasswordOnly
When set to true this will mean that a person cannot use Mother's maiden name, NINO or first school as a password. The only option will be 'a password of your choice'. It is this option that is subsequently affected by the settings below
SecureRetrievePasswordLengthMin
This allows you to change the minimum length of the password the user must provide. The default is 8 digits long
SecureRetrievePasswordLengthMax
This allows you to change the maximum length of the password the user must provide. The default is 16 digits long.
SecureRetrieveNumberMixOfUpperAndLower
This setting when true means that the password they provide must contain a mixture of upper and lower case characters. I.e. if the password was 8 digits long and set to IEEGFOUR it would not be allowed if this setting was true. But iEEG4FOUR would
SecureRetrieveNumberOfLetters
This setting controls the number of letters that need to be present within the password the user sets up I.e. you can control the number of letters the customer needs to provide in their password
SecureRetrieveNumberOfDigits
This setting controls the number of numbers that need to be present within the password the user sets up I.e. you can control the number of numbers the customer needs to provide in their password
SecureRetrieveNumberOfNonAlphaNumeric
This setting controls the number of non-letter or number based characters that need to be present within the password the user sets up I.e. you can control the number of special characters the customer needs to provide in their password. E.g. !@£$%^&*()
SecureRetrieveCaptchaControl
This provides the ability for you add a captcha control to the form retrieval process. The purpose of this is to completely remove the capability for repeat brute force hacking capability.
TransactionNumberRandomStringCharacters
This allows you to set the actual characters that can be used in the random generation of a reference. The default characters used are:
BCDFGHJKLMNPQRSTVWXYZ
However, you can use whichever you want e.g.
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890
Would ensure upper, lower, and numbers are used in a reference number. If this were the case for an 8 digit reference number it could look like this:
4qApf5Xc
But it important to note that these characters could be anything i.e. you could set this to:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@£$%^&*()_+|~
Meaning that an 8 character reference number could be:
4~Apf5X!
Where this is the case, the number of combinations for an 8 digit reference increases significantly to:
1,113,034,787,454,976 (1 quadrillion)
For perspective if a hacker were to try every second to get into your data it would take them 35,294,101 (35 million) years to go through each combination
BrandedHardCopyStylesheet_v2
This is a setting that typically will need to be added by IEG4. Once added it enables you to have a custom CSS file linked to the format of your PDFs. This means you can customise the look and feel of your PDFs.
You simply type the Branding folder and the CSS file e.g.
IEG4/pdfcustombranding.css
ContrastStylesheet1_v2
This allows you to use your own custom light high contrast stylesheet. Simply create a custom stylesheet and then place it in a branding folder.
You then simply type the Branding folder and the CSS file e.g.
IEG4/contrastlight.css
ContrastStylesheet2_v2
This allows you to use your own custom dark high contrast stylesheet. Simply create a custom stylesheet and then place it in a branding folder.
You then simply type the Branding folder and the CSS file e.g.
IEG4/contrastdarkmode.css
EnableDeclarationCheckbox
This will always be set to true and ensure your customers need to click a declaration check box to agree to the terms of your declaration.
EnablePrintConfirmation
This should always be false as it was superseded by the declaration check box option.
EnablePrintableDeclaration
This should always be false as it was superseded by the declaration check box option.
ShowPrintConfirmationInPerson
This should always be false as it was superseded by the declaration check box option.
AddressLookupAvailable
When true this means wherever an address is present it will use an address look up.
AddressLookupType
This will be extract or API based. This will be superseded in 2020 when national address look ups are made open source
ShowGenderQuestion
When set to true a customer will be asked for their gender on the Equalities page if this is present in forms.
ShowAgeQuestion
When set to true a customer will be asked for their age group on the Equalities page if this is present in forms
ShowBeliefQuestion
When set to true a customer will be asked for their religion on the Equalities page if this is present in forms
ShowSexualOrientationQuestion
When set to true a customer will be asked for their sexual orientation on the Equalities page if this is present in forms
ShowDisabilityQuestion
When set to true a customer will be asked for their disability status on the Equalities page if this is present in forms
ShowPreferredMethodOfContact
This controls whether the 'Select your preferred method of contact' is shown in forms on the 'Who Are You' page.
UploadWhiteList
This is a setting for the Upload of evidence in forms. This controls the types of files that are permitted. This list would normally only be used if a specific type of file is allowed, as the black list is present below to prevent any disallowed file types. File types are added using their extension and multiple types can be added by separating them with a comma. For example if only MS Word documents were allowed you could add the following: doc,docx
UploadBlackList
The black list is the list of files which are NOT allowed to be uploaded. This allows specific file types known to be commonly used for viruses to be listed
UploadSizeLimit
This allows one to specify the maximum size of any single file in bytes. I.e. 10000 is roughly 10MB
UploadTotalQuota
This is the maximum limit of ALL files uploaded i.e. roughly 30MB is what it is set to now but can be changed by you.
EnableAutoActionRetry
Sometimes the back office will be down and as a consequence we keep a copy of a file for it to be re-processed. We’ve recently added the ability for the system to automatically attempt to repost items where the back office is down. Thereby saving any manual intervention needed because of down time in the back office.
WaitMinutesBeforeActionRetry
This is the amount of time in minutes before the system will attempt a retry
ActionRetryMaxDaysCutoff
This the maximum number of days the system will attempt to repost a file if it continues to fail
ShowAssistedQuestions
When set to true an additional question will be asked at the bottom of the 'Who Are You Page' which is whether someone is assisting the person. If yes additional questions are asked.
InProgressReminderEnabled
This controls whether email reminders are sent to customers.
InProgressReminderFormAgeHours
This is the period of time that should elapse from when the customer last accessed/save their form before a reminder is sent. Clearly they need to have provided an email address on the 'Who Are You' page for this to work.
InProgressReminderSubjectTemplate
This is the subject of the reminder email that will be sent.
InProgressReminderBodyTemplate
This is the body of the reminder email that will be sent to the customer.
EmailIntegrationFailureEnabled
Setting this to true means integration failures will be sent to the email recipient set in the next setting.
EmailIntegrationFailureRecipient
This indicates whom will be sent integration failures. I.e. you type an email address here.
EmailIntegrationFailureTemplate
This is the content of the email that will be sent. This tells the officer which form it was, which reference and which type of integration failure it was.
MapsApiKey
This holds the Bing Maps API Key for users with eDesigner that are adding map controls on to their form.
TreatStartPageAsWhoAreYouPage
This enables you to use the 'Start' page as the page which captures the email address that will be used for Save For Later and Submission email receipts. This setting is: TreatStartPageAsWhoAreYouPage
Internet browsers are optimised for speed and consequently have various processes to increase the speed at which pages are loaded. One of these is holding a cache of the state that a web page was previously loaded to be able to load it quicker the next time you go to the web site.
The backend code for the forms also caches form content for the same reason and usually when you make changes to the form and publish them, this is handled automatically. However, there are some changes which may require a manual clearing of a browser or server-side cache in order to see your latest changes.
It is possible to add a coversheet to the start of any online form by adding the following setting to it in System Management.
IncludeCoverSheetStart
I.e. Go to Settings then either:
a) Select the form you want to add it to specifically or
b) Don't select a form and add it therefore to the global settings
The latter option will mean EVERY form will have a cover sheet.
To add the setting simply scroll to the bottom and click 'Create'.
Then give the setting the name IncludeCoverSheetStart and set the value to true.
This will then enable this in the development environment for you to test it.
.css files are commonly cached by modern browsers so if you have made a change to the content of your selected branding file you may need to clear your browser cache to see the change. This is different from clearing the server-side cache as discussed next.
There are a couple of different ways to clear your browser cache
On a desktop/laptop type Shift + F5 or Ctrl + Shift + r to get a fresh copy of the webpage and ignore cached content
Open the form in an ‘Incognito’ window
If, however you have selected for a form to use a different stylesheet altogether, you will need to clear the server-side cache because the name of which stylesheet to use is stored in a global eGovHub setting.
If you edit a setting or resource in eGovHub Management, you are changing it in the database and the cache is not automatically updated. As such you need to clear it so that the new value is retrieved when the form is loaded up and there are a few different ways to do this.
If you have edited a global setting or resource that could be used by all forms then in the Framework tab under Shared framework, click ‘Clear’ under Development Environment and on the next page click ‘Clear in-memory’
If you have many V2 product forms this may take a little while because each form has its own cache. Also, if that form has not been used in a while it will have been unloaded from the server memory to optimise resource usage.
If you have changed a setting or resource for a specific form only then you can do the above, or you can just clear the cache for that form. For example, if it is a change to the Integrated Bulky Waste Collection form, again go to the Framework tab but this time look in the Framework sites table for BulkyWasteCollection (Integrated) in the Development environment and click the Clear cache button in this row.
The actual content of the text on the coversheet can be manipulated by you too. To do this go to System Management > Resources:
Press Ctrl + F and search for coversheetstart.
Click the link where it says CoverSheetText to open the content. The default will look like this:
<div class="coversheet"> <div class="question coversheet_started_on">
<span class="prompt">This form was started at: </span>
<span class="answer">**STARTED_ON_DATE** **STARTED_ON_TIME**</span>
</div>
<div class="question coversheet_completed_on">
<span class="prompt">This form was completed at: </span><span class="answer">**COMPLETED_ON_DATE** **COMPLETED_ON_TIME**</span>
</div>
<div class="question coversheet_form_classification">
<span class="prompt">Internal form classification: </span><span class="answer">**RISK_SCORE**</span>
</div>
<div class="question coversheet_openprocess_state">
<span class="prompt">Openprocess state: </span>
<span class="answer **OPENPROCESS_STATE**">**OPENPROCESS_STATE**</span>
</div>
Internal form classification relates to Risk Based Verification in Benefits so you might to choose to delete this section from the global, forms wide resource:
<div class="question coversheet_form_classification">
<span class="prompt">Internal form classification: </span><span class="answer">**RISK_SCORE**</span>
</div>
Openprocess state relates to whether a form was completed inside our outside of OneVu. Therefore if you don't want this you would remove this section:
<div class="question coversheet_openprocess_state">
<span class="prompt">Openprocess state: </span>
<span class="answer **OPENPROCESS_STATE**">**OPENPROCESS_STATE**</span>
</div>
As a user you could change the bits in bold to be something else, for example:
<span class="prompt">Form Started</span>
<span class="prompt">Form Submitted</span>
<span class="prompt">Office Info</span>
<span class="prompt">Was completed inside customer portal or not?</span>
With Edit Mode it is possible to:
Make optional fields mandatory
Make mandatory fields optional*
Update the text displayed to customers for mandatory question warnings
Hide questions completely*
Update the text shown for validation warnings
*Questions that are required for back-office integration will not be able to be optional or hidden.
Where a question does not affect back-office integration it is possible to:
Change its wording
Make it optional/mandatory
Show it/hide it from the form
Change the help text in the same place
In the screenshot below one can see that the question is:
currently optional because the mandatory checkbox is not checked
shown on the online form because the 'Show on the online form' is checked
So to reverse these behaviours it is as simple as changing the checkboxes correspondingly.
Where this is the case it will be made apparent to the user as shown below. I.e. the message 'Due to the National Schema requirements this question cannot be optional or hidden':
However, in this case, there is a validation error and as such, it is possible in this case to change the validation message that is in place.
The default validation is shown but the user is to add a custom version within the 'Fails validation error' checkbox.
The Resources area of Form System Management, contains all of the content in the form including:
Questions
Whether they're optional / mandatory
Validation warning messages
Help text
Help text/guidance
Email content
Drop down /check box/radio button options
You can use Resources to:
a) Quickly find and edit a resource
b) Add JavaScript to support things like Google Analytics
Editing resources is as simple as:
a) Finding the resource you want
b) Clicking on it in the 'Resource Key' column
For example, a common use case for updating Resources is the creation of custom email receipts. Below we can see in the Resources screen there's a drop down to select a specific form. If left blank this shows all resources that are not form specific.
We can see at the top the 'DefaultEmailBody' and 'DefaultEmailSubject' are there. So if I want to change the content of these I simply need to click on the hyperlink for each resource:
This provides a UI like the following:
This can be either plain text like the above, or a rich HTML email template like the following:
Which results in an email like this:


It is possible to send in progress reminders to citizens that save forms but don't submit them within a customisable time range.
There are 5 settings for each environment that you can alter yourself in eGovHub System Management > Settings:
Name
Example Value
Description
InProgressReminderEnabled
true
You can enable or disable the reminders by setting this to true or false per environment.
InProgressReminderFormAgeHours
72
You will also need to contact help.ieg4.com to ensure that the service that sends in progress emails reminders is running.
This is advice on how you can set up / change the emails sent to customers when they save a form for later and when they have submitted a form. The specific example relates to the emails when submitting a Track and Trace Isolation Payment Claim, however is equally applicable to other forms.
Within System Management click on the Resources tab.
Then select the form Test and Trace SIP per below:
Then locate these four resources. Just scroll down to find them:
The first two relate to the body and subject of the email that the customer sees when saving the form.
The second two relate to the body and subject of the email that the customer sees when submitting the form i.e. the receipt.
Simply change the words but don't change any of the <p> etc.
And insert the URL of your form/guidance etc.
<p> Hello, </p> <p> Thank you for choosing to complete our Test and Trace Self-Isolation Payment application form online. </p> <p> You have chosen to save your form to complete later. </p><p>Please use the reference number below to retrieve the information you have entered so far. </p> <p> [Reference] </p>
<p>Click this link to back to the form <a href="Your Form URL goes here" target="_blank">here</a> </p>
<p>Thank you,</p>
<strong>Your Council</strong>
<br>
<a href="Link to Coronavirus goes here" target="_blank">Coronavirus Guidance</a>
<p> Hello, </p> <p> Thank you for choosing to complete our Test and Trace Self-Isolation Payment application form online. </p>
<p>We will be reviewing the content you have provided as quickly as possible. If we need anything more we will be in touch.</p>
<p>Thank you,</p>
<strong>YourCouncil</strong>
<a href="Link to Coronavirus goes here" target="_blank">Coronavirus Guidance</a>
You can include placeholders in your email which allow you to bring in dynamic data from the WhoAreYou page of the form.
Currently, the list of placeholders is as follows:
[Firstname] [Surname] [NationalInsuranceNumber] [AddressLine1] [AddressLine2] [Postcode] [DateOfBirth] [FormUrl] [FormTypeName] [Reference] (this is IEG4 Form reference) [ClaimReference] (this is the Back Office Claim ref for Housing Benefit claims and will only work on the HBAA form, as it will not be present in HBNewClaim)
It is possible to enable two-factor authentication to add further security.
This can be provided via the following:
Microsoft Authenticator
Google Authenticate
Authy
The default value for this setting is set to '72'. Therefore only the forms that have not been modified for 72 hours or longer will receive a reminder, this can be changed to whatever you feel is best suited. If the value was set to 0 it would process every form that is in progress, even if the last time it was modified was 5 minutes ago.
InProgressReminderSubjectTemplate
Reminder to complete your form - Form reference: , Form type:
You can set the subject of the email to whatever you wish
InProgressReminderBodyTemplate
Thank you for starting a form. You can complete this form by using the reference number: .
You can set the body of the email to whatever you wish.
InProgressReminderProcessingStartDate
2017-12-10
This setting is to stop old forms being processed, for example if you have incomplete forms that date back to 2015 you may decide that you do not want these to be sent an email as they are so old. If the value of this setting is left empty it will only process forms that have been modified in the last week. You can set the date to whatever you feel most suitable e.g forms that have been modified in the last 6 months. The format must be 'yyyy-mm-dd' e.g 2017-06-28.
For all services, which are not customer facing we now have the means to provide 2 factor authentication. In the context of OneVu this would be:
OneVu Control (Management area)
Customer Service Vu
Forms Portal
I.e. places which back office staff can access content and user information and or case data.
Best practice built in
Part of IEG4's product strategy is to use government best practice and, within its technical strategy, to ensure we take a standards based approach to the things we do.
To that end when building two factor authentication we have provided via two mechanism that both hold true to the strategic elements mentioned.
The two mechanisms are:
Via SMS (leveraging GOV.UK Notify)
Via an authenticator app (Microsoft, Google, Authy)
It is enabled by IEG4 and you will need to request it to be enabled via the help desk i.e. here
Functionality provided
When this functionality is enabled a person logs in as normal and shown below:
The user then has the ability to choose between getting a code sent in a text message and using the authenticator app.
Note that it is possible to limit this to being just SMS / Authenticator App or both by each application.
Integration via SMS
Leveraging GOV.UK Notify we are able to send text messages to users. If a user select this option they will be presented with the following the first time they access it. I.e. their phone number needs to be captured and associated with their user account before they can enter the two factor code.
We have purposefully made this a combination of 6 letters and numbers for additional security.
Note
In order to use this function you need to:
a) Provide us with a Template ID in Notify
b) Add the content we provide you to this template
c) Be aware only the first 25,000 SMS from Notify are free of charge.
Integration via an Authenticator App
We have provided support for three distinct authentication apps.
Microsoft
Authy
In practice your organisation is likely to use Microsoft as its 2nd factor authenticator but have support for all three.
So when a user chooses the Authenticator app option they will see this:
In order to connect the authenticator app to a user's account they scan the QR Code and this creates the link. This is a one off process and at the point of making the connection for the first time the code they are provide is then entered in the confirmation box.
As Microsoft will be the most common client local government and the NHS we show below how this works. So in the Microsoft Authenticator app there is an Add Account function.
The user selects 'Work or school account' and the camera is triggered to scan the QR Code.
The user once connected will be given a code and it is this that is entered.
The linking via QR Code is a one-off activity.
Security is a core tenet of the design of our systems and it is why this functionality has been built for our local government and health customers.
It is possible to change the branding of the following to match your council's own corporate branding:
The online form itself
The document presented when reviewing answers at the end of a form before submission
The resulting PDF from the form submission
As a result there is a dedicated 'Branding' section within the Form System Management application:
When you enter the Branding area you will see a list of all of the product services you have. This is because it is possible to have the same or different branding for each form.
If we click 'Select' for one of these forms we see the following:
To enable organisation of different CSS files you might use there is the ability to create branding folders which is what the above is. It is possible to create a new folder by simply clicking the option of 'New folder' above.
If we click on the 'John' folder we see this which shows the available CSS files:
To create a new CSS file it is simply a case of clicking the 'New file' option:
You MUST add .css to the end of the file name.
When you've added your CSS file, you can go and edit its contents. Once you're happy with the CSS file, it is a case of ticking the 'Use this file as the active stylesheet' check box. Doing so controls adding this branding for the form itself:
You don't need to do this - this is for added customisation/localisation.
As mentioned before it is possible to also change the branding for:
The document presented when reviewing answers at the end of a form before submission
The resulting PDF from the form submission
To do this you create CSS files as shown above but don't check the box 'Use this file as the active stylesheet.
Instead, what you need to do is update two settings with the name of the CSS file(s) you've created. I.e. go to the Settings tab of the Form System Management.
The setting:
BrandedHardCopyStylesheet_v2
Enables you to change the branding of the PDF output. The way you add the setting this is as follow:
Where the Branding folder is John and the CSS file for the PDF is Guide.css.
As this is a setting, to push it to test/live you need to publish the form.
The setting:
BrandedImageStylesheet_v2
Enables you to change the branding of the Review Your Answers output. The way you add the setting this is as follow:
Where the Branding folder is John and the CSS file for the PDF is NewReview.css.
As this is a setting, to push it to test/live you need to publish the form.
With the exception of branding of the PDF/Review Your Answers content, in order to publish content from one environment and indeed one form to another, you use the 'Copy to other sites' function.
This is against every product form/eDesigner because there can be different CSS folders for each product form and another for eDesigner.
To copy content from say the eClaim development environment to test and live you click the following:
Then click the other environments for that form to copy to and press Save at the foot of the page. This action will make whichever CSS is active in the Housing Benefit new claim folder, active in the Test and Live environments, as well as copying any CSS changes across:
Each form has the following functionality in terms of emails. An email is sent to the citizen whenever:
They have provided an email address and
They save their form for later or
They submit their form
John/Guide.css
John/NewReview.css
The Forms Portal provides council officers with the ability to:
Search for forms by:
Form reference
First name/surname
Form type
The Environment (Development/Test/Production)
The status (In progress / Live)
Date range
This is shown below:
For ‘In progress’ forms, the portal enables council staff to:
View:
When a form was started / last accessed,
The citizen’s name and address,
Any ‘save for later’ emails sent,
Any documents that have been uploaded,
As well as being able to:
Open their form exactly where they left it off and
Send an email to the citizen (where one was provided in the form)
Lock the form so it cannot be completed by the user
For ‘Completed’ forms, the portal enables council staff to:
View:
When a form was started / submitted,
The citizen’s name and address,
Any ‘save for later’ emails and the submission email sent,
A PDF version of the completed form,
As well as being able to:
Send an email to the citizen (where one was provided in the form)
Re-process an integration
When you want to move content and settings from one environment to another e.g. Development to Test you will need to publish either the form in question or the framework. You should publish the form when you have:
Changed the text of a page specific to the form - i.e. NOT shared pages - see below
Changed any settings specific to the form
Changed any resources specific to the form
To publish a form it is simply a case of opening the forms area of System Management and selecting the form you want to publish. Then click on the Publish link to the right of the Development Environment section for the form in question.
The user can then add details of what was changed to merit the need to publish.
To publish the framework one follows the same steps as for a form but it is done in the Framework tab of System Management.
You should publish the framework when you have:
Changed the text of a shared page.
The shared pages are:
Launch
Who Are You
Save for Later
Declaration
I.e. if you change some guidance notes on the Declaration page and want these to be published you need to publish the framework. You should also publish the framework when:
You have changed a setting that is not specific to a form
You have changed a resource that is not specific to a form
Settings and resources that are not specific to a form are those which appear on the Settings/Resources pages in System Management when a form has not been selected from the drop down.
For example, the setting 'InProgressReminderEnabled' is not specific to a form and so needs the framework to be published.
Submitted
How long has been spent on the form so far including how long has been spent on each page of the form,
The browser type, and
The IP address the form was accessed from.
Any files created to send to the back-office (XML/JSON/CSV files where applicable),
The outcome of integrations, including being able to see the response provided from the back-office application API where appropriate,
Any documents that have been uploaded,
How long the form took to complete, including how long has been spent on each page of the form,
The browser type, and
The IP address the form was accessed from.
Sometimes, you no longer need a form, or wish to use a newer, better version of it.
To archive a form, access Form Details and click on the Archive this form link:
Once clicked the following 'are you sure' type message will appear:
When the form is archived, it disappears from the main Form List. However, if you click the 'View archived forms' check box, it will display these with a red suffix (archived):
Once archived, two options appear in the Form Details screen:
Un-archive this form
Delete this form
Obviously un-archive will restore the form back into use.
IMPORTANT
If you choose to delete the form it is gone forever.
Building powerful, simple to use forms with eDesigner is simple and effective.
On this page we will outline the basics.
To create an online form, click Create at the bottom of the Forms page in Form Management and you'll see the following:
This UI is designed to enable you to not only name the form but to quickly set the length and specific pages needed.
Where the form is accessible in OneVu, the Name and Description will be shown to citizens. So it's important that you ensure the name and description are intelligible and devoid of jargon.
The following illustrates these being completed and we will explain below what these mean:
Include a navigation bar - If this is checked a navigation / progress bar will appear on the left hand side of the form (on larger screens) and as a menu on mobile devices.
Include a guidance notes page - If this is checked a page to present guidance to citizens will be added
Include a who are you page - If this is checked a page to request details of name, address, NINO, date of birth etc. will be inserted into the form
What kind of 'who are you' page? - There are two types of these:
a) A standard IEG4 version, with a fixed set of questions that cannot have custom questions added
b) A blank version, which allows you to add whichever questions you desire
Include this many blank pages - this is the number of pages additional to the pages that have been selected in this stage.
Include an equal opportunities page - If this is checked a page to ask for ethnicity, disability, race, gender questions
Include a declaration page - If this is checked a declaration page that includes a 'review your answers' and a consistent (but editable) declaration page.
Once you have selected the options you want for your form you will be taken back to the list of forms on the form page. Find your form and click on the highlighted name of the form, which is a link e.g.
When this is clicked on initial creation, you will see a table illustrating the current version of the form in each environment:
Development will normally be the only one with anything in it on a brand new form. As the form is published to test and ultimately production (live) version numbers/increments will show.
To get access to the URLs click on the Name of the form again. There will only be one link and this will be for the development environment. As the form is published to test and ultimately production (live), two other URLs will be created.
The following shows the Form Details page and the URL for the development environment version of the form:
We will now walk through the various functions of eDesigner.
Once you have clicked on Add Item, you'll see the following UI.
To save adding this guidance for every item type you should know that any items that you add will need the following to be added for them:
Field Id - This is a unique identifier for that item within the form.
Field Label - This is where you place the question or label to go with the answer you wish to get from the citizen. This is required for everything except upload controls.
The other things you can control are show below the label below:
So you can:
a) choose to make the question mandatory or not
If it is mandatory you then need to provide a message to present to the citizen where they have not answered it:
b) Include help text against the question:
c) Show the content on the PDF output
The default for this is to be true i.e. checked. This means that the content will appear on the PDF created as a result of the form.
This is useful where you don't want officers working on cases to see all data especially where it is sensitive.
But this sensitive data could be mapped to OpenProcess for a supervisor or a-n-other team to see per below:
d) Map to a key information field in OpenProcess
This is used where you want to pass content from the online form directly into an OpenProcess workflow. You need to map the Field id to the OpenProcess Field Code.
I.e. the above Field id matches the Field Code per below:
Top Tip
Mapping eDesigner form content to OpenProcess is best practice because it means:
a) The data is visible to officers without needing to open up the form PDF
b) If OpenProcess Flex is licensed, you can use the content from forms to drive different branches in the process
d) If OpenProcess Data Export is licensed, you can export all of this data for interrogation and insight derivation
Specifically in the context of Form System Management, it is possible to set a password policy in the appropriately named 'Password Policy' area:
As one can see it is possible to set:
A special character as required
At least one number as required
Both upper and lower case letters as being required
Minimum length
The number of failed logins before lock out
There is also an option, if you have changed the policy recently to force a change of password - 'Force password change for new user'.
'Show Change Password button on login' ensures that you can enable staff to change their password when they want.
Importantly, for minimum length and number of failed attempts before lock out you can set the values for these.
If you cannot see this option please raise a support ticket via help.ieg4.com.
First, and foremost whilst there are three distinct form environments, you can only design a form in Development Environment.
Once you've clicked on the link in Form Details your form will load. As it is the Development Environment, you will see a login prompt and you must have the appropriate permission to access the form:
When logged in you need to go to a Designable page to start adding content.
Once on a blank page click the 'Design tools' option on the top right. This will result in a slide out panel of functions appearing:
Click the 'Start Designer' option and the panel changes to show the eDesigner functions:
Click 'Add item' to start adding content.
Sometimes you want forms to not open up within OneVu.
The most obvious of these is forms that involve payments as they cannot be accessed within an iFrame. Some of the forms in the waste and licensing areas involve taking a payment.
Control of this is done by environment in the following screen's function:
When clicked the following will be presented:
The three options will open forms opened in OneVu:
a) In an iFrame embedded inside OneVu
b) Replacing the OneVu content and loading the form inside the window in place of OneVu
c) Opening in a new window leaving OneVu in the state it was before
This screen also enables you to change the name presented to customers inside OneVu.
It is possible to limit access to the Forms Portal by IP address.
Please request this to be enabled on your environment via help.ieg4.com who will provide the details necessary to do so.
The Portal Admin function provides the ability to create secure user access to the eGovHub Portal.
Users can be added with permissions pertinent to their user profile and it is possible to associate a user as being able to only access certain forms in the eGovHub Portal i.e. a Benefits Officer could be limited to only see Benefits-related forms.
Groups
This area is to used to add and maintain Groups, which are used to control the access permissions of users within the eGovHub Portal and the eGovHub Portal Admin.
Add a New Group
To add new group click on the “Add a new group” button and then complete all fields.
The Permissions are:
Portal Full Access – this gives users within the group access to log into the eGovHub Portal. You then need to specify which forms they have access to using Service Areas
Administrator – this gives users within this group access to the eGovHub Portal Admin to be able to create Users, Groups and Service Areas
Reporting Change of Circs – this gives users within the group access to this specific report within Reportal
When you are adding a new group you can click to grant the applicable permissions and a tick will then appear alongside the permission:
Once you have selected the permissions click on the “Save” button and the new group will be added.
This will take you back to the list of groups (including the new one you have just added).
Users
This area is used to add and maintain eGovHub Portal users.
Adding Users
To add a new user click on “Add a new user” or “Add an existing user”.
“Add a new user” is to be used if the user has not been created in the IEG4 Single Sign On (SSO) environment previously.
“Add an existing user” is used to give an existing user to this IEG4 SSO environment.
An IEG4 Single Sign On (SSO) Account can, based upon permissions, provide single sign on access to:
eGovHub Portal
eGovHub Portal Admin
OpenProcess
OneVu Management
e.g. if the user you want to add to the eGovHub Portal is already a OneVu Customer Services user they will be an existing user rather than a new user.
Add a New Users
To add a new user click on the “Add a new user” button and then complete all fields. You will need to assign the user to at least one Group:
The user then needs to use the “forgot password” button to create a password to ensure they are able to access this service securely.
The user must respond to this validation email within 24 hours or the link deactivates for security reasons. If outside of the 24-hour period, the user can force a resend of this validation email by attempting to login using their email address and leaving the password field blank.
Add an Existing User
To add an existing user click on “Add an existing user” which will call the search to find an existing user using their email address:
From the email address entered the matching record will be displayed:
In order to give the existing user access click on the “change” button alongside Groups and then select the Groups that you wish to assign that user to.
Service Areas
Service Areas can be used to control which form users have access to in the eGovHub Portal. For example, you may want to restrict Benefits users to only having access to view information on Benefits-related forms in the Portal.
Add Service Area
To add new Service Area click on the “Add” button.
Type in the name of the Service Area and a Description, then click on the “Save” button:
The new Service Area will then be listed:
Once you have created a new Service Area you need to then link users and forms to the Service Area.
Click on the name of the new Service Area that you have just added:
You will then be able to add Users and Add Forms to the Service Area.
Service Area - Add User
To add a user to the Service Area, click on the “Add User” button:
Click on the drop-down arrow to search for the user and then use the checkboxes to:
Allow the user portal access to all forms in the service area
Allow the user reporting access to all form data in the service area
Notify the user when integration fails for any form in the service area (please ignore this option)
Once you have selected the permissions click on the “Save” button.
To add more users to the Service Area repeat the Steps above.
Service Area - Add Form
To add a form to the Service Area, click on the “Add Form” button.
This will call the form search:
Click on the drop-down arrow to search for the form and click to select a form, then click on the “Save” button.
This will take you back to the previous screen where you can see the form that you’ve now added to the Service Area.
Reporting HB New Claim – this gives users within the group access to this specific report within Reportal
Reporting HB New Claim Classic – this gives users within the group access to this specific report within Reportal
Reporting Change of Circs Classic – this gives users within the group access to this specific report within Reportal
Reporting All Forms Classic – this gives users within the group access to this specific report within Reportal
OneVu Customer Services
Reportal
Incidents
ReportIT App Management
If you opt for email, it will ensure that the format of the answer is a validly formatted email address.
In order to add Google Analytics to your forms you simply need to go to the Resources tab of form Management and search (Ctrl + F) for 'Footer'.
When you've found it:
Click on it and copy/paste your script in:
If you add it to a resource that is form specific you need to publish the form to live for the script to be in all environments.
If you add to a global, non form specific resource then you to publish the framework to test and then live for the script to be in all environments.
Where you want to ensure someone provides a numerical (integer) based answer the smart field type to use is Numeric text field as shown below:
To capture postcode in the correct manner, you can choose to use the Postcode field as shown below:
Because collecting accurate dates is important in the context of local government transactions, which often have statutory / legislative consequences, we have powerful no code functionality.
When one clicks to add a Date field type the following is presented:
There are three different version of date input available to you and these are controlled by the following options:
Display a single field instead of three separate fields
If this is checked (the default), the date will be a plain box and the user will enter the date in one string i.e. 01/12/2021.
If this is unchecked, it will appear as follows:
The boxes themselves illustrate the expected date format.
Date Display Type
This setting controls whether a calendar picker is presented or not. There are two options:
Text Input - where the customer types the date (this is the default)
Calendar Picker - where a customer can either type the date OR pick from the calendar that pops up:
You have the ability to control what a user can enter in terms of dates. This has TWO options.
The first is Static date validation.
To provide an example of this let's say you have a date field you want to add where the customer can only choose a date in a given financial year.
In this case today's date is not really relevant, what is though is the date range the customer can enter a date within I.e. for the past financial year the date range would be 01/04/2018 and 31/03/2019. This is how you can do this using the new date validation functionality where the range is static:
The second is the smarter Dynamic date validation
This is the one that will be used A LOT by you. So let's say you want a date field to not allow any dates:
earlier than 1 month ago from today AND
not allow dates any further in the future or later than 14 days away from today
The following illustrates how the new dynamic date validation makes this possible:
The drop down in the above which contains the 'Today' value can be changed to be:
Today
Yesterday
Tomorrow
Today is the default as it is most logical and likely to be used. The 'Operator' drop down can contain:
Plus
Minus
With the defaults set to minus/plus for earliest/latest respectively as it is most logical.
The time span drop down has options of:
Days
Months
Years
Weekly isn't there as one can, for example, use 21 days for 3 weeks.
Finally, note that it is possible to add validation to the earliest valid date but not the latest valid date and vice versa. And in the same vein you can also say for example:
Earliest date should be static and no earlier than 01/01/2019
Latest date should be dynamic and no more in the future than 3 months
If you want to ask for someone’s National Insurance Number (NINO) you can select this type and the question will automatically have built-in validation that corresponds to the rules about the format of National Insurance Numbers:
Note that you can choose to display the NINO as a single entry box or by unchecking 'Display a single line field instead of 5 separate fields'.
When this is unchecked we can see, in the screen show below:
That:
the format of the input fields reflects the expected format of a NINO
This option enables you to create questions which have lists in the following formats:
drop down,
radio button, and
check box
Add a Smart Field and the Date Text field option now has the options to Pre-populate with today’s date and set whether the field is read only
A new Resource has been added for Read Only fields to enable you to configure the indicator displayed for them. This will default to read-only but can be changed to blank if required.
It validates the data entered and where it does not conform to the expected format an error is presented.
It's best practice to use radio buttons for single choice options. Drop downs add an extra click and really should be limited where long lists are totally unavoidable.
The format is the same as other questions except that you need to create a list of options that can be selected. To do this click on the + icon on the top right of the drop down headed Options.
The first thing the user sees after clicking the + icon is this:
This allows the user to either create a brand new list or re-use one already saved to Your Items.
In this case we have created a brand new list, which can be see below. One can see that the list needs to be given a Name and Description.
Lists have two elements:
Option - what the customer sees
Value - what is used for conditions names and also what is mapped in XML where eMapper is used
Lists can be re-ordered and deleted quickly and easily using the action buttons to the right of the option. I.e. the up/down/cross icons.
If you've added alternative languages to your form, i should be noted that it is also possible to support additional languages with the list options too.
As mentioned when a list is saved it is then available anywhere else on that form. I.e. it will be present in the Options list:
If it is ‘Saved to Your Items’ then it will be accessible for all forms.
If you subsequently need to change the list, you simply select the list in the Options dropdown and then click on the little pencil icon top right of the drop down beside where you add a new list i.e. the + icon.
The option text within lists can be added as HTML and so it is possible to augment the format of these including the ability to add images to make the choice be an image rather than words. I.e.
Instead of adding:
Big Pothole as a list option
You could add:
This means the content of Bit Pothole is still there for screen readers/accessibility purposes, but if added for each list item you can have a nice visual 'list':
Plus, because eDesigner forms support bootstrap and fontawesome, it's also possible to add things like ratings in star format. E.g. The following is the same as five stars:
The following is the same as three stars:
If we add in the above ratings for one to five, like the above, we end up with this:
Smart fields enable users to add questions with answers that have built-in formats to remove the need for council staff to know how to ‘code’ this intelligent behaviour.
The list of Smart Fields supported are:
• Date fields
• Email Address
• National Insurance Number
• Numeric Text Fields
• UK Postcodes
• UK Telephone Numbers
• Sortcode
Each of these will ensure that the format of the answer corresponds to the expected format for it.
<img class="radio images"
src="../potholes_galore.jpg"
alt="Big Pothole"
aria-hidden="true"><span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span><span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star checked"></span>
<span class="fa fa-star"></span>
<span class="fa fa-star"></span>

There are three types of input field, beyond the smart fields of course, which are:
Text Field
The first option 'Text field' enables a simple answer to be provided in a single regular 1 line height box.
Multi-line text field
The second 'Multi-line text field' provides a larger text area where the answer could be large.
The third one is the most powerful
Test field with validation
This input field type enables you to create your own custom smart fields leveraging both the ability to:
set a minimum/maximum length as well as to set a
'Regular Expression' on a question's answer
For example:
In the above we can see that a minimum and maximum length have been set for the answer.
Plus, we can see a regular expression is present. The purpose, of this seemingly gobbledegook, is to ensure the format of the answer they provide is EXACTLY the format expected.
There is also a dedicated Failed Validation error message, which enables you to provide guidance if the person enters it in a manner that does not conform to the expected format.
To learn more about regular expressions have a read below:
To search for examples of regular expressions - so you don't need to learn them - please see here:
For a standard text field the format of the XPath is
//page[@id='page id']/field id (note this is case sensitive)
For Section fields the format of the XPath is slightly different as the field values are hardcoded and the Field ID is what you assigned to your Section when it was created. For example for the bank account validation fields the following is used:
Account number is : //page[@id='page id']/field id/AccountNumber
Sort code is : //page[@id='page id']/field id/SortCode
Example where "valid" is the FieldID for the Bank Account Details Section:
A new Resource has been added for Read Only fields to enable you to configure the indicator displayed for them. This will default to read-only but can be changed to blank if required.
Note: when adding pre-populated fields do not mark them as mandatory as otherwise the validation rules will be triggered and the data is not recognised.



The Sort code Smart Field, like National Insurance Number has the ability to request the data as either a single field or with three inputs that reflect the format of a sort code:
The default is for a single input field to be shown. However, if the 'Display a single field instead of 3 separate fields' is unchecked it will show it as follows, which is a much smarter and user friendly way of illustrating its format:
This option enables you to add in blocks of text wherever you want within a form. With a rich text editor to enable content to be added in how you like:
This can also be used to add in ‘alerts’ and ‘warnings’ etc. which can then be shown based upon conditions.
With a built in ‘Source’ option you can also add your own HTML and thus style any content added however you wish.
To ensure that people enter valid UK phone numbers use the smart Phone number field as shown below:
Shared Lists provide you with the ability to save a list for reuse over and over again.
You have the option when creating a list to 'Save to Your Items'.
It is as simple as clicking the middle button below:
When this is clicked you need to give it a name for the reusable version of the list:
This will then be selectable when, instead of creating a new list, you choose to add a list from your items as follows:
This is shown below:
Once you've added items to ' they can then be viewed/deleted in there.
Notes
1) Deleting a reusable list will NOT affect forms that have that list.
2) If you update a reusable list, the updated version will be available to select. It will NOT update forms that already had that reusable list on it.
Adding an upload control that is capable of capturing supporting evidence from the customer is as simple as providing it an id.
The evidence when uploaded can be:
Sent to OpenProcess
Sent to your EDMS
Sent to an
This provides you with the ability to save an entire section of questions/content for reuse over and over again. You can effectively create an entire page's worth of content into a section and thus be able to store custom pages in the form of these sections.
The following 'Save to Your Items' is now an option when you have selected to add the 'Grouped set of questions' option in the add a section function:
BUT you should press the Save button when you just add the section for the first time. Then go into the form and add all of the content you want to it. Once you've done that edit the section and choose 'Save to Your Items'. Saving it at the start means you'll save a blank section for reuse. Not the finished section with all of the content in it.
First we need to name it:
We then add content to the section:
Once done, we click the edit button for the section and this time click 'Save To Your Items':
This section can now be reused on any other online form.
Below, we've opted to add a section in another form. When we click the section type of 'Grouped set of questions (from Your Items)', we can see the re-usable AboutYou section is present:
Notes
1) You cannot have the same reusable section on the same page more than once.
2) Deleting a reusable section will NOT affect forms that have that section.
3) If you update a reusable section, the updated version will be available to select. It will NOT update forms that already had that reusable section on it.







When creating lists/sections of questions there is the ability to save these to ‘Your Items’.
Your Items is effectively a place to see all shared/reusable content. It is also where one can delete lists/sections, which are no longer required.
Here we see lists that have been saved for future reuse:
As well as a section of questions, which has been saved for future use:
How you save/add these in forms is covered in the next two articles.
Sometimes you need to add another page to your form after you've created it.
To do this simply click the 'Add a new page' button:
You need to give the page a name (this will be used in the URL), a title (which can be edited later if necessary) and indicate where in the form it needs to go:
Sections enable logical grouping of content together.
As one can see there are four types:
The ability to automatically repeat a set of related questions based upon a number a customer provides. E.g. A group of questions related to a child would be repeated 3 times if the question: “How many children do you have?” is answered as 3.
A section to allow related questions to be grouped logically.
A grouped section of questions can be saved to ‘’ for subsequent use.
The ability to place an address search into forms that is able to search the entirety of the UK.
The default option, now that it is free to councils is 'Ordnance Survey'.
Simply click to save and you've set up an address section, which is capable of integrating with the Ordnance Survey.
Read more here:
This provides the ability to insert a set of questions that were saved previously.
This powerful function means if you save a section with 30 different questions, it can be instantly be recreated. This is useful for council specific pages e.g. with privacy policy / GDPR related checkboxes to ensure consistency and ease of repeatability.
Read more here:
Form rules are added just like page rules.
The only nuance is they control the visibility of whole pages. E.g. rather than clicking the hide option click 'hide page(s)'.
When you do any pages which can be hidden will show. I.e. in the scenario below we will hide the page 'What did we get wrong' if the service was rated 5/5:
It is possible to have multiple form rules and thus make a 30 page form only ever be 5 pages to dynamically reflect a person's circumstances/scenario selected.
Important
InvalidAccountNumberErrorMessage
InvalidSortCodeErrorMessage
InvalidBankAccountNumberorSortCodeErrorMessage
The functionality requires 4 global settings which need to be set up by IEG4
BavaUsername
BavaCode
BavaValidationProvider : pcapredict
BavaUrl : url of IEG4 bank validation API
Be mindful of hiding the same page in different rules. The first one to meet the condition will be triggered.


This describes the process of getting the credentials required for eDesigner forms to read and write to a customers Microsoft Office 365 Calendars and Bookings APIs
The settings we require are:
Booking Business eg
Directory (tenant) ID eg 9688d675-**************
(Application) client ID eg a4db50fe-*****************
Client secret eg GTa************
The Booking Business is the email of your business in Microsoft Bookings
To create the rest of the settings log in to the Azure portal
For the next three settings you need to create an App registration
Registering your application establishes a trust relationship between your app and the Microsoft identity platform.
In the Azure Portal go to Azure Active Directory -> App registrations -> New registration
Enter a display Name for your application. Users of your application might see the display name when they use the app, for example during sign-in. You can change the display name at any time and multiple app registrations can share the same name. The app registration's automatically generated Application (client) ID, not its display name, uniquely identifies your app within the identity platform.
Specify who can use the application, sometimes called its sign-in audience. Select: Accounts in this organizational directory only
Don't enter anything for Redirect URI (optional). You'll configure a redirect URI later.
Select Register to complete the initial app registration.
Once created, go the the Overview of the App registration where you will find the (Application) Client ID and the Directory (tenant) ID
A redirect URI is the location where the Microsoft identity platform redirects a user's client and sends security tokens after authentication.
You just need
From Certificates & secrets, and a new Client secret. The secret Value is needed for the Client Secret setting
From the API permissions tab, add the following permissions
From the App roles tab create a role as below
For the final two settings you need to create a user.
The Username setting is the ‘user principal name’ and the Password is the login password
For this user, under Applications, add the Graph explorer application
And for Licenses, add the assignments of Azure Active Directory and Microsoft 365


Username eg edesignerbookings@ieg4.com
Password eg TN#***********
















Adding conditional logic is simple with eDesigner. Simply click the Page Rules option as shown below:
This then provides you with the opportunity to see the rules already on the page and the means to add more:
If we click the 'Add new rule' option we're presented with the following:
The rule designer is simple and intuitive where a user can:
Give the rule a name and description to clearly understand what it does
Add a condition based upon:
An answer to a question
An option that can be selected from a drop down list
A fixed value
Add multiple conditions that can can use IS / NOT / AND / OR logic
Indicate the question, who’s answer should be used in each condition of the rule
Support behaviour where none of the conditions are met I.e. the ‘ELSE’ option.
Show content based upon the conditions of a rule being met
Hide content based upon the conditions of a rule being met
Add to hide entire pages based upon the conditions of a rule being met
The following illustrates a simple rule / showing a question based based upon one question’s answer:
In the above, the user has said that if the question:
"Do you have any underlying health conditions?" is Yes then show the question (in the right hand side panel):
"Please provide some detail of the issues these conditions cause."
Notice that it is possible to 'Select all' of the content or 'Un-select all'.
When these are selected and the OK button pressed a count of the number of items being shown/hidden is added. I.e. in the above it has 'Show 1'. If this is clicked it then shows the content to show in this condition.
Example where a user is setting the answers to multiple questions in conjunction with one another will meeting certain content is shown/hidden. Here we can see the ability to use AND conditions too:
This section has been added at the request of a customer (she knows who she is 😄)
To illustrate how powerful rules can be, see the following:
South Cambridge District Council built a pre-planning advice service that takes account of tens of combinations of things to both ask the correct subsequent questions and calculate the price a person needs to pay. This one page has 16 rules set up on it:
And each rule has many facets to ensure that irrespective of the many different factors that affect the price to pay, they can support it:
This form was built by the communications team of the council not IT.
eDesigner comes with the ability to quickly and easily add conditional logic to your forms. It is possible to have many rules on each page of a form.
Rules can control the visibility of content on pages and the visibility of entire pages in a form.
The form is done by Page Rules
The latter is done by Form Rules
IEG4’s Digital Platform OneVu, which has a self-service citizen account, seamlessly integrates to all eGovHub online forms. Where a council has OneVu and an eGovHub form, that form:
Can be discovered by citizens within their OneVu account simply by the council setting it to visible:
Can be searched for using key words that you can link (without technical help) to the form e.g. “dumped mattress” could be linked to a fly tipping form or “change in wages” to a benefit change in circumstances form.
Where a council has IEG4’s OpenProcess product it is possible to create a task/case for a back-office user to complete from any eGovHub form without any code.
With OpenProcess you can link a form to a process simply by selecting the appropriate process you want to link it to via a drop-down unlike legacy EDMS/Workflow systems which involve the use of saving things to disk/indexing CSV files etc.
This can be used to enable back-office staff to know to work on the task but also to enable citizens to track the progress of their form where OneVu is licensed.
To do this access the following System Management screen and click the 'Actions' link for the form in question:
The answer really is - it depends on what you want to achieve.
However (!) to provide a simple way of understanding it (for me at least).
If you want to apply a condition based upon just one thing. E.g.
IF Question 1 = Yes then show 5 questions
You'd use ELSE IF = No or ELSE to cater for No.
I.e. if only one question's answer will be used to drive the conditional logic, you'd use IF, ELSE IF, ELSE.
However, sometimes you want to do things like:
IF Question 1 = Yes and Question 2 = No and Question 3 = 1 then show / hide something.
Whenever you're doing this you will definitely need to use AND conditions.
So let's say you had the following three questions:
Do you receive Universal Credit? – No
Will you be making a claim for Universal Credit? – No
Do you have any other income? - Yes
If you wanted to show something, say a free type box to provide details of the other income, you'd want to add a rule like:
IF Do you receive Universal Credit is No
AND Will you be making a claim for Universal Credit is No
AND Do you have any other income is Yes
Then show the free text box.
You might also therefore have an ELSE IF rule for this like so:
ELSE IF Do you receive Universal Credit is No
AND Will you be making a claim for Universal Credit is No
AND Do you have any other income is No
Then hide the free text box.
The Powerful Rules in practice example below illustrates an example of this.
Will be pre-populated with data held in their OneVu profile including:
Name
Date of birth
Address
Email address
Mobile phone number
In order to pre-populate these fields you need to make sure that:
1) The correct field ids are used:
Namely:
Firstname
Surname
AddressFieldsAddressLine1
AddressFieldsAddressLine2
AddressFieldsAddressLine3
AddressFieldsAddressLine4
AddressFieldsPostcode
DateOfBirth
MobileTelephoneNumber
2) The pre-populate this page option is checked
This is illustrated below. First click 'Pre-populate page' then click the 'Conventional OneVu' button:
Any page can be prepopulated BUT if you want the form to send an email receipt when they save the form or submit it, you need to ensure that the field for email is on either:
The 'WhoAreYou' page or
The 'Start' (the first blank page) page AND the following setting is true:
TreatStartPageAsWhoAreYouPage
Create the setting if it does not exist on the Settings page. This is done by simply creating the 'Create' button at the bottom of the Form Management Settings page.
OneVu MyArea
It is possible with no code to:
a) Add a Maps control to your online forms to capture geolocation
b) Push/pull geolocation data captured on the map into/out of OpenProcess
To add a map you need to click 'Add Item' in the Design Tools menu. This will appear similar to the following where the Map control is in the bottom row of the grid below:
When you click to add the map the following options available to you will be as follows:
Text search option label
Search
This is what the customer sees as the call to action to choose to search for the location rather than use their geo-location. See how in the map above this has been adjusted to be 'Search for the location'.
Text search option placeholder text
search
This is what is shown as a guide inside the search box. I.e. this disappears when the user starts typing in the search box.
My location option label
My location
This is the label shown for the customer to know to use their location. Hence in the above example this has been updated to 'Use your location' which is more intuitive.
Selected location coordinates label
Selected location coordinates
This is what is shown on the PDF adjacent to the coordinates
Selected location hyperlink label
The default location is the centre of London. So odds are you will want to change this. So easily get the latitude and longitude of a location go here:
Type in the default latitude and longitude and once done move the cursor on the map from London to the location you wish to. This will then give you the relevant location. For example, if I wanted to place the default location to be Lambeth Town Hall in London I would move the cursor on this map to here and I would then see where my default lat/longitude should be:
When a user selects to search for the location, we are using a real-time Azure Maps search meaning it is very powerful and can locate places anywhere in the UK in seconds.
The following illustrates an example of searching where it prioritises the results to be those closest to section of map currently in view:
If we consider the last search and look at Wimpole Mews, we can also leverage some other functions by virtue of using the Azure Maps API.
Where a user chooses to use their geo-location, it will the first time this is done request permission to use their location. If they deny this then clearly they will need to use the search function. If they accept it will automatically use the geo-location services on their device to locate them:
There is just one setting that are needed to make this work, which is your Bing Maps API key. The setting is:
MapsApiKey
To get the Bing Maps API key, you need to create a Bing Maps (free) developer account:
This will enable a basic API key to be retrieved. This allows 125,000 look ups per annum and is more than a council will need.
From eDesigner Release 2.18, released June 2025
From release 2.18 Bing Maps has been replaced by Azure Maps. Your Council may already have an Azure Maps app in which case the details of this should be shared with IEG4 so that this can be set up as the Maps provider for your Council. Alternatively a dedicated Azure Maps app can be set up on your behalf by IEG4 for use within eDesigner. There may be usage costs associated with this subject to volumes.
In the last article, we saw that it was possible to map 'Fields' from the form into an OpenProcess automatically without any code (or anything technical required).
It is possible to:
a) Map a geolocation point selected from a form and pass it to OpenProcess
b) Show details of existing tasks with a geo-location point held in OpenProcess on a map
First, you need to create a process, which has a Field type of Geographic Location, as shown below:
And ensure this is set as the Geotag Field in the Process Details tab:
Add an action to connect your form to the OpenProcess above, as shown in the last article and you will have linked your form to be able to trigger the process.
Now we need to link the map that is capturing the report location to the geotag we created for our process - so open your form and using Add Item add a map:
Once in Design Mode click to edit the map.
There, ensure to use the same code you got from OpenProcess in the Field Id as shown below:
To retrieve processes from OpenProcess, it is as simple as clicking the 'Get locations from OpenProcess' checkbox as shown in the blue outlined box below:
You can control, how far beyond the centre of the current map, it should look for OpenProcess processes.
Only processes, which have a Geotag set against them in process details in OpenProcess will appear in this list.
Once done these jobs will appear as red dots on the map as shown below.
Click the 'Advanced Create' button on the next screen to then see:
Select OpenProcessRequest from the list to then choose the OpenProcess Process you want to link to:
Press save to add the action and that's it - the form will now automatically create a process when the form is submitted.
Note that Development and Test forms will both go to OpenProcess Test
Note that if Customer Account is mandatory is checked the action will only be called if the form is completed in OneVu. It's therefore always best to uncheck this for testing purposes. Or you'll need to do all forms through a OneVu Account
IMPORTANT - if a form is completed outside of OneVu and a process is kicked off, the process will not have any context of who the person completing the form is. I.e. Email address/mobile number. Therefore it is currently not possible, with eDesigner built forms, to send notifications to the citizen from an OpenProcess where it was completed outside of OneVu.
Within eDesigner, where an action is already in place to create an OpenProcess per above, it is also possible to map form content to OpenProcess fields.
This is very useful because you can:
a) get rid of email inboxes managing tasks
b) ensure that the process is trackable online by citizens in OneVu
c) replace legacy back office case management apps
To pass fields into OpenProcess, when adding content there is a:
'Map to a key information field in OpenProcess'
Option as shown at the bottom of this screen here:
If you have already created fields in Open Process and wish to map data to them from the form then the value that you enter in the Field Id needs to match the OpenProcess Field Code that you want to map it to.
I.e. In OpenProcess, you can set fields. In this case the Track your pothole report has four fields.
The value you need to put in the 'Field id' when mapping to a key information field in OpenProcess from eDesigner is:
This is illustrated below:
Sometimes you want to present details of jobs you already know about to ensure that you can minimise the number of people reporting it. Especially if you can provide a target date for its completion etc.
In order to present outstanding jobs on a map, it first assumes you've already imported them using the batch import process, as documented in the 'Set up' section.
Once you have confirmed that the above set up has been done it is a case of accessing your map item, added as described here:
🗺️Maps - GeoPackThen set the 'Reported Issues source' to Symology and you'll see at option at the bottom to import outstanding jobs:
The user interface and functionality is the same within here as in:
Pulling assets into a mapThe nuance here is purely that the user has the ability to choose from the imported 'Outstanding Job Types available' rather than assets:
Again, one can add multiple of these where multiple types are imported. Once added these appear in the map, as an icon/pushpin per your preference. In this case we have a red pushpin:
Where the Council uses the IEG4 Customer ServiceVu product additional functionality is available to support Agent payments within the eDesigner forms.
When this functionality is enabled if a form is completed inside CSVu the form will recognise this and behave differently. Currently there are the following options supported:
Where the Payment Provider is CivicaPayLink the form will automatically link to CivicaPayLink for an Agent payment to be taken online prior to submission
Where the Payment Provider is DISABLED the Agent can process the payment directly in the payment portal prior to form submission and then enter the payment reference in a text box on the form and submit the form. The form will not link to the payment portal in this scenario.
Where the CapitaPaymentServiceViewPanEntryMethod is CNP the form will link to the payment portal and the CNP pan entry method code will be used.
Where the form is completed in OneVu or outside of both OneVu and CSVu the form will behave in the standard way for payments.
The following Settings should be added to the Form within eGovhub Manage
ServiceViewPaymentProvider
Disabled
When set to DISABLED this will prevent the form linking to the payment portal when used in CSVu. The Agent can add the payment reference into an optional field on the form. Note: this optional field needs to be added to the form in Design mode.
CivicaPayLink
When set to CivicaPayLink this will enable the form to auto direct to CivicaPayLink when the form is used inside CSVu
CapitaPaymentServiceViewPanEntryMethod
CNP
Valid values for this are CNP or ECOM and typically you would set it to CNP. If it has a valid value and a form is started from Service View then we will use this value in the PanEntryMethod when redirecting to Capita.
Selected location hyperlink
This is what is shown on the PDF adjacent to the hyperlink that will take a user to view the map of the location they specified
Mandatory
Blank
By default it is not mandatory. If it is mandatory a warning is needed see below.
Mandatory warning
Blank
You need to provide a warning contextual to the user.
Default zoom level
Blank
I'd suggest using a zoom level of 10. The lower the number the higher up i.e. further away from street level you start.
Default centre latitude
51.50632
See the notes below
Default centre longitude
-0.12714
See the notes below

Integration with Adelante WebSmart Connect Module (as documented in Issue 1.8 21-08-2014)
Functionality is the same as for Capita Pay360 with the following additional notes:
Fund Code: the fund code used in the eDesigner form must be a valid Fund Code on Adelante otherwise there will be an error when connecting to Adelante from the form
Item Reference: if left blank this will be populated with the Form Reference
RELEASE 2.9
This functionality was added in Release 2.9 of eDesigner.
Within this release we have enabled three new key fields to be passed as a part of an online form that contains a map.
Where there is another organisation responsible for a road/street, like Transport for London in the case of London Boroughs, there is now the ability to import a list of all streets with an indicator to set the organisation responsible.
The prerequisite is that you provide a file of addresses in CSV format and clearly indicate which column heading contains the responsible party. This value will be populated into the map's CustomField so it's obviously important this file is accurate/kept up to date.The three fields are as follows where {MapSectionId} is the field id of the map control in your form:
The following is an example of the field id and its location in eDesigner for your form:
In order to pass these three fields this function one needs to:
a) Have already provided us with an extract of all addresses and the responsible party/owning organisation
b) Check the 'Check nearest road to selected point' option as shown (second to bottom) below:
When this data has been set up and linked to an OpenProcess the following shows the three fields mapped - those directly below the map:
As these are key information fields these can:
a) Be used in conditional logic/rules
b) Be used as template fields in notifications e.g. Emails/SMS/WhatsApp/Messenger messages
c) Be used in document management templates (where the EDMS function is licensed)
Field Code
Field Name
Field Value
{MapSectionId}CustomField
{MapSectionId}CustomField
The value will come from the latest successful import of the Address Import file.
The value for the field will be set to the organisation field of the row where the responsible party/owning organisation field matches the closest street or road to the point selected on the map as derived by the Bing maps API.
{MapSectionId}LocationHyperlink
{MapSectionId}LocationHyperlink
This value will be a set to the raw URL that when pasted into the address bar of web browser will plot the selected point on a Bing map.
{MapSectionId}NearestStreetOrRoad
{MapSectionId}NearestStreetOrRoad
The value will come from the latest successful import of the addresses.csv file.
The value for the field will be set to the Address1 field of the row where the Address1 field matches the closest street or road to the point selected on the map as derived by the Bing maps API.
In order to present assets on a map, it first assumes you've already imported them using the batch import process, as documented in the '' section.
Once you have confirmed that the above set up has been done it is a case of accessing your map item, added as described here:
Then set the 'Reported Issues source' to Symology and you'll see at option at the bottom:
'Pull Assets From Symology'
If you click this option, you will be presented with the following UI. To assist with explanation, we have added some assets already.
The list of assets available to add are dictated by what has been imported.
See the Set Up article later to find out more.
In the example below we can see that the Benches asset has been added, as it lists any assets present on a map within the 'Which assets would you like to present on the map' summary:
We can also see that it is possible to set:
The 'Type of icon' with choices of:
Pushpin
This is the default option and is a small circular icon. If this is selected you also have the ability to set the colour of this.
You can use any of the standard colours available that are supported by browsers or any HEX Colours i.e. #000 is black to a computer, like in the above example. Read more at the links below:
The alternative to Pushpin is to use images.
Image
If you select this you will then need to provide a URL for the image:
Once you've set the type of icon, you need to indicate which fields from the Symology Assets extract you imported should be presented for each asset. In the example above we've said that all of the following should be presented:
Here we can see the Bench represented by the black pushpin:
We can also see that when it is clicked:
the details that we chose to present for that asset are visible
the user has the means to 'Select This' asset to report against
This is used when creating a job to know which asset to which a job relates
Here we can see an image icon was used to represent a bench:
When the 'Select This' button is pressed, a yellow circle is drawn around it to make it obvious:
It is also possible to have multiple assets of different types presented on one map.
I.e. rather than have a 'Report an issue with a Bench' you could have 'Report a Highways and Parks issue', which is capable of showing lots more asset types. It's also possible to have one asset showing as a pushpin and another as an icon, as shown with bollards and pedestrian guardrails as shown below:
Central Government is becoming smarter. It has recognised that there are common functions provided in local government and it makes sense for these to be commoditised to enable reuse across departments and across local government. To that end they've built dedicated functions to:
Take payments
Issue notifications (email/SMS/letters)
Confirm someone's identity.
These are the , , , services respectively. In its , IEG4 has already integrated to both PAY and NOTIFY and our intention is to leverage these wherever logical and of benefits across its products.
So in this release, we've built in the no code ability to build an online form that fully integrates to GOV.UK PAY. For some perspective, I was able to add a payment integration to a form and test it for the first time in less than 5 minutes.
The only technical element to this process is to add your council's API reference key as provided by GOV.UK PAY. You access these within your GOV.UK PAY account. You can create an account if your council has not already done so.
The settings within System Management you can update are as follows with the critical one being the GovPayBearerToken:
Important
The thing to also be aware of is that we need to set your payment preference to GOV.UK PAY. So if you wish to use this function please tell us at:
You can only have one Payment provider for your form's integration. So if you currently integrate using Capita/Civica payment gateways you can change it to GOV.UK PAY but this will mean all forms will thus have that payment mechanism too.
It's incredibly easy to add GOV.UK Pay integration to an online service once the above set up is done. It can also leverage the existing functionality dynamically change the amount to pay/sum a number of items and show them in a payment summary.
To illustrate we will build a form that allows people to sign up to a council's garden waste service. This takes a payment of £120.00 for the year.
So to start we've created a form:
We then go to the designer menu and click 'Payment Settings':
The above is for the actual GOV.UK PAY Description. Then to associate a monetary value with an item or items we need to add a payment item to the form. This is done by first selecting the following when adding an item:
The following is presented and we add Garden Waste Services as a 'Purchasable item'. This is to relay the amount of money that should be passed into the payment summary:
We then add a question to allow the person to opt in to receiving the service:
And add conditional logic (using Page Rules) to only show/add the payment if they select 'Yes':
Once done, we now have a form that will capture their opt-in, conditionally show the amount to pay and integrate to GOV.UK PAY. This literally takes seconds to do and we can see the description we added showing in the GOV.UK PAY Payment Summary on the far right image:
eDesigner's GOV.UK Pay plugin enables one to leverage use of the 'Custom Metadata' functionality in GOV.UK Pay.
This is described as follows:
"You can add custom metadata to a new payment. For example, you can add a reference number from your finance or accounting system, so you can reconcile the payment later.
You add metadata when you make an API call to create a new payment.
Your users cannot see metadata while they’re making a payment."
And you can read more about it here:
Essentially, as a council, you can pass additional, council-specific content to GOV.UK Pay whenever a payment is made on a form by form basis.
To access this open Click on the Design Tools button when in the Development environment of a form and click on 'Payment Settings' from the menu system:
Field names must be between 1 and 30 characters
You can have a maximum 10 custom metadata fields
String fields can be no more than 100 characters long
As well as the description that is passed to GOV.UK Pay, you will see there's now the ability to 'Add a new field' for Custom Metadata fields. The rules around these are provided at the top i.e.
When you click 'Add a new field' you're able to provide:
the name,
the value that should be populated,
the type (from a list of options that the GOV.UK Pay API supports)
The following illustrates an example set of 5 custom metadata fields:
What the above would mean is that the following additional content is passed to GOV.UK Pay:
Loqate Address look up is a premium function that uses natural language and intelligent algorithms to provide rapid and intuitive address search functionality.
You can read more about this here:
Adding this address look up is no different from the Ordnance Survey option, it is simply a case of selecting the other option when adding an Address Section:
For this look up there are no technical prerequisites as it is managed by IEG4.
This functionality is more powerful than the Ordnance Survey equivalent in terms of speed and intelligence but it also carries a cost. To find out more please contact:
info@ieg4.com
Creating a job in a back office application that removes rekeying on behalf of officers without any technical coding etc. is the holy grail for product development.
It's because enabling the complex to be made simple is remarkably hard to do. But with this plugin we have enabled non-technical users to map the content from eDesigner forms directly into Symology.
Within the map set up for Symology, click on 'Push Jobs To Symology' as shown below:
When you do so you will be presented within the following UI:
Important
The request type that we send can only come from one question's answer. Originally, it was thought that you could filter right down via multiple questions. However, as the Request Type has a 1 to 1 relationship with the question in the form you can only really have a single question providing the answer to the type of request.
The purpose of the above screen is to enable non-technical users to pass the content that the Symology API - SendRequestAdditionalGroupAuthenticated- requires to create a job in the back office application.
The following illustrates this screen populated to provide context when we walk through each of the different fields:
We will walk through each now:
User name
The 'User name' is the user name that should be used for the update audit in the back office
Service Code
This tells the back office the service area to which it relates. I.e. HIGH means Highways
Notice how the rest of the fields have a label (in blue e.g. Request Type) followed by two fields. This is because, RequestType is the thing that needs to be sent to Symology. But the form needs to know which page and question will provide it. It needs to know this because you could build a 100 different forms with different pages and questions and we need to cater for that.
So for each item in blue you have one drop down on the left to say the page it will come from and another to say which question/answer will provide it.
Request Type
This is the type of incident/issue being reported.
Location
A text based description of the location. Can be used to help with pinpointing the location. E.g. Outside number 20 on the high street.
Geo Location
The geo-location i.e. physical coordinates in Easting/Northing measurement.
Description
Any more specifics or details relating to the issue in question
Customer Firstname
The customer's first name (if provided)
Customer Surname
The customer's surname (if provided)
Customer Email
The customer's email address (if provided)
Once you've added all of these you're ready to set up the trigger to create a job.
To add an 'action' to a form, i.e. trigger something when the form is submitted, one needs to go to form details in Form Management:
Once you've clicked on that click the Advanced Create link and you will see the following:
Once done, the only thing you need to do is give the action a name.
Whatever you name, it will also shown in the screen below once you've saved it:
Now you can test submitting the form and seeing the updates in Symology.
When a form is submitted it can be viewed within the . Importantly, you can click on the 'Integration' tab and see the outcome of it.
Plus, on the 'Documents' tab there is a document called: api-input.json as shown below, which holds the details that were passed to Symology.
A sample file is shown below where one can see the fields mapped in creating a job - user entry fields are present.
GovPayBaseUrl
This is the default URL for GOV.UK PAY integration. This can thus be changed if this URL does change.
GovPayBearerToken
blank
This is the API key you get from your GOV.UK PAY account and is the only thing needed to be done by you in terms of set up of this function
GovPayPaymentUrl
v1/payments
This is the default endpoint for where we should pass payment info. This can thus be changed if this URL does change.
Symology Insight is an asset management application used by ~60 local authorities.
IEG4 has provided powerful no code integration to this application, which includes the pushing and pulling of data between an eDesigner form and the Symology Insight application.
The functionality largely extends the functionality of the existing maps plug in, but importantly also enables jobs to be pushed to the back office.
The high level functionality includes all of the following functions without any code:
Enhancements to the map control with the ability to:
"metadata": {
"vatCode": "N",
"vatRate": "0.00",
"ledgerCode": "GL",
"accountString": "30-0-9999-9999-99999",
"service": "Waste",
}{
"TextFields": [
{
"Id": "Request.UserName",
"Value": "CAC"
},
{
"Id": "Request.ServiceCode",
"Value": "HIGH"
},
{
"Id": "Request.RequestType",
"Value": "BLDM"
},
{
"Id": "Request.Description",
"Value": "There's a huge issue"
}
],
"LocationField": {
"latitude": "51.49068560236329",
"longitude": "-0.11641360221279928",
"id": null
},
"Documents": [],
"CreatedOn": "2021-12-13T17:08:36.067",
"Reference": "KZXFWJNK"
}Visualise the Council's Boundary and provide an error if the user selects somewhere outside the council
Import / Show Asset detail from Symology and control what is shown per asset type
Select an asset to report an issue with it
Import / Show outstanding jobs held
Report an adhoc - non asset based issue
Present a message where it’s a TFL Asset
The ability to create a job
We will cover each in the next articles.
The team at IEG4 have always had the ability to link online forms to back office EDMS apps. But this required this to be done adhoc through the database.
We've added the capability in eDesigner that you can create integration to your back office EDMS without code yourselves. This means you can build a form for any purpose i.e. for housing, council tax, benefits, trees, licensing, anything, and be able to:
a) save the PDF from the form to a file location
b) rename the PDF based upon data in the form or the IEG4 form reference
c) save a CSV related to the form which contains data that enables automated indexing, placing into the appropriate queue etc.
This has been proven to work with:
Civica DM360
Civica Comino
Northgate Information@Work
This is all controlled within a single new action called:
SaveDocumentAndControlCsv
To add an action you need to click on the 'Actions' link found here in Form Details:
Within there click Advanced Create and select the option :
There is a lot of control provided by this action and this means there are a lot of settings/options. We will walk through the ones you'll use and how to use them.
The following are the first set of fields:
The fields above are described below:
Name
Don't change this, as it what tells the form, which action to trigger.
Description
The Description is what will be shown in the Forms Portal when you look in the Documents tab.
Folder
This is the network location that the file should be saved to.
IMPORTANT - When a form is submitted it needs to arrive on your network securely. To do this your IT will have installed a service to ensure it is secure. This is called the Integration Proxy Service.
Why is this relevant?
1) This service needs to have access to the file location you specify. Or you will see this when you look in the Portal:
Access to the path '\\server\Imports\Test' is denied.
2) In a section later you need to get the information needed to make the action communicate via this secure mechanism - see Integration Proxy Settings.
Document Type
This will always be FORMPDF
Extension
This will nearly always be:
.csv
But we do know some councils have tns.
This is to specify the file format of the control file. See 'What is a control file' later.
By default, the filename of PDFs output from our online forms are like this:
QDDDTCMZ - Form.pdf
I.e. Form Reference - Form.pdf
However, for some EDMS applications the file is imported based upon the file name.
Therefore the following settings enable you to change the file name format. I.e. it is possible to have 5 elements in the filename.
E.g
CouncilTaxAccountNumber-IEG4FormReference-CTAXREF.pdf
So if the account number provided was 987654321 and the form reference was FHDSASUD, the filename would be:
987654321-FHDSASUD-CTAXREF.pdf
The options available to use for the filename are:
An XPath is a technical term () but the simplest way to understand it, is that it allows you to specify the location of a specific answer to a question in a form you've built.
This is really powerful, as it means any field in a form can be used in the filename or the control file output to maximise the level of automation you have. So let's look at an example:
xpath,//page[@id='whoareyou']/NationalInsuranceNumber,UNKNOWN
Three elements of this have been added to the standard format. These relate to:
The page the question is on
The specific question's id on the page to get the data from
What to add if this is empty not provided
So for the above example this question is here and we can see the page id is the page the question is on - as shown in the URL:
If you go into designer mode and click to 'Edit' the question you will get its 'Field id'. We can see below the Field id for the Council tax account number is NationalInsuranceNumber and why it is structured like the above.
So basically you just need to get the page name from the url and the field id and copy and paste them into place.
For info - if the file format was instead like this:
xpath,//page[@id='whoareyou']/NationalInsuranceNumber
If no value is provided to the answer instead of putting UNKNOWN in the filename/control file it will place the IEG4 form reference.
The reason this is really powerful is that XPaths can be added to multiple columns. Let's say you've built a form and it asks for licence reference. And it also asks for licence type in a drop down list. You can add both of these in the filename/control file to ensure it is automatically indexed the way it is desired in the EDMS. This will work for both drop down and radio item lists - not checkbox lists where multiple items could be selected. The format for the xpath setting where it is a list is slightly different.
logicalxpath,//page[@id='start']/LicenceType/item[@selected='True']/@value,equal,1,UNKNOWN
So in this case we have the same three fields page, question (field id) and what to do if not provided - UNKNOWN.
So going back to our licensing analogy. Let's say I want my filename to be:
LicenceId-LicenceType.pdf
I would add something like this to column 1 and 2 of the filename settings:
Filename Column 1 xpath,//page[@id='start']/LicenceRefNo
Filename Column 2 logicalxpath,//page[@id='start']/LicenceType/item[@selected='True']/@value,equal,1,UNKNOWN
A control file can be created along with every PDF to tell the EDMS what to do with it. E.g. you could have an online form PDF called FHDSASUD.pdf. I.e. the name of the file is an IEG4 form reference and this would mean nothing to your EDMS.
A separate control file could contain this within its csv file format:
FHDSASUD.pdf,987654321,CTAXMOVE
Where the first column is the form that should be imported, the second says the council tax account number and the third is the document code/type that the form should be indexed with.
There are specific settings for the content of the control file as shown below. Note there are actually up to 20 columns available. We've only shown 5 to reflect the maximum of what most sites do:
The example above will create a control file with the following content:
LicenceCaseNumber,TEST,Licensing,TAXINEW,Filename.pdf
So if the filename was 987654321.pdf and Licensing Case number was also 987654321, the control CSV would be as follows:
987654321,TEST,Licensing,TAXINEW,987654321.pdf
The options available are the same as for filename with exception that the filename option is also available:
This should be set to 0.
In order to save documents on your network securely they are passed through the integration proxy service.
First ensure Use Proxy is set to true.
This service will have been installed by your IT team and the config file for this service contains three pieces of information you'll need. The config file is called:
IEG4.eGovHub.IntegrationProxy.Hosts.Windows.exe.config
The three bits of information needed are:
<add key="ServiceNamespace" value="This value" />
<add key="IssuerName" value="This value" />
<add key="IssuerSecret" value="This value" />
Alternatively you can ask IEG4 support for these using:
These values go here:
As mentioned earlier, it is possible to pass whether the form was submitted from OneVu or not in the filename/CSV.
Example
In the following example the filename is set up to be mapped to the account number. In a form the user enters their account number as 70129302.
In the Forms Portal the action has this:
File saved to \\server\Imports\Test\70129302.pdf. ||||
File saved to \\server\Imports\Test\70129302.csv
The CSV content is these four columns separated by a comma:
I.e.
70129302.pdf,70129302,CTAXREF,21/02/2020,
This is because we set the four columns to be:
filename
xpath,//page[@id='whoareyou']/CTRef,UNKNOWN
static,CTAXREF
datesubmitted
No code integration to your EDMS e.g. - done!
As shown in the '' article, one simply needs to click the 'Select this' button to record the asset to then use when creating a job i.e. the following shows the button:
And the following shows how, when the 'Select This' button is pressed, a yellow circle is drawn around an to make it obviously selected:
OpenText EDMS
IDOX EDMS
datesubmitted
This will show the date the form was submitted
sourceid
sourceid
This enables details of whether the form was completed inside or outside of OneVu to the filename.
xpath,//page[@id='whoareyou']/CTRef,UNKNOWN
This setting allows you to map data from your form into the CSV. See 'What is an XPath' above.
datesubmitted
datesubmitted
This will show the date the form was submitted
sourceid
sourceid
This enables details of whether the form was completed inside or outside of OneVu to the CSV.
static
static,CTAXREF
static,RB
static,HOU
This should be used wherever you want a value to be present that won't change.
This type can be added to multiple columns I.e. you might have a file like the earlier example which has this:
987654321-FHDSASUD-CTAXREF-RB.pdf
With the 4th column of the file name being the queue the work should be pushed into.
formreference
formreference
This means the IEG4 form reference will be included
xpath
xpath,//page[@id='whoareyou']/CTRef,UNKNOWN
This setting allows you to map data from your form into the filename. See 'What is an XPath' below.
filename
filename
This will ensure the filename as configured within the earlier settings will be present.
static
static,CTAXREF
static,RB
static,HOU
This should be used wherever you want a value to be present that won't change.
This type can be added to multiple columns I.e. you might have a file like the earlier example which has this:
987654321,FHDSASUD, CTAXREF,RB
With the 4th column of the CSV being the queue the work should be pushed into.
formreference
formreference
This means the IEG4 form reference will be included
70129302.pdf
70129302
CTAXREF
21/02/2020
datesubmitted
xpath
Important - in order to select an asset in a form, you first need to ensure that the form enables assets to be selected. This is done within the Map item set up as shown below:
Sometimes you want to report issues that are not specific to an asset e.g. a pothole in the road.
To do this you simply need to ensure that you have the following option checked:
Where this is checked, it is possible to report an issue anywhere within the boundary of the council (if there is one).
When a location is set, it displays as a red circle as shown here in the top left of the map picture:
This location will then be passed with the job details when a job is created, which is covered in the next article.
IEG4 is a Microsoft Gold Partner and, reflective of the fact that some councils have already made Microsoft Dynamics 365 (D365) part of their ongoing strategy, with the latest build of our online forms framework we have built functionality to integrate our online forms with D365.
These is comprised of three key elements:
1) Online form pre-population
2) The ability to update a case status as a form is started, saved, and submitted
3) The ability to add a completed version of the form (PDF) and any evidence uploaded to the case
We will walk through what this functionality is and how it is enabled.
IEG4 has a consistent methodology for external applications to populate data into our online forms already. This extends that capability to handle D365 specifics too.
What this means, without reading the technical stuff below, is that in practice is that when a form is started the data from D365 is automatically within the form to save re-keying.
The method is using a post as follows with a variety of different tokens that enable pre-population:
POST https://<url-to-form>/launch HTTP/1.1
Content-Type: application/x-www-form-urlencoded
autostart=prepop
&x-api-key= <key>
&prepop.whoareyou.Firstname= <D365 account first name>
&prepop.whoareyou.Surname= <D365 account surname>
&prepop.whoareyou.AddressFieldsAddressLine1= <D365 account address line 1>
&prepop.whoareyou.AddressFieldsAddressLine2= <D365 account address line 2>
&prepop.whoareyou.AddressFieldsAddressLine3= <D365 account address line 3>
&prepop.whoareyou.AddressFieldsAddressLine4= <D365 account address line 4>
&prepop.whoareyou.AddressFieldsPostcode= <D365 account address postcode>
&prepop.whoareyou.DaytimeTelephoneNumber= <D365 account telephone number>
&prepop.whoareyou.MobileTelephoneNumber= <D365 account mobile number>
&prepop.whoareyou.Email= <D365 account email address>
&consumerId= <D365 account id>
&consumerCaseId= <D365 account case id>
&consumerSource=d365
IEG4 has a consistent methodology for external applications to populate data into our online forms already. This extends that capability to handle D365 specifics too.
When an online form is started we update the case with the form’s reference and also the case’s status. I.e. when it is started the status is set to 'In-progress'.
Then change this status as necessary. The following events show the status set:
when moving from one page of a form to the next (In-progress)
when the user saves it (Saved)
when a user submits it (Submitted)
What this means, without reading the technical stuff below, is that in practice is that when a form is started / saved / submitted, the case status in D365 is updated.
This uses the standard Microsoft D365 Web API (RESTful) /incidents as shown below:
POST https://<URL-TO-D365-API>/incidents
{
“incidentid”: <D365 case id>,
“<statusField>”: <status field code for in-progress>,
“<formReferenceField>”: <unique form reference>,
“<formModifiedOn>”: <date the form was last modified on>
}
When the form is submitted we will automatically update the status as per above but we will also automatically append a PDF containing the contents of the completed form.
Plus, where supporting documentation/evidence has been uploaded this can also be automatically appended to the case's timeline.
The following illustrating a piece of evidence (an image) having been added.
What this means, without reading the technical stuff below, is that in practice is that when a form is submitted, the form PDF and any evidence uploaded is automatically added to the timeline in D365.
This uses the standard Microsoft D365 Web API (RESTful) /annotations as shown below:
POST https://<URL-TO-D365-API>/annotations
{
"mimetype": <mime type will be the mime type of the file uploaded as detected by the browser. The mime type for the form pdf will be ‘application/pdf'>,
"subject": <subject from matrix - see Table 1 below>,
"filename": “<filename of form pdf>.pdf",
“documentbody": <base64 encoded version of the form PDF> ,
"isdocument": true,
"objectid_incident@odata.bind": "incidents(<D365 case id>)"
}
The case ID is included in the update which is what links the document appropriately.
Using the method of saving XML to disk it is possible to integrate data from your eDesigner form with the application Civica APP (hereafter known as Flare).
First read the article below:
Saving XML outputNext use the principles in there to achieve this.
So integration with Flare involves saving a file, in a format it expects, to a location which Flare looks for and imports automatically.
Add the data mapping template as set out in the article above and, importantly, use this XML template below, which is tried and tested.
Once this is added it should appear similar to this:
Then, as shown in the Saving XML output article you need to map the answers from the various questions in the form to the template:
Having done that, add the Save Data Document action and provide details of where the file should be saved.
<ImportFile xmlns="http://www.flare.co.uk">
<ImportRecord>
<ImportControl>
<Updtype>I</Updtype>
<FlareDB>R</FlareDB>
<Number/>
<LAref/>
</ImportControl>
<ActivityRecord>
<Activity>
<OpenDate/>
<ResponseDate/>
<ClosedDate/>
<Unit>BIN</Unit>
<Type>CWA</Type>
<InvOfficer>STR</InvOfficer>
<Address>
<FlareAddress>
<HouseName/>
<HouseNumber/>
<Street/>
<AddLine4/>
<AddLine5/>
<AddLine6/>
<PostCode/>
<UPRN/>
<USRN/>
</FlareAddress>
<VerifyAddress>1</VerifyAddress>
<PremPtr/>
<Name/>
<SearchName/>
<LAref/>
<Telephone/>
<Fax/>
<Mobile/>
<Email/>
<Website/>
<Area/>
<Ward/>
<Easting/>
<Northing/>
<UserDefinedField/>
<UserDefinedNameCode/>
</Address>
<ScheduledDate/>
<Fee/>
<CalculateFee/>
<FeePaid/>
</Activity>
<RequestComp>
<Comps>
<TimeReceived/>
<TimeResponded/>
<Type/>
<RecOfficer>WEB</RecOfficer>
<OFTgoods/>
<OFTtrading/>
<Detail/>
<Classification/>
<Result/>
<Cost>0.00</Cost>
<TimeTaken>0:00</TimeTaken>
<Charged>0.00</Charged>
<HomeAuthority/>
<Referred/>
<ToDepartment/>
<Cash>0.00</Cash>
<CivilRedress>0.00</CivilRedress>
<AllegedBreach>C</AllegedBreach>
<TransactionType>P</TransactionType>
<PurchaseMedium/>
<TradeCountry/>
</Comps>
<Client>
<HowReceived>W</HowReceived>
<AccessTimes/>
<VIPtype/>
<VIPname/>
<Date/>
<NameAddress>
<Data>
<RecordID>0</RecordID>
<FindBy>
<LAref/>
<NINo/>
<PassportNo/>
</FindBy>
<NAUpdtype>V</NAUpdtype>
<TypeCode/>
<Address>
<FlareAddress>
<HouseName/>
<HouseNumber/>
<Street/>
<AddLine4/>
<AddLine5/>
<AddLine6/>
<PostCode/>
<UPRN/>
<USRN/>
</FlareAddress>
<VerifyAddress>1</VerifyAddress>
<PremPtr/>
<Name/>
<SearchName/>
<LAref/>
<Telephone/>
<Fax/>
<Mobile/>
<Email/>
<Website/>
<Area/>
<Ward/>
<Easting/>
<Northing/>
<UserDefinedField/>
<UserDefinedNameCode/>
</Address>
<SplitName>
<Title/>
<Forenames/>
<Surname/>
<Suffix/>
</SplitName>
<AlternativeNames>
<anAlternativeName>
<SeqNo/>
<AlternativeName>
<SearchName/>
<SplitName>
<Title/>
<Forenames/>
<Surname/>
<Suffix/>
</SplitName>
</AlternativeName>
</anAlternativeName>
</AlternativeNames>
<BirthDate/>
<MaritalStatus/>
<Gender/>
<Ethnicity/>
<PassportNo/>
<NINo/>
<PreferredContact/>
<Desc1/>
<Desc2/>
<JobTitle/>
<Organisation/>
<PreferredTelephone/>
<PreferredDaytime/>
<Opened/>
<Closed/>
<Alarm/>
<AlarmNote/>
<Telephone2/>
<Telephone3/>
<VehicleReg/>
<CloseReason/>
</Data>
<NamAddText>
<UpdateMode>A</UpdateMode>
<Text/>
</NamAddText>
<Attach>
<SeqNumber>0</SeqNumber>
<Attachment>
<Package/>
<Path/>
</Attachment>
</Attach>
</NameAddress>
</Client>
</RequestComp>
<ActivityText>
<UpdateMode>A</UpdateMode>
<Text/>
</ActivityText>
<UserDefinedWindow>
<UDWString1/>
<UDWString2/>
<UDWString3/>
<UDWString4/>
<UDWString5/>
<UDWString6/>
<UDWString7/>
<UDWString8/>
<UDWString9/>
<UDWString10/>
<UDWString11/>
<UDWString12/>
<UDWcode1/>
<UDWcode2/>
<UDWcode3/>
<UDWcode4/>
<UDWcode5/>
<UDWcode6/>
<UDWcode7/>
<UDWcode8/>
<UDWcode9/>
<UDWcode10/>
<UDWcode11/>
<UDWcode12/>
<UDWdate1/>
<UDWdate2/>
<UDWdate3/>
<UDWdate4/>
<UDWdate5/>
<UDWdate6/>
<UDWdate7/>
<UDWdate8/>
<UDWdate9/>
<UDWdate10/>
<UDWdate11/>
<UDWdate12/>
<UDWnumber1/>
<UDWnumber2/>
<UDWnumber3/>
<UDWnumber4/>
<UDWnumber5/>
<UDWnumber6/>
<UDWnumber7/>
<UDWnumber8/>
<UDWnumber9/>
<UDWnumber10/>
<UDWnumber11/>
<UDWnumber12/>
<UDWmoney1>0.00</UDWmoney1>
<UDWmoney2>0.00</UDWmoney2>
<UDWmoney3>0.00</UDWmoney3>
<UDWmoney4>0.00</UDWmoney4>
<UDWmoney5>0.00</UDWmoney5>
<UDWmoney6>0.00</UDWmoney6>
<UDWmoney7>0.00</UDWmoney7>
<UDWmoney8>0.00</UDWmoney8>
<UDWmoney9>0.00</UDWmoney9>
<UDWmoney10>0.00</UDWmoney10>
<UDWmoney11>0.00</UDWmoney11>
<UDWmoney12>0.00</UDWmoney12>
<UDWflag1/>
<UDWflag2/>
<UDWflag3/>
<UDWflag4/>
<UDWflag5/>
<UDWflag6/>
<UDWflag7/>
<UDWflag8/>
<UDWflag9/>
<UDWflag10/>
<UDWflag11/>
<UDWflag12/>
<UDWreal1/>
<UDWreal2/>
<UDWreal3/>
<UDWreal4/>
<UDWreal5/>
<UDWreal6/>
<UDWreal7/>
<UDWreal8/>
<UDWreal9/>
<UDWreal10/>
<UDWreal11/>
<UDWreal12/>
<UDWcbxlist1>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist1>
<UDWcbxlist2>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist2>
<UDWcbxlist3>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist3>
<UDWcbxlist4>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist4>
<UDWcbxlist5>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist5>
<UDWcbxlist6>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist6>
<UDWcbxlist7>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist7>
<UDWcbxlist8>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist8>
<UDWcbxlist9>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist9>
<UDWcbxlist10>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist10>
<UDWcbxlist11>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist11>
<UDWcbxlist12>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist12>
</UserDefinedWindow>
<UserDefinedTab>
<UDWString1/>
<UDWString2/>
<UDWString3/>
<UDWString4/>
<UDWString5/>
<UDWString6/>
<UDWString7/>
<UDWString8/>
<UDWString9/>
<UDWString10/>
<UDWString11/>
<UDWString12/>
<UDWcode1/>
<UDWcode2/>
<UDWcode3/>
<UDWcode4/>
<UDWcode5/>
<UDWcode6/>
<UDWcode7/>
<UDWcode8/>
<UDWcode9/>
<UDWcode10/>
<UDWcode11/>
<UDWcode12/>
<UDWdate1/>
<UDWdate2/>
<UDWdate3/>
<UDWdate4/>
<UDWdate5/>
<UDWdate6/>
<UDWdate7/>
<UDWdate8/>
<UDWdate9/>
<UDWdate10/>
<UDWdate11/>
<UDWdate12/>
<UDWnumber1/>
<UDWnumber2/>
<UDWnumber3/>
<UDWnumber4/>
<UDWnumber5/>
<UDWnumber6/>
<UDWnumber7/>
<UDWnumber8/>
<UDWnumber9/>
<UDWnumber10/>
<UDWnumber11/>
<UDWnumber12/>
<UDWmoney1>0.00</UDWmoney1>
<UDWmoney2>0.00</UDWmoney2>
<UDWmoney3>0.00</UDWmoney3>
<UDWmoney4>0.00</UDWmoney4>
<UDWmoney5>0.00</UDWmoney5>
<UDWmoney6>0.00</UDWmoney6>
<UDWmoney7>0.00</UDWmoney7>
<UDWmoney8>0.00</UDWmoney8>
<UDWmoney9>0.00</UDWmoney9>
<UDWmoney10>0.00</UDWmoney10>
<UDWmoney11>0.00</UDWmoney11>
<UDWmoney12>0.00</UDWmoney12>
<UDWflag1/>
<UDWflag2/>
<UDWflag3/>
<UDWflag4/>
<UDWflag5/>
<UDWflag6/>
<UDWflag7/>
<UDWflag8/>
<UDWflag9/>
<UDWflag10/>
<UDWflag11/>
<UDWflag12/>
<UDWreal1/>
<UDWreal2/>
<UDWreal3/>
<UDWreal4/>
<UDWreal5/>
<UDWreal6/>
<UDWreal7/>
<UDWreal8/>
<UDWreal9/>
<UDWreal10/>
<UDWreal11/>
<UDWreal12/>
<UDWcbxlist1>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist1>
<UDWcbxlist2>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist2>
<UDWcbxlist3>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist3>
<UDWcbxlist4>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist4>
<UDWcbxlist5>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist5>
<UDWcbxlist6>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist6>
<UDWcbxlist7>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist7>
<UDWcbxlist8>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist8>
<UDWcbxlist9>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist9>
<UDWcbxlist10>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist10>
<UDWcbxlist11>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist11>
<UDWcbxlist12>
<aCbxList>
<SeqNo>12</SeqNo>
<CbxList>Y</CbxList>
</aCbxList>
</UDWcbxlist12>
</UserDefinedTab>
<Action>
<Head>
<Data>
<AhAction/>
<AhUnit/>
<AhOfficer/>
<AhOpenDate/>
<AhClosedDate/>
<AhUDcode1/>
<AhUDcode2/>
<AhCostCentre/>
</Data>
<ActionText>
<UpdateMode>A</UpdateMode>
<Text/>
</ActionText>
</Head>
<Diary>
<Data>
<Ptr/>
<AdActionDetail/>
<AdOfficer/>
<AdScheduled/>
<AdActual/>
<AdDescription/>
<AdTimeUnits/>
<AdLinkedAct>
<DB/>
<Number/>
</AdLinkedAct>
<AdAttachment>
<Package/>
<Path/>
</AdAttachment>
<AdDocNo/>
</Data>
<DiaryText>
<UpdateMode>A</UpdateMode>
<Text/>
</DiaryText>
</Diary>
</Action>
</ActivityRecord>
</ImportRecord>
</ImportFile>Many councils use Google (cloud) environments where the easiest way to get a file into their environment is via email.
To that end we have enhanced our email functionality such that:
a) IF a form has XML mapped for it using eMapper
b) It can be attached to the email that gets sent to the council upon submission
Using tools in Google and things like Microsoft Flow where the inbox is Outlook, it is possible to interrogate the attachment and push them into Google Sheets/Microsoft Excel respectively.
This could be useful if you want all of the application data in a form to become a row in a spreadsheet for example.
This functionality exists with eDesigner if eMapper is licensed.
To leverage it first you need to:
a) Add a mapping file and give it a name that is simple to remember - this is your MappingName
b) Map the form fields to the XML file you want to create:
c) Add the following settings to your Form Settings in Form Management using the 'Create' button:
ToAddress - this allows you to set the email address you want the email for this form to go to
EmailAdditionalAttachments - for this setting you need to enter the name of the file mapping you created earlier. I.e. the MappingName
Doing this ensures that the email sent to you includes the created XML file for each submission.
Microsoft Bookings is a new service that comes as a part of Office 365 and provides an effective way for organisations to quickly and easily schedule bookings using the same user access that is already available through Outlook etc.
With no code it is possible for a user to add a calendar to a form which is pre-populated with available appointments for a given service.
When the user selects a given service e.g. Building Control Inspection/Pest Control, they will then see a set of appointments to choose from.
Once the form is submitted that appointment will be created within the Microsoft Booking system.
The summary of the function provided is as follows.
The ability:
• to add authentication details in settings to connect to their Microsoft Office 365 Booking account
• for a council officer to select which service(s) from the Microsoft Booking service to use in the form
• to choose which data from the service detail that can be shown to the citizen
• to show a responsive set of slots for the citizen to select from
• where the payment function is licensed, to take a payment before the appointment, is created i.e. if payment fails, the appointment is not created and the citizen is notified of this.
Note
Microsoft Bookings is available as a part of a subscription to Microsoft 365 Business Standard (formerly Office 365 Business Premium) and is the service the above is provided for.
There is now the ability to add a layer to your maps.
To access this first add a map item or edit the one you have. Then set the 'Reported Issues Source' to Symology from the drop down.
When you do this the following options appear:
Bottom left is the ability to set an Area Boundary. If one clicks on this, the available boundaries/layers are shown in the drop down at the top. If one clicks the 'Add Boundary' it will then appear in the summary of all boundaries (layers) on the map:
If one attempts to select a location outside the boundary, the following message is presented:
Integrating online forms with line of business applications can be a complex technical requirement. So it is even more complex to be able deliver a user friendly way of delivering this integration by staff that are not trained developers. This ability is commonly known as ‘low code’.
The way this functionality to integrate online services with your payment system has been designed, it is beyond low code; it's ‘no code’.
The functionality we provide is comprised of five functions. These provide the ability to:
1) Add fixed value payment items that a person can choose to buy
The number of different assets you'd like to import
The number of columns and the labels/descriptions of each column in each extract imported
The number of different outstanding job types you'd like to import
The number of columns and the labels/descriptions of each column in each extract imported
Where there is another organisation responsible for a road/street, like Transport for London in the case of London Boroughs, there is the ability to import a list of all streets with an indicator to set the organisation responsible.
The prerequisite is that you provide a file of addresses in CSV format and clearly indicate which column heading contains the responsible party. This value will be populated int the map's CustomField so it's obviously important this file is accurate/kept up to date.
The Symology API URL for TEST and LIVE
The Symology API username and password for TEST and LIVE
When you provide this information we will create the functions to make the process an entirely no code experience.
Once we have completed the above set up you will be able run the batch import process we provide as a part of implementation called the:
Bulky Import Application
Our expectation is extracts for assets, which change infrequently will be imported relatively infrequently. But the extract(s) for outstanding jobs will happen daily.
Each extract you import will overwrite the one before ensuring an always accurate snapshot as at that day.
The Bulky Import Application (BIA) is an executable application that is capable of taking a file from your network and pushing it to our Microsoft Azure Cloud, which also hosts eDesigner.
The BIA has configuration, which allows it to look into a specific folder for a specific file name and import it to a specific location related to that extract type. The reason why it is important IEG4 first do their set up in the cloud is the different extract cloud storage locations are created and we can then provide these to you to use in the configuration.
The BIA executable can be automatically run by a window batch file, which comes with the implementation pack we will send you. Therefore it is possible, once you have the necessary folders in place for each extract, to fully automate the import process.
To ensure no code/technical help is needed the layer(s) is/are pre-installed by IEG4 staff, the functionality enables you to turn it on/off.
2) Add a user entered value control where the citizen can type how much they wish to pay
3) Add a shopping basket that tallies up all payments before submission - the payment summary
4) Prepopulate the Capita Pay360 interface with name, address etc. from the eDesigner form
5) Send internal email(s) upon submission per form
To add a payment element, one simply clicks on Add Item in the Designer function and then clicks on the payment tile:
There are then the following three options:
A payment item is a fixed price item that a person can buy.
If you choose to add a payment item the following options are presented:
Once added to the form it will appear like so:
The relevant fields you can add and what they are:
Element
What is it?
Field Label
This is what the customer will see when they’ve selected what they want
Amount
The amount one needs to pay for the item
Tax included
The ability to set a VAT amount against an item
Currency Symbol
Used purely for those taking payments in other countries
Item Description
This is the description passed to the payment system as the description and what is shown in the payment summary
Where the 'Tax included' check box has been ticked, the user is able to provide a breakdown of the VAT code (as held in Capita Pay360), the % and the amount:
For this option there are a variety of additional fields that relate to controlling what a user entered amount looks like and its label. I.e. the format of the numbers they can enter is controlled by a regular expression.
You can also add validation and mandatory warnings too.
You can configure it such that there is a fixed item reference or enable the customer to enter this i.e. Council Tax account number. If the check box 'User entered reference' is clicked the following additional fields are displayed for completion:
Reference field label
Tells the citizen what to enter e.g. Rent account number, overpayment reference
Reference field minimum length
The minimum length of the reference they need to enter
Reference field maximum length
The maximum length of the reference they need to enter
Reference field regular expression
The ability to control the format well beyond the min/max settings about.
To learn more about regular expressions have a read below:
To search for examples of regular expressions - so you don't need to learn them - please see here:
Reference field validation error message
If the citizen enters a value that is too short/long or doesn't meet the rules of the reference as defined by the regular expression, you can control the content of the message presented.
A payment summary automatically tallies up any payment relevant payment items/user entered amounts and acts like a shopping basket.
The only thing required when adding a payment summary is a field id and should you support a different currency (unlikely!) the ability to change the currency symbol:
This is presented like so where two items were requested on earlier pages:
Important
When adding a payment summary remember that it:
a) MUST be after any pages containing payment items/user entered payments
b) MUST be on a page that does not contain any payment items/user entered payments
You can have other content on a payment with a payment summary - just not other payment items.
It is possible to send an email receipt of the payment on any form to an email addresses or addresses as set by you.
The functionality is accessed using the 'Payment Settings' button on the Designer menu:
Here you can tick the box to enable the function - 'Email payment receipt internally'. Then use the 'Add a new email' button to add the email address(es) that should receive the receipts:
IMPORTANT
This email is actually sent from the Capita system. This functionality essentially tells Capita who to email.
Therefore the functionality and the content within the email itself is controlled entirely by the Capita Pay360 application.
You should therefore raise any issues with these emails with Capita support.
Unlike most payment systems where one passes the amounts and things to buy, there is a stage which asks about name, address, email etc. in the Capita Pay360 flow.
To ensure these details are automatically populated from the eDesigner form, there's functionality to ensure that any of the following can be passed to the Capita payment system :
PersonTitle
Firstname
Surname
AddressFieldsAddressLine1
AddressFieldsAddressLine2
AddressFieldsAddressLine3
AddressFieldsAddressLine4
Postcode
Ultimately ensuring that it is quicker to make / take a payment from a form. The functionality is accessed using the 'Payment Settings' button on the Designer menu:
Once in here one can see there is a new 'Pre-populate customer details in payment system' option:
If this is checked/ticked then the following fields (using the standard fieldids) from the 'Standard' or 'Blank' Who Are You page will be used to to pre-populate the Capita payment screen.
PersonTitle
Firstname
Surname
AddressFieldsAddressLine1
AddressFieldsAddressLine2
AddressFieldsAddressLine3
AddressFieldsAddressLine4
Postcode
There is also an option to pre-populate these pieces of data from any page within the form. To do so you need to check the 'Override default 'Who are you' field XPaths' option.
You don't need to override the defaults and therefore have to delve into the realm of XPaths. It's specifically if you want to use field ids on pages that are not the standard ones.
An XPath is a technical term to indicate which field on which page of the form you want to refer to.
So in this case the XPath can be used to override the standard behaviour if:
a) You don't have a WhoAreYou page
b) The details to pre-populate are on a later page.
The UI is illustrated below:
To help give an example let's say you have built a page called My Information and you want to use the email address from that page in the pre-population of Capita. If you go to that page you will see its XPath name in the URL.
I.e. this form is PAYMENTTEST, the page it is on is myinfo as that is what is shown in the URL:
So in the XPath description we need the page id to be myinfo:
page[@id='myinfo']/....
But this only tells eDesigner which page the field is on. The next thing you need to do is add the field id for the field you want to map. So if the Field ID for the form is myinfoemail, as shown in the screenshot below:
The XPath override value would therefore be:
page[@id='myinfo']/myinfoemail
We can see that we have adjusted which field will be used to pre-populate Capita by placing the above into the Email override field:
CapitaPaymentEndPointAddress
This is the URL end point fo the payment system's URL. eDesigner enables you to build forms that integrate to payment systems without any technical knowledge.
You get this info from Capita.
CapitaPaymentIdentifier
This is first of three identifiers for Capita Payment system integration.
You get this info from Capita.
CapitaPaymentSiteId
This is second of three identifiers for Capita Payment system integration.
You get this info from Capita.
CapitaPaymentHmacKeyId
This is third of three identifiers for Capita Payment system integration.
You get this info from Capita.
CapitaPaymentHmac
This is a long security code which needs to be added to finalise payment integration.
You get this info from Capita.
CapitaPaymentCustomVatCodeEnabled
We noticed that the Custom VAT code was not being passed across to Capita Pay360 and as a result we've added a new setting:
When true this will ensure that the VAT code will be passed to the Capita Pay360 application.
CapitaPaymentZeroVatAmountEnabled
If the VAT rate was 0 we were not sending anything but Capita Pay360 needs zero to be sent. So this setting when true will ensure 0.00 is sent when the VAT rate is 0.
Important
The thing to also be aware of is that we need to set your payment preference to Capita Pay360. So if you wish to use this function please tell us at:
The following functionality has been included at release 2.16 of eDesigner.
Pay 360 Accepted Card Types
Within the eDesigner Payment Item configuration a new tick box is displayed to allow the payment item to be restricted to debit card payment only:
When this option is selected it applies to the whole basket on the Pay 360 Payment Portal. This means that if the eDesigner form supports multiple payment items and a payment item is selected that can only be paid for using a debit card, this validation will be applied to the whole basket on the Pay 360 Portal.
If the user selects a payment item that can only be paid for using a debit card and then enters a credit card in the payment portal the payment portal displays a message as below:
Please note that this functionality is currently only available for Pay 360 integrations.

The first thing you need to do if you want your form to output an XML file, is tell it the format of the file. To do this you need to click on the 'Data Mapping' link as shown in the screenshot above.
When you do, you will see this:
Here you need to click on 'Create'. The following is an example XML mapping template:
You can see the XML file contains FirstName, Surname, MobileNo, Email, ServiceRequestType, HighPriority, Details as pieces of data.
Notice that you basically need to add an empty tag for anything that should be mapped from data the customer will provide in the form. Where the value is always the same for the form i.e. the Service Request Type the actual value is populated. This is simply to illustrate you might need to pass a value to the back office which the customer may not know but that the back office needs.
Last, you can see the name of the mapping is 'GraffitiFile'. This is important later when you're creating the action to save it somewhere.
Once the XML mapping template is added, open design mode in eDesigner for your form. Select Mapping Designer:
Then click on the name of the file template. The reason this screen appears is that it is technically possible to have multiple mapping files output:
Then click on the name of the file template. The reason this screen appears is that it is technically possible to have multiple mapping files output:
You'll then be presented with a UI with three columns.
The first column contains any pages in your form.
The second column is populated when you click on a page as it is the ID for each of the questions that are present on the page you selected
The third column is the XML template converted into a bulleted list to remove the technical look of XML
The task you now have is to click on each question you want in your XML and then click on the relevant XML element you want to map it to. When you do this you'll see a button that says 'Add Mapping':
Because the question IDs are what are shown in here, it is a good idea to ensure the ids are obvious as to which question they relate to.
Once you've mapped content to all it will look like this:
Now you've done this, when a form is submitted, an XML file will also get created.
Sometimes an XML file needs the answer the customer provides to be converted into something the back office understands. For example if the customer was being asked whether they thought some graffiti was offensive they might be given a Yes/No option. But the back office expects the value for priority to be a 1 or a 2. Where 1 means high priority and 2 means not.
To cater for this, the 'value' that your enter in the 'Value' field when creating your list is what will be passed in the XML. I.e. if they selected yes with the list set up as below, the XML would be populated with 1:
When you have completed your mapping above, you can check the file is being created as expected by going into the Forms Portal and clicking on the Documents tab as shown below:
The XML file is created as we mapped before. One can see the details the customer entered are mapped and that a) the Service Request Type is populated and b) the High Priority value is 1 not Yes:
Now you're happy you've got the XML how you like it, you can now set up an action to:
Save it to a file location
Send it to an API
To add an action you need to click on the 'Actions' link found here in Form Details:
Note - because an action can be different from one environment to another, you need to do this for EACH environment.
You will then need to click on the 'Advanced Create' button. This will then present you with the actions available on your own environment.
For simplicity we've limited the list to the four most commonly used:
*If this option is not available please log a ticket through help.ieg4.com and they can enable this. When this is selected you then simply need to complete all of the different settings, which are documented below.
In this case we will select 'Post Data to Url'.
This then has the following settings:
Name
PostDataToUrl
Description
Any name you like - this is what shows in the forms portal
Back Office URL
The URL of the API you want to post content to
Credential Type
Set this to: Specify
Username
N/A
Password
N/A
If you have done this correctly, you can view the action within the Forms Portal. This time click on the Integration tab.
In the example below, Cambridge City Council set up integration with both Information@Work EDMS and Posted XML to the Northgate Council Tax system:
Just like any form integration, the Form Portal will show details of the request and response.
Plus, like any other integration, it will retry integration automatically if the back office is unavailable etc.
Item fund code
This is the payment system’s fund code
Item amount
This is the amount specific to the item
Item reference
This is the budget code / payment reference code
Reference field mandatory warning
If the citizen doesn't enter a value, you can control the content of the message presented.
Include help text for reference field
If checked, you're able to then provide help text for your custom reference field.


When you build your services you will want to understand the metrics around the forms being submitted and any insights that can be drawn from this.
IEG4's reporting is all done within its Reportal function, which is powered by Microsoft PowerBI. You can read more on PowerBI here:
In all PowerBI chart elements you can:
a) Bring a specific chart or table into focus by clicking on the icon shown:
This makes whichever content this is done for full page.
b) Export the data by clicking on the three ellipse icon:
<Issue>
<FirstName>John</FirstName>
<Surname>Mc</Surname>
<MobileNo>07713491749</MobileNo>
<Email>john.mcmahon@ieg4.com</Email>
<ServiceRequestType>GRAFFITI</ServiceRequestType>
<HighPriority>1</HighPriority>
<Details>It's really bad. It's just outside the window of 10 Downing Street.</Details>
</Issue>
This report book is comprised of four distinct tabs:
Overview
Analysis
Integration Errors Summary
Integration Errors Detail
The following illustrates the overview tab, which provides a high level summary of varying demographics and statuses of forms submitted. Clearly only forms capturing DOB, will feed into Age Group etc.
The date range over which the report is run can be changed using the control on the left hand side. With the resulting date range appearing below the selectors:
With the All Forms report, a council officer is able to see details of every form that has been started, saved for later or has been completed.
If new online services are built using eDesigner these are instantly added to the filter to enable these to be monitored too. It is possible to filter the report by things like gender and age group as well as filter by the status i.e. in progress/saved for later.
The chart illustrates the number of forms and their status as well as a trend line to illustrate volumes of forms. The table below summarises this data in a tabular format for every form:
It's possible to sort the lists within the table ascending/descending by clicking on the headers. I.e. the following is the same as the above but sorted:
This report can be ran for a period of time, for a specific report and by its status.
Again, only forms capturing DOB, living situation will feed into Age Group/Living situation to enable you to filter the report etc.
This chart is comprised of two sections:
1) Integration Error Word Cloud to highlight those at a glance happening with most prevalence:
2) Integration Errors by Action Type illustrates the word cloud data - in the example below saving PDFs to a network path and sending notifications to Capita are the ones that have failed most (over a 10 year period!)
This analysis enables you to see the detail of all integration failures and to see the Error Messages and 'Stack trace' to provide to IEG4 Support where applicable.
One can sort and filter by form types and action types as shown below:
Domain
N/A
Back Office Proxy
TRUE
Back Office Proxy Namespace
Please contact IEG4 support for these details.
Back Office Proxy Issuer Name
Please contact IEG4 support for these details.
Back Office Proxy Issuer Secret
Please contact IEG4 support for these details.
Data Document Type
The name of your XML data mapping file that you mapped the XML for. I.e. GraffitiFile is the name of the one we created in the example.
Content Type
Set this to: xml
Data Encode Type
Can be set to blank.
Sometimes, you will want to save an XML file output from an eform that you're working on. You might use this to import into another application or to populate a data warehouse to power your own analytics etc.
There are two parts to saving an XML to disk.
1) you first need to have mapped the format of the XML file that is to be output using the 'Mapping Designer' function
2) you need to tell the form what to do with the file by adding an 'Action'
This article has been written to tell you how to do this.
In order to do this, you need to ensure that the Data Mapping function (shown below) is enabled. If you can't see this it is not enabled and you should raise a ticket through the help desk to get it enabled.
The first thing you need to do if you want your form to output an XML file, is tell it the format of the file. To do this you need to click on the 'Data Mapping' link as shown in the screenshot above.
When you do, you will see this:
Here you need to click on 'Create'. The following is an example XML mapping template:
You can see the XML file contains FirstName, Surname, MobileNo, Email, ServiceRequestType, HighPriority, Details as pieces of data.
Notice that you basically need to add an empty tag for anything that should be mapped from data the customer will provide in the form. Where the value is always the same for the form i.e. the Service Request Type the actual value is populated. This is simply to illustrate you might need to pass a value to the back office which the customer may not know but that the back office needs.
Last, you can see the name of the mapping is 'GraffitiFile'. This is important later when you're creating the action to save it somewhere.
Once the XML mapping template is added, open design mode in eDesigner for your form. Select Mapping Designer:
Then click on the name of the file template. The reason this screen appears is that it is technically possible to have multiple mapping files output:
Then click on the name of the file template. The reason this screen appears is that it is technically possible to have multiple mapping files output:
You'll then be presented with a UI with three columns.
The first column contains any pages in your form.
The second column is populated when you click on a page as it is the ID for each of the questions that are present on the page you selected
The third column is the XML template converted into a bulleted list to remove the technical look of XML
The task you now have is to click on each question you want in your XML and then click on the relevant XML element you want to map it to. When you do this you'll see a button that says 'Add Mapping':
Because the question IDs are what are shown in here, it is a good idea to ensure the ids are obvious as to which question they relate to.
Once you've mapped content to all it will look like this:
Now you've done this, when a form is submitted, an XML file will also get created.
Sometimes an XML file needs the answer the customer provides to be converted into something the back office understands. For example if the customer was being asked whether they thought some graffiti was offensive they might be given a Yes/No option. But the back office expects the value for priority to be a 1 or a 2. Where 1 means high priority and 2 means not.
To cater for this, the 'value' that your enter in the 'Value' field when creating your list is what will be passed in the XML. I.e. if they selected yes with the list set up as below, the XML would be populated with 1:
When you have completed your mapping above, you can check the file is being created as expected by going into the and clicking on the Documents tab as shown below:
The XML file is created as we mapped before. One can see the details the customer entered are mapped and that a) the Service Request Type is populated and b) the High Priority value is 1 not Yes:
Now you're happy you've got the XML how you like it, you can now set up an action to:
Save it to a file location
Send it to an API
To add an action you need to click on the 'Actions' link found here in Form Details:
Note - because an action can be different from one environment to another, you need to do this for EACH environment.
You will then need to click on the 'Advanced Create' button. This will then present you with the actions available on your own environment.
For simplicity we've limited the list to the four most commonly used:
*If this option is not available please log a ticket through help.ieg4.com and they can enable this. When this is selected you then simply need to complete all of the different settings, which are documented below.
In order to save an XML file to a file location, you need to select the action called SaveDataDocument from the list. This then has the following options, which should be populated in line with the table below:
* The location you want it to be saved to will be in the standard format for server locations. To find out what you need to enter here speak to your council's ICT team/service desk who can set up a suitable location (E.g. //internalservername/digital/IEG4xmloutput/counciltax/ if it related to Council Tax. Clearly you can a different folder for every XML output/form)
** To find the settings in your eGovHub, other forms which also have these proxy settings include eChanges (Benefits CiC) and eClaim (Benefits New Claim). Alternatively you can log a support call and the support team will provide the settings or update them as required.
Your ICT will need to ensure the proxy has permission to write to the folder which the action to save files directs them to
The Settings that are mentioned above are found here:
If you have done this correctly, you can view the action within the Form's Portal. This time click on the Integration tab.
N/A
Location XPath Fallback
N/A
Prefix Reference
N/A
Modular Filenames
N/A
Static Reference
N/A
Folder*
The server location you want to save the XML files to
Limit Back Office Ref to successful search responses
N/A
Document Type
The name of your XML data mapping file that you mapped the XML for. I.e. GraffitiFile is the name of the one we created in the example.
Back Office Proxy
true (note this must be lower case)
Back Office Proxy Namespace **
Please contact IEG4 support for these details.
Back Office Proxy Issuer Name **
Please contact IEG4 support for these details.
Back Office Proxy Issuer Secret **
Please contact IEG4 support for these details.
Name
SaveDataDocument
Description
Any name you like
Location Switch XPath
N/A
XPath Location
N/A
Back Office Reference Fallback
N/A
Filename XPath
N/A
Name XPath Fallback


<Issue>
<FirstName>John</FirstName>
<Surname>Mc</Surname>
<MobileNo>07713491749</MobileNo>
<Email>john.mcmahon@ieg4.com</Email>
<ServiceRequestType>GRAFFITI</ServiceRequestType>
<HighPriority>1</HighPriority>
<Details>It's really bad. It's just outside the window of 10 Downing Street.</Details>
</Issue>



















































































































































































































































