Logiqx / wsw-tech

Technical tasks relating to Weymouth Speed Week
0 stars 0 forks source link

Joomla and Fabrik - Event sign up form. #55

Closed nickjpovey closed 1 year ago

nickjpovey commented 1 year ago

A new issue looming. The forms software used on the site is "Fabrik". The site is Joomla 3.x. Joomla has moved to 4.x, but the Fabrik project is undergoing "issues" and there is not currently a version for use with Joomla 4.x!

Do we stick with Joomla 3 and the current Fabrik - but may be lots of nugatory work if Fabrik is no longer supported.

Will have to upgrade Joomla before too long (2024 latest I think).

Is there an alternative forms technology that can link in to the MySQL database alongside Joomla?

The form could be a micro site outside of Joomla.

What is the best approach?

nickjpovey commented 1 year ago

OK so I made an executive decision to dump Fabrik (it was holding back some essential security updates and forcing us to use an unsupported old version of PHP).

The reason I felt able to do this was because I bought (£16) Visforms software which enables me to make a very whizzy entry form - first version completed and tested. Great for competitors, great email follow up and it creates a sheet for office staff, albeit it crude.

Downside for you Mike is that the data is only available as a CSV file, and in order to make the form work well for the user I have had to use conditional "echo" fields. e,g, number of days is a value to calculate cost then followed by several conditional fields that provide a text statement of the chosen option.

I envisage some Excel process that reads from one sheet to another to create the format you need and perhaps pull in Motion IDs from a list. If we can create that then everything should be easy!!

nickjpovey commented 1 year ago

WSW Entries (2).csv

wsw-entry-testing.pdf

Process working OK I believe.

Desirable features to continue pursuing:

1) Prevent more than one entry per person. I envisage using the Joomla $user id and presenting an "edit option" instead of "enter" when a competitor revisits the enter process. Big problem area will be returning a Motion to be available again and not allocating more Motions than needed - assuming 2) below is achieved.

2) Create a Motion table and look up unique serial numbers for each allocation of a Motion. Would require writing a flag to the Motion table I assume, i.e. looking up next Motion id without a flag, select it and write a flag to the record. I'll need some SQL brain power to help!

Currently the forms have a space to write in the Motion allocated, so can be made to work manually - albeit error prone.

The process needs to run at the time of entry, as "pop up" 2 dayers will need to have a Motion allocated.

nickjpovey commented 1 year ago

New Issue started