Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-02-05T21:58:15Zhttps://lab.civicrm.org/dev/core/-/issues/4513AdminUI: In 5.64 new basic search shows group names to users who, according t...2024-02-05T21:58:15ZAndy ClarkAdminUI: In 5.64 new basic search shows group names to users who, according to ACLs, don't have access to those groupsThe new basic search ('Find Contacts') in 5.64 that uses SK correctly restricts visibility of contacts for users with access limited by ACLs, but still shows the group names that those users should not be able to see. If the user then se...The new basic search ('Find Contacts') in 5.64 that uses SK correctly restricts visibility of contacts for users with access limited by ACLs, but still shows the group names that those users should not be able to see. If the user then searches those groups, they appear to have zero contacts which is confusing. Users with access limited by ACLs should only be able to see those group names that they have access to. Disabling the AdminUI extension and restoring the old basic search solves the problem - those groups are not then displayed.colemanwcolemanwhttps://lab.civicrm.org/dev/drupal/-/issues/189Epic: Drupal 10 finalization2023-10-30T18:30:20ZtottenEpic: Drupal 10 finalizationThis is a follow-up to #176. Where #176 did the main work of achieving compatibility, this issue is for the final wrap-up to handle Drupal 10 as a publicly visible option.
* [x] Add build types for test/demo infra
* [x] Add public sandb...This is a follow-up to #176. Where #176 did the main work of achieving compatibility, this issue is for the final wrap-up to handle Drupal 10 as a publicly visible option.
* [x] Add build types for test/demo infra
* [x] Add public sandbox on https://civicrm.org/demo (https://d10-master.demo.civicrm.org/)
* [ ] Add to test matrices
* [x] CiviCRM-E2E-Matrix (master)
* [ ] CiviCRM-E2E-Matrix (stable/rc)
* [ ] Fix distinctive test failures on D10
* [x] Concurrent mail tests (https://github.com/civicrm/civicrm-core/pull/27072)
* [ ] Authx tests (*these may be non-blockers since D9 has similar issues -- but we should look again*)
* [ ] Add to `Installation Guide` ([Requirements](https://docs.civicrm.org/installation/en/latest/general/requirements/), [Install on Drupal](https://docs.civicrm.org/installation/en/latest/drupal/))
* [x] Add to https://civicrm.org/downloadhttps://lab.civicrm.org/dev/core/-/issues/4512Profile notify on submit for event registration additional participants only ...2023-08-18T21:15:34ZlarsssandergreenProfile notify on submit for event registration additional participants only works if profile is used for primary participantThis one is a little obscure, but thought I might as well note it.
If you set up an event registration using a profile that sends a notification email on submit and you use that profile for the primary participant and the additional par...This one is a little obscure, but thought I might as well note it.
If you set up an event registration using a profile that sends a notification email on submit and you use that profile for the primary participant and the additional participants, everything works as intended. But if the additional participant profile that has the notification is only used for the additional participant and not the primary participant, then no notification will be sent.
This is because we only build the profile fields and send the notification if [notify is TRUE for customPre or customPost here.](https://github.com/civicrm/civicrm-core/blob/e6b439e4eb032b269fc823a7782cc2d8bb9d8304/CRM/Event/BAO/Event.php#L1077). The notification being sent for the additional participant in the case where the notification profile is used for the primary participant is sort of an unintended side effect and it would be better to handle each profile on the registration form separately.https://lab.civicrm.org/dev/core/-/issues/4511Allow multiple 'Added By' for an activity2023-09-08T20:35:49ZyashodhaAllow multiple 'Added By' for an activityThe way some clients are using the CRM, the 'Added By' person(s) is/are really the person(s) responsible for making the activity happen, and the 'Assigned To' are people that participate in the activity but are not directly responsible f...The way some clients are using the CRM, the 'Added By' person(s) is/are really the person(s) responsible for making the activity happen, and the 'Assigned To' are people that participate in the activity but are not directly responsible for it.
The issues is that the CRM only allows ONE Added By, so they rely on some custom contact reference fields 'Partnered With' to supplement the Added By. But this is not a good solution and has many limitations e,g not being able to see the activity in Partner tab etc.
Therefore the best way to move forward is to allow multiple 'Added By' for an activity. The database schema already allows for that with the _activity_contact_ table.
From technical perspective, I reckon it was an oversight to not allow multiple contacts for Contact Source as we had moved civicrm_activity.source_contact_id (single), civicrm_activity_target.contact_id, civicrm_activity_assignee.contact_id (dropped civicrm_activity_target/civicrm_activity_assignee tables) in favor of civicrm_activity_contact table.
Screens that need to be modified:
- Activity tab in the Contact screen
- Activity View screen
- Activity Edit screen
- Activities reports
- Activities resultyashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4510Report results for custom date fields does NOT respect the date format2023-08-24T13:44:13ZyashodhaReport results for custom date fields does NOT respect the date formatSteps to replicate :
--------------------
- Create a custom date field of type _Date_ and date format _yy_
![Screenshot_from_2023-08-18_18-44-03](/uploads/8033862dfeb99ff818d5fb0a58797e7b/Screenshot_from_2023-08-18_18-44-03.png)
- ...Steps to replicate :
--------------------
- Create a custom date field of type _Date_ and date format _yy_
![Screenshot_from_2023-08-18_18-44-03](/uploads/8033862dfeb99ff818d5fb0a58797e7b/Screenshot_from_2023-08-18_18-44-03.png)
- Data shows as correctly on summary screen
![Screenshot_from_2023-08-18_18-45-53](/uploads/8a835e7bf893609014a12e55e977950f/Screenshot_from_2023-08-18_18-45-53.png)
- Report results do NOT respect the format
![Screenshot_from_2023-08-18_18-46-54](/uploads/b4bf0be27d8fc889e3efb93a24206c33/Screenshot_from_2023-08-18_18-46-54.png)
All custom data of type date should have respective Date format respected like on the other screens.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4508CiviMail Auto complete includes unsent mailings2023-08-24T13:43:34ZseamusleeCiviMail Auto complete includes unsent mailingsAs reported by Jon Goldberg it seems the current CiviMail Recipients Auto complete includes unsent mailings https://github.com/civicrm/civicrm-core/pull/27071#issuecomment-1682481080As reported by Jon Goldberg it seems the current CiviMail Recipients Auto complete includes unsent mailings https://github.com/civicrm/civicrm-core/pull/27071#issuecomment-1682481080https://lab.civicrm.org/dev/core/-/issues/4505Localisation: Report contribution_details doesn't respect date format settings2023-08-17T14:24:07ZDetlev SieberLocalisation: Report contribution_details doesn't respect date format settings## Overview
_see_ #4503 for similar issue
## Reproduction steps
1. Set localization settings **date format** to "%d.%m.%Y %H:%M" / "%d.%m.%Y"
2. Click on **Reports -\> Contribution Detail**
3. Click on "Refresh results" and/or downloa...## Overview
_see_ #4503 for similar issue
## Reproduction steps
1. Set localization settings **date format** to "%d.%m.%Y %H:%M" / "%d.%m.%Y"
2. Click on **Reports -\> Contribution Detail**
3. Click on "Refresh results" and/or download pdf
## Current behaviour
For the header, the localisation settings are interpreted correctly.
For the report lines, the date format don't respect the localisation settings.
See screenshot:
![contribution details date format.png](/uploads/453ea5f2249edac6e89ff322862c7a8d/contribution_details_date_format.png)
## Expected behaviour
All dates should be displayed in the selected localisation format.
##https://lab.civicrm.org/dev/core/-/issues/4504Create new campaign "on the fly" when entering new contribution: custom field...2023-09-18T15:18:01ZDetlev SieberCreate new campaign "on the fly" when entering new contribution: custom fields are not supported## Overview
When I enter a new contribution as a CiviCRM Admin user, I can select a campaign - and, when the campaign is not found, I can add a new campaign.
However, the pop up screen for entering the new campaign does not include cam...## Overview
When I enter a new contribution as a CiviCRM Admin user, I can select a campaign - and, when the campaign is not found, I can add a new campaign.
However, the pop up screen for entering the new campaign does not include campaign custom fields - what makes this feature in certain use cases dysfunctional.
## Current behaviour
1. Create a custom field for a campaign.
2. Click on Campaigns -\> New Campaign: As you see on the screenshot, you can enter something in that custom field
![grafik.png](/uploads/82dd2d0b7dcf927ddef04e6cc6a60564/grafik.png)
3. Now, click on **Contributions -\> New Contributions**
4. Click on Campaigns and (1) enter some non-existent value. Now, you can click on "+" to enter a new campaign (2)
![grafik.png](/uploads/8aaf3446170f02b6fe7a0d9af8177431/grafik.png)
5. After Click on **New Campaign** a pop up opens where you can enter a new campaign - but here, the campaign's custom field is missing:
![grafik.png](/uploads/44069feb22709c809764a1db80d5d919/grafik.png)
## Proposed behaviour
It should be possible to access the custom fields in the same way as with **Campaign -\> New Campaign**
_What should happen? How is this better? If appropriate/available, include any wireframes or mockups._
##https://lab.civicrm.org/dev/core/-/issues/4503Localization: Report contribution_details doesn't respect money settings for ...2023-08-17T14:22:38ZDetlev SieberLocalization: Report contribution_details doesn't respect money settings for additional fields## Reproduction steps
1. Set localization settings: **decimal separator** to `,` and **thousand separator** to `.`
2. Click on **Reports -\> Contribution Detail**
3. Select Non-deductible Amount, Fee Amount, Net Amount, Soft Credit Amou...## Reproduction steps
1. Set localization settings: **decimal separator** to `,` and **thousand separator** to `.`
2. Click on **Reports -\> Contribution Detail**
3. Select Non-deductible Amount, Fee Amount, Net Amount, Soft Credit Amount
4. Click on "Refresh results"
## Current behaviour
For the contribution amount, the localisation settings are interpreted correctly.
The other amounts don't respect the localisation settings.
See screenshot:
![2023-08-16_21-13.png](/uploads/ea63065ddba5bb00ce85c2cd77074cae/2023-08-16_21-13.png)
## Expected behaviour
All amounts should be displayed in the selected localisation format.https://lab.civicrm.org/dev/core/-/issues/4502SearchKit should provide special options - here: get financial_account inform...2023-08-17T17:44:46ZDetlev SieberSearchKit should provide special options - here: get financial_account information for payment_instrument## Overview
I am working on a replacement for the report "Bookkeeping Transactions", based on SearchKit.
A similar thing I had done years ago by customizing this core report - but that customizing doesn't work anymore with current Civi...## Overview
I am working on a replacement for the report "Bookkeeping Transactions", based on SearchKit.
A similar thing I had done years ago by customizing this core report - but that customizing doesn't work anymore with current CiviCRM versions and I thought it were a smart idea to refactor that using SearchKit.
Unfortunately, it is very hard (if not impossible) to get this some information into this report:
## Current behaviour
1) I did not succeed at all in exporting financial transactions. So I decided, as a workaround, to use line times instead (which is sufficient in my current use case, but is not sufficient for a replacement of the report "Bookkeeping Transactions".
2) Still, I was not able to get information on the accounting_code of the payment_instrument (or any other data from the financial_account table)
## Proposed behaviour
It would be nice to have a simple way to achieve the accounting_code for a payment_instrument.
## Comments
As a workaround, until there is a fix, I used the description field of the payment method to record the accounting code to "rewrite" the field in the display - this might help until a better fix.
`{"[LineItem_Contribution_contribution_id_01.payment_instrument_id:description]"}`https://lab.civicrm.org/dev/core/-/issues/4500Ongoing duplicate contact creation if mismatch in civicrm_uf_match2024-01-24T21:04:46ZAllenShawOngoing duplicate contact creation if mismatch in civicrm_uf_match(I've only seen this on WordPress, but the relevant file is in core, so I'm filing under dev/core).
**Summary:**
Under certain circumstances involving "crossed wires" in the `civicrm_uf_match` table, a logged-in user's mere activity in...(I've only seen this on WordPress, but the relevant file is in core, so I'm filing under dev/core).
**Summary:**
Under certain circumstances involving "crossed wires" in the `civicrm_uf_match` table, a logged-in user's mere activity in CiviCRM will create a new contact (containing only the user's email address) for each CiviCRM page load (or ajax call, etc.). Left un-checked, this can lead to thousands of duplicate contacts containing only an identical email address.
**Scope of impact:**
I've seen this on a handful of WordPress sites over the past 5-7 years. I've not heard others in the community mention it, nor seen an existing issue on l.c.o.
**Example steps to reproduce:**
This is only one example; there are surely other steps that will get us there. See "Requisite data conditions" below.
These steps are for repro under WordPress. I haven't tried this under other CMSs.
1. Create WP user _a_ with email address _a@example.com_. Observe this creates a corresponding civicrm contact; we'll call this contact C1. Observe that the entry in `civicrm_uf_match` is correct (i.e. Summary tab for contact C1 shows the user ID of user _a_).
2. Change the email address for user _a_ to _a2@example.com_. Observe that the `civicrm_uf_match` link is preserved (but also that the email address in `civicrm_uf_match.uf_name` is unchanged).
3. Delete contact C1 (permanently or to trash). Observe entry in `civicrm_uf_match` is deleted, and user _a_ still exists.
4. Create a new contact (which we'll call C2) with another email address, e.g. _aFoo@example.com_.
5. Use CiviCRM's "Create User Record" feature to create a new WP user for contact C2; specify any username you like, but we'll assume username _a2_. Observe that the entry in `civicrm_uf_match` is correct (i.e. Summary tab for contact C2 shows the user ID of user _a2_), and that user _a2_ has email address _aFoo@example.com_.
6. Change contact C2's email address to _a2@example.com_. Observe that the email address in `civicrm_uf_match.uf_name` is updated, and the emmail address for WP user _a2_ is unchanged.
At this point, you'll have this state of data:
| wp_users.ID* | wp_users.user_login | civicrm_uf_match.id* | civicrm_uf_match.contact_id* | civicrm contact primary email | civicrm_uf_match.uf_name | wp_users.user_email |
|-------------|---------------------|---------------------|-----------------------------|-------------------------------|--------------------------|---------------------|
| 64 | a | NULL | NULL | NULL | NULL | a2@example.com |
| 65 | a2 | 162 | 75512 | a2@example.com | a2@example.com | aFoo@example.com |
_\* IDs in this table are from my real data; yours will differ of course._
7. As for permissions, I granted user _a_ the WP Administrator role, which has _Administer CiviCRM_; you could probably repro with narrower permissions.
8. Log in as user _a_. Perform a CiviCRM search for contacts having email address _a2@example.com_. Observe the result count N.
9. **Bad Behavior:** Do just about anything in CiviCRM. For example, refresh the search just performed. Observe the result count is >N.
10. Repeat step 9 and observe the increasing number of contacts with email address _a2@example.com_.
**Requisite data conditions**:
As mentioned above, there are probably many possible repro recipes, but the key is to arrive at this requisite state of data:
Given a specific WP user e.g. username _a_, email address _a2@example.com_, new contacts are created containing only this email address, each time this logged-in user takes any action (or presumably almost any action) in CiviCRM, as long as:
1. The WP user ID is not represented in `civicrm_uf_match.uf_id`; and
2. The WP user email (_a2@example.com_) is associated with one or more CiviCRM contacts; in a list of these contacts, sorted by `is_primary DESC, contact_id`, the first contact in that list is represented in `civicrm_uf_match.contact_id`; and
3. The WP user email (_a2@example.com_) is represented in `civicrm_uf_match.uf_name`.
**Relevant code:**
This all seems to be primarily handled by `CRM_Core_DAO_UFMatch::synchronizeUFMatch()`. The above "requisite data conditions" are a summary of the logical path in that method that leads to the stated problem.
Interestingly, the code seems to be aware of this problem, as in [line 284](https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/BAO/UFMatch.php#L284) it defines a variable `$msg` which would read along the lines of (using values from my data-state above) "Contact ID 162 is a match for WordPress user 64 but has already been matched to 65" -- but that message is never used or logged anywhere.
**Workarounds:**
My simplest fix has been simply to update civicrm_uf_match via SQL to link the right user with the right contact, like so (again using values from my real data above): `update civicrm_uf_match set uf_id = 64 where contact_id = 75512;`. And then of course to remove all of the duplicate contacts.
I thought _Synchronize Users to Contacts_ might do the trick, but it has no affect on the relevant data, and the bad behavior persists.
(Joinery reference: F#1180, F#1339)https://lab.civicrm.org/dev/core/-/issues/4499Undefined array key 0 when sending offline event receipt2023-10-13T01:01:38ZDaveDUndefined array key 0 when sending offline event receiptIt seems to be $lineItem[0] at https://github.com/civicrm/civicrm-core/blob/44efaf52507df2445908e02c30caef62ada0100a/CRM/Event/Form/Participant.php#L1353. It looks like it might not always be defined if editing an existing participant. B...It seems to be $lineItem[0] at https://github.com/civicrm/civicrm-core/blob/44efaf52507df2445908e02c30caef62ada0100a/CRM/Event/Form/Participant.php#L1353. It looks like it might not always be defined if editing an existing participant. But it's also confusing because it looks like sometimes it will be 0 and sometimes the array is keyed on price set id.https://lab.civicrm.org/dev/core/-/issues/4497Redirect after editing Custom Field Group is broken2023-08-13T20:50:50ZlarsssandergreenRedirect after editing Custom Field Group is brokenOn dmaster:
1. Admin > Customize Data & Screens > Custom Fields
1. Select Settings for a Custom Field Group
1. Save
Result: Redirected to somewhere weird (sometimes /civicrm, sometimes a report)
Expected: Redirected back to the browse...On dmaster:
1. Admin > Customize Data & Screens > Custom Fields
1. Select Settings for a Custom Field Group
1. Save
Result: Redirected to somewhere weird (sometimes /civicrm, sometimes a report)
Expected: Redirected back to the browse page
I tried to follow this in the debugger and concluded that `UserContext` in `$_SESSION` is wrong as soon as you load the form, but didn't get any further than that.
I also note the same issue with deleting or previewing a Custom Field Group.https://lab.civicrm.org/dev/core/-/issues/4496Event template fix-ups2023-08-17T14:18:50ZeileenEvent template fix-upsGenerally the goal is to make event templates not dependent on the form layer (using tokens & the MessageTemplate harness)
I'm creating this tracking issue to load up some screen shots for comparisonsGenerally the goal is to make event templates not dependent on the form layer (using tokens & the MessageTemplate harness)
I'm creating this tracking issue to load up some screen shots for comparisonshttps://lab.civicrm.org/dev/core/-/issues/4495Proposal pseudoconstant facade2023-08-17T14:18:27ZeileenProposal pseudoconstant facadeI have long found using the core pseudoconstant functions a bit error prone as I 'guess' the BAO names & mix 'Contribute' & Contribution etc
Perhaps we should add
```
\Civi::pseudoConstant($entity)->getKey($name, $fieldName);
\Civi::ps...I have long found using the core pseudoconstant functions a bit error prone as I 'guess' the BAO names & mix 'Contribute' & Contribution etc
Perhaps we should add
```
\Civi::pseudoConstant($entity)->getKey($name, $fieldName);
\Civi::pseudoConstant($entity)->getLabel($id, $fieldName);
\Civi::pseudoConstant($entity)->getName($id, $fieldName);
(e.g value could be 'icon')
\Civi::pseudoConstant($entity)->getValue($id, $fieldName, $value);
```
I have some misgivings about the work pseudoConstant - it could be '\Civi::options()' or something else
Importantly `$entity` is the short-name
- I just added a note to docs discouraging people from randomly using core functions & suggesting they use only ones that are explicitly for external use & realised that there is no explicitly supported version of these super important functionshttps://lab.civicrm.org/dev/core/-/issues/4493Support for Note entity available in FormBuilder2023-08-24T16:19:13ZbrienneSupport for Note entity available in FormBuilderOverview
----------------------------------------
In continuing to expand FormBuilder's use cases, it would be great to support the Note entity on afforms, so that users can have a place to enter text without having to create a custom fi...Overview
----------------------------------------
In continuing to expand FormBuilder's use cases, it would be great to support the Note entity on afforms, so that users can have a place to enter text without having to create a custom field on the entity to which they want to stick a note.
Example use-case
----------------------------------------
1. A form for users to create a new contact and add a note about them, which may not fit into a specific (or reusable) custom field
Current behaviour
----------------------------------------
The Note entity is not currently available to add to an afform.
Proposed behaviour
----------------------------------------
A Note entity could be added in FormBuilder and configured so that the back end user can select the `entity_table` that the Note is associated with.https://lab.civicrm.org/dev/translation/-/issues/83No translation for "sections" in "New <contact>"2023-08-30T12:57:17Zthoni56No translation for "sections" in "New <contact>"When creating a new person/household/organisation there are foldable sections for details, address, communication preferences etc.
When the site has a non-English localization (at least a Swedish one) they are not translated.
![Skärmav...When creating a new person/household/organisation there are foldable sections for details, address, communication preferences etc.
When the site has a non-English localization (at least a Swedish one) they are not translated.
![Skärmavbild_2023-08-11_kl._13.38.33](/uploads/effa60ca9aa352a2d735ddfe89bb8d79/Skärmavbild_2023-08-11_kl._13.38.33.png)
I'm contributing to the Swedish translation so I know that the strings are translated in Transifex ;-). I have `uplang` installed and it seems to update other translations (although I would love a way to explicitly trigger the download, see https://lab.civicrm.org/extensions/uplang/-/issues/2).https://lab.civicrm.org/dev/core/-/issues/4491Document - Modifying Afform Editor UI2023-08-17T14:17:17ZseamusleeDocument - Modifying Afform Editor UIInspired by Kevin's comments here https://chat.civicrm.org/civicrm/pl/86tae1m6ijfiuf7ejewi9q8wxo It made me think about if I was doing an email submission handling as an extension how I would go about it
We already have the afformSubmis...Inspired by Kevin's comments here https://chat.civicrm.org/civicrm/pl/86tae1m6ijfiuf7ejewi9q8wxo It made me think about if I was doing an email submission handling as an extension how I would go about it
We already have the afformSubmission event which can be used to trigger the sending of the email. However I would imagine end users would want some level of customisations on a per form basis, e.g. the to email address, The email body, the subject line and maybe the from email address. What I don't know is if we have good documentation about how to modify the afform editor interface to include such fields that can then be stored somewhere sensible and I don't know where that storage would be either.
I figure we should have some documentation here as to the correct way to do this as others may want to add their own submission events on e.g. posting to a zapier end point or maybe throwing a webhook somewhere right?colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4490Feature request - Queue api should respect maintenance mode2023-09-20T02:39:21ZeileenFeature request - Queue api should respect maintenance modeProposal to add a maintenance mode setting that is respected by the Queue api such that it would not permit `claimItems` while this setting is enabled - except for possibly upgrade tasks?
Note that when coworker respects this it should ...Proposal to add a maintenance mode setting that is respected by the Queue api such that it would not permit `claimItems` while this setting is enabled - except for possibly upgrade tasks?
Note that when coworker respects this it should log a message with a priority of `warning` so that a sysadmin can see that although the process is running no tasks are.
Chat discussion to date https://chat.civicrm.org/civicrm/pl/9h93yabz33g17qa3apcet8irdy
The summary of the chat is that `claimItem` api should be the place where maintenance mode is checked & heeded. This would be for 'persistent queues' - ie `CRM_Queue_Queue_Memory` would not check it.
- [ ] The claim item/s functions should call a symfony listener - returning false in this piece of code if an external listener (threshold check) sets the status to false
- [ ] we should add a setting for Maintenance mode (keep it simple) - call it `queue_maintenance_mode`? ClaimItem should return FALSE if this is TRUE
**Notes**
1) the following query will determine whether all queues have finished once maintenance mode is enabled:
`SELECT * FROM civicrm_queue_item where release_time > NOW()`
If future scheduling is in use (civi-rules?) then this might not suffice and if that ever arises as a feature someone wants to work on they could add a suitable field to the `civicrm_queue_item` table (`is_future_scheduled` ?)
2) I can't recall what we decided re should claimItems support an override - ie if you took everything else down in order to keep one queue running & want that queue to still claim items.... perhaps I'll find ithttps://lab.civicrm.org/dev/core/-/issues/4489FormBuilder UX general improvements2023-08-17T14:15:48ZbrienneFormBuilder UX general improvementsOverview
----------------------------------------
This feature request stems from the monthly FormBuilder meeting and some product research of other form building tools, such as Webform (Drupal) and WPForms (WordPress).
Current behavio...Overview
----------------------------------------
This feature request stems from the monthly FormBuilder meeting and some product research of other form building tools, such as Webform (Drupal) and WPForms (WordPress).
Current behaviour
----------------------------------------
There are several aspects of the FormBuilder UI that are not as user friendly as they could be. Taking on the UI overall is quite a big project, but it can be parsed into smaller portions that can be easier to tackle, such as making the listing of Entities span the width of the screen so that the user has more real estate to see what they've added to the form.
Proposed behaviour
----------------------------------------
I've created a [wireframe](https://briennekordis957225.invisionapp.com/freehand/FormBuilder-gEujDK3pw?dsid_h=9f8d5b19659b2874dcac52af00d939a53fd8db4d67516799d42d559da618ca25&uid_h=02b042cff858bbdbc3946e1968bcbe6a1445c788c050f33252bf8876878fb775) with some ideas the meld an improved design of FormBuilder's current layout with some of the better features of WebForm and WPForms.
![Selection_016](/uploads/8994c626ba5ad0f628dd42cc7417a2f6/Selection_016.png)
![Selection_017](/uploads/790e8de4193c486023eaeed94c073994/Selection_017.png)
![Selection_018](/uploads/6ef75e5b76588b89dadc36722603e5c2/Selection_018.png)