#1477 ✓resolved

Trying to create a form

Reported by peters@slx-online.biz | March 29th, 2023 @ 10:33 AM | in 3.5.0

Hi Dave. I've been asked to create a membership application form on britishtrolley.org.uk but I am not getting very far.

I've added a forms module and experimented with settings. The administrator help at this stage tells me what I could do, but not how. e.g. http://docs.exponentcms.org/help/show/version/2.7.1/title/forms-and... . Form control topics says what is available, like text boxes and areas, drop downs. But not how to put them onto a page. Lots of help just says "this tab contains details about..." but no details.

If I click on Design Form in the form module or on forms manager, I get an unformatted screen with logo and an unordered listing all the items in the top menu. At the bottom it says I need to upgrade the website and database needs upgrade from v0.0.0 to v2.7.1 .

In the Forms module there's a button to add records. It's not clear what records or why.Clicking Manage Forms I see a list of forms. If I click edit one of them it's just a text module with no obvious way of adding form functions.

Looking further at Help, I try to get designer help rather than admin. This results in a long unordered list with Exponent Docs header logo. If I start to scroll down the following screen is displayed on top of the previous page and is illegible.

As you have still not reset my upload quota I will send you screenshots by separate email.

Thanks for some guidance!

Comments and changes to this ticket

  • dleffler

    dleffler March 29th, 2023 @ 12:32 PM

    • State changed from “new” to “open”
    • Milestone set to 3.5.0

    I have no control over Lighthouse upload limits. ExponentCMS now uses GitHub to track issues, but I look here every month or so. https://github.com/exponentcms/exponent-cms/issues

    Bear in mind (based on screenshots received) there are 'user' forms and there are forms built with scripting in template views for developers customizing the installation. I'll focus on the first.

    If you are using a Twitter Bootstrap 2 based theme, the issue likely lies in a file shipped that shouldn't have been included. The form designer has been broken for a while due to a test file being included (bootstrap 2 form designer) without the associated asset files. I already have a fix in the yet unreleased v2.7.1 patch #2.

    Otherwise, I'll go through this step by step as to how it should work, then try to update docs site since it's lacking...I've fixed the docs site broken page issue.

    • add a new module - select type of 'Forms', an action of 'Input Records' (nothing to show yet), and the 'Default' view.
    • Clicking 'Save' will bring you to the 'Assign Form to Module' page since we can reuse existing forms, click on the 'Create a New Form' Button or select an existing form.
    • Clicking 'Create...' brings you to the Form creation page to add basic info about the new form, such as title, etc...
    • It's very important you select 'Save to Database' setting since it's ONLY selectable at this point. E.g., if the form is used to collect data, you must save it, but if it's a form to generate an email, you likely won't need to save it.
    • When you create the new (empty) form you'll be taken back to the 'Assign Form to Module' page, select the newly created (empty) form and the selector will turn green. You'll then likely need to navigate back to the original page you added the module...I'll have to fix this.
    • When back at the original page you'll note a warning 'This form is blank. Select "Design Form" to add input fields.' since the assigned form is empty, without any controls.
    • Click on the 'Design Form' button to bring up the Form Designer
    • I hope the Form Designer is fairly intuitive...drag controls out of the list onto the form, in the location you choose.
    • When you drop a new form control onto the form, it'll bring up the edit control dialog, forms are updated immediately when you hit 'Save'
    • You can drag controls up and down the form to rearrange them, you can also edit or delete controls. You can drag controls onto the Trash Bin instead of using the 'Delete' button.
    • The database Table (behind) the form is automatically updated as you add/remove controls. This means if you 'delete' an existing control, that column of data is deleted from the database Table.
    • When you are satisfied with your form, click on the 'Exit Form Designer' button at the bottom. This simply takes you back to the module page, it doesn't save or do anything else.
    • You should now see your new form on the page.

    Now that you have an 'Input Records' form, you can enter new records, etc... The basic input form give administrators access to any saved data records. You can also create a 'Show' view in another module if you would like to display the records to administrators or customers. Though you need to change some form view restriction settings to make the records viewable. Likewise the Input Records is a public entry, unless you restrict it.

  • peters@slx-online.biz

    peters@slx-online.biz March 29th, 2023 @ 12:45 PM

    Many thanks, I'll go through this in the next day or so and hopefully make some progress. First I need to put the committee straight on what is and isn't possible with a membership application form on the website. I think they are not understanding the relationship between the membership management system and the website! I can't imagine the nightmare trying to combine filling in and emailing a form, and providing PayPal for 20 different membership options. The problem that you have answered is me trying to evaluate what can and can't be done with the Forms module. Basically the member system does the work already but is a bitch to customise and isn't ideal. Anyway, I'll see if I can crack creating a form on the website before I help them make a decision.

    Just a thought on uploads, if you can't control this I guess it might be an idea to include something that tells people why and offers an email address for sending screenshots.


  • dleffler

    dleffler March 29th, 2023 @ 01:07 PM

    If you are using Exponent 'User' accounts for membership. There's the possibility of creating a custom 'User Profile Extension' They require some programming, but are not complex. Some existing Extensions are:

    • user address
    • user avatar
    • user biography
    • user instant messenger
    • user phone
    • user signature
    • user subscriptions

    Profile Extensions are composed of:

    • the profile extension file found in the /framework/modules/users/extensions folder
      • Most of these are very simply and only contain a classname, 'name' and 'description', they normally do not require any processing functions
    • the database table definition file found in /framework/modules/users/definitions, with a tablename named on the extensions classname
      • Most of these are very simply and contain only 2 fields, the user id to the main user record, and the single field of data.
      • An 'Update Tables' command updates the structure of this definition into the Exponent database
    • the view (template) file to enter the data is found in /framework/modules/users/views/extensions, again named on the classname
      • Most of these only contain a single control to enter the data
      • This Extension appears as a tab on the User Profile
  • peters@slx-online.biz

    peters@slx-online.biz March 29th, 2023 @ 01:17 PM

    Hi Dave. Thanks for the additional info. Membership resides in a separate application called Amember, located in a folder alongside the website. It does all of the registration / membership application / PayPal and offline payments / tracking of finances / emailing notifications to filtered email lists/ creating address labels for sending out monthly journals etc. I think I'd lose the will to live if I tried to add all those functions to Exponent!! It's a bitch to customise Amember so I'm exploring if I can engineer some form of overlap between the systems, but I am not hopeful. I'll work my way through your replies and see what drops out as viable or not. Peter.

  • peters@slx-online.biz

    peters@slx-online.biz March 29th, 2023 @ 04:01 PM

    Hi Dave. This is where it grinds to a halt:

    ''When back at the original page you'll note a warning 'This form is blank. Select "Design Form" to add input fields.' since the assigned form is empty, without any controls.

    Click on the 'Design Form' button to bring up the Form Designer''

    There is no warning note on the original page. On clicking Design Form I am now at the screen shown in the screenshot "bts design form screen".


  • peters@slx-online.biz

    peters@slx-online.biz March 29th, 2023 @ 07:20 PM

    I'll have to resume this tomorrow PM. I'll let you know how it goes.

  • dleffler

    dleffler March 30th, 2023 @ 11:05 AM

    • State changed from “open” to “resolved”

    This issue was caused by a 'copy' of a form control file in /framework/core/forms/control. Deleting the file fixed the issue.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Bug Tracker for Exponent CMS

Shared Ticket Bins