Support

Home Forums Event Espresso Premium Upgrading to EE4 (6)

Upgrading to EE4 (6)

Posted: June 23, 2019 at 10:25 am


Jason Lee

June 23, 2019 at 10:25 am

Hi there,

I was reading the article about upgrading to EE4 and it recommended commenting here about our project to see if it is a good fit.

We run a membership-based site using s2member to handle those membership payments. Once someone is a member, they are able to attend all events on the site for free (managed through event espresso). Different levels of s2member are able to reserve a different number of tickets based on what level they are (we have a custom plug in built to handle this).

We also have an additional cron job that sends out attendee lists to the venue once an event closes (custom built by programmer).

A few questions…

1. Does this sound like it would be a good/easy transition?
2. What happens to our current events and the members who have reserved tickets? Is there a crossover period where we are going to have to reload all events and manually enter the attendees?
3. Are the databases and “how things work” set up relatively similar? Just wondering if we’re going to need to get our custom plug in and custom cron job rebuilt or just tweaked?
4. Is it possible to get a temporary license to test out the transition on a test site before we make the actual transition or do we need to go ahead and purchase?
5. Is there anywhere I can see the different layouts available with EE4 to showcase events?

Thanks!

  • This topic was modified 4 years, 9 months ago by  Jason Lee.
  • This topic was modified 4 years, 1 month ago by  Garth.


Tony

  • Support Staff

June 24, 2019 at 6:43 am

Hi Jason,

1. Does this sound like it would be a good/easy transition?

Something that stands out straight away is that none of you custom development work for EE3 will work on EE4. EE4 can be used with membership sites, S2 ‘stacks’ capabilities which gives you more control with EE4 tickets by we don’t restrict ticket quantities based on membership levels, so that’ll need custom development again.

The attendee list, whilst possible, will again require new development.

I’m not trying to prevent you from updating to EE4 when saying the above, it is a ‘better’ system to use and is much more flexible than EE3 in many regards but we try to make you aware of issues before switching over.

2. What happens to our current events and the members who have reserved tickets? Is there a crossover period where we are going to have to reload all events and manually enter the attendees?

When you first active EE4 it will trigger migration scripts to pull the data we can use in EE4 over from your EE3 tables. This only happens once (although you can ‘reset’ and do it again) so you can’t migrate over and continue using EE3 to them re-import the extra registrations etc.

3. Are the databases and “how things work” set up relatively similar? Just wondering if we’re going to need to get our custom plug in and custom cron job rebuilt or just tweaked?

That’s a great question to ask and in short, no.

EE4 is a completely different system in many ways and how you do the above will be very different to how you’ve done it in EE4, your custom development will need a lot more than just a quick tweak for it to work.

EE4 uses custom post types and our own custom tables, it’s a hybrid of sorts in that events are posts and we inject other data from our tables.

EE3 uses all custom tables, queries, templates etc are all custom from within EE.

4. Is it possible to get a temporary license to test out the transition on a test site before we make the actual transition or do we need to go ahead and purchase?

You actually don’t need one, the EE3 license has access to EE4 by default.

The reason for this is so that you can choose to switch over when EE4 suites your needs. The only thing you don’t do when testing EE4 is add the license key to Event Espresso -> General Settings, everything will work as normal but you won’t be able to update the plugin through the dashboard (you do it manually).

So your free to install EE4 on any site you wish to test it out, we don’t provide support for sites that aren’t linked to a license although obviously when you are considering switching over we understand the above scenario and will answer any questions you have etc.

5. Is there anywhere I can see the different layouts available with EE4 to showcase events?

One of the big differences with EE4 is that we use custom post types for events, which means the a lot of the output for your events is based on your theme. Your theme builds out the content in the same way it would for ‘normal’ posts and we inject additional event data into the content. There’s add-ons for displaying events in tables and grids for example, but the general ‘event page’ and ‘event list’ pages are from your theme meaning we can give you some examples, but they may look very different than your theme.

Personally what I would do from here is create a clean dev site and install EE4 on it so you can view how it looks, install your theme and view how the events are output. Your custom development work is not going to work with EE4 regardless, so testing it against it is a waste of your time to be honest so I’d concentrate more on how EE4 works and if it will suit you (mostly) out of the box.


Jason Lee

June 29, 2019 at 12:37 pm

Awesome, thank you for your help. Getting the dev site set up today


Jason Lee

June 29, 2019 at 6:20 pm

I’ve gone ahead and uploaded according to instructions and have a few questions.

1. Visual editor is not working, only text when posting events. I disabled all plugins and switched to 2014 theme and still had the issue.

2. There are already ticket numbers and times when I go to create an event.

3. Does the list of registrants always show up with an individual listing for each ticket? (If someone reserves 4 tickets, there are 4 entries instead of just 1 that says 4 tickets).

4. Is there anyway to prevent people from updating their information during checkout?

Sorry if this should have been a fresh post


Jason Lee

June 30, 2019 at 4:44 pm

Update for #1 – I was able to get it working by toggling settings on and off within EE4.


Jason Lee

June 30, 2019 at 5:00 pm

5. Also, I am attempting to create multiple date times for an event, but when I click that button it reloads the event page (gives the prompt am I sure I want to leave with unsaved changes) and then does nothing.


Tony

  • Support Staff

July 1, 2019 at 8:42 am

Update for #1 – I was able to get it working by toggling settings on and off within EE4.

Hmm, strange.

Which specific setting do you mean here, please?

2. There are already ticket numbers and times when I go to create an event.

Ticket numbers and times? There should always be at least one datetime and one ticket within an event when you create, more can be set to be added by default as you create them (there’s an option in the ticket editor to make it a default ticket) but I’m not really sure that’s what you mean.

Can you add a screenshot that shows the problem?

https://eventespresso.com/wiki/troubleshooting-checklist/#screenshots

3. Does the list of registrants always show up with an individual listing for each ticket? (If someone reserves 4 tickets, there are 4 entries instead of just 1 that says 4 tickets).

Yes, theres a 1-to-1 relationship between a ‘ticket’ and a ‘registration’ when you select 4 tickets, 4 registrations are created, they are grouped (1 of 4, 2 of 4 and so on) but still individual registrations in a group.

4. Is there anyway to prevent people from updating their information during checkout?

Not within core but you can add a custom function to disable the inputs on the registration form if needed. So you want to use only the details from their WP User profile I presume?

5. Also, I am attempting to create multiple date times for an event, but when I click that button it reloads the event page (gives the prompt am I sure I want to leave with unsaved changes) and then does nothing.

Open up Chrome dev tools and check the console view on the event editor, any errors shown there? (If something is preventing the Event Editor from running (I.E a JS error from something else) it may cause problems.

However, to clarify, which specific button are you clicking?


Jason Lee

July 1, 2019 at 12:40 pm

Hey Tony,

1. I turned Display Venue Details off and back on and then it suddenly started working.

2. These times and dates and ticket quantities are already in there when I first click to create an event.

https://monosnap.com/file/c6xlhYqxBlpqbnnaclmewrXfGIMKnG

3. Bummer, but thanks for the info.

4. Ahh, gotcha. Yea, I want whatever is in their WP profile that they created when they signed up to be forced here.

5. I am clicking the grey “Add date time” or grey “Create Ticket” buttons.

This is what I am showing on the console:

JQMIGRATE: Migrate is installed, version 1.4.1
VM538 admin.php:6339 GET https://lasvegasseatfillers.com/wp-content/plugins/event-espresso-core-reg/core/third_party_libs/joyride/jquery.cookie.js?ver=2.1 404
ee-qtip-helper.js?ver=4.9.82.p:44 Uncaught TypeError: $.cookie is not a function
at Object.<anonymous> (ee-qtip-helper.js?ver=4.9.82.p:44)
at Function.each (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
at HTMLDocument.<anonymous> (ee-qtip-helper.js?ver=4.9.82.p:8)
at i (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
at Object.fireWith [as resolveWith] (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
at Function.ready (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
at HTMLDocument.J (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
(anonymous) @ ee-qtip-helper.js?ver=4.9.82.p:44
each @ load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2
(anonymous) @ ee-qtip-helper.js?ver=4.9.82.p:8
i @ load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2
fireWith @ load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2
ready @ load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2
J @ load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2
wp-auth-check.min.js?ver=5.2.2:1 Uncaught TypeError: Cannot read property ‘hasClass’ of undefined
at HTMLDocument.<anonymous> (wp-auth-check.min.js?ver=5.2.2:1)
at HTMLDocument.dispatch (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:3)
at HTMLDocument.r.handle (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:3)
at Object.trigger (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:3)
at Object.a.event.trigger (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:8)
at HTMLDocument.<anonymous> (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:3)
at Function.each (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
at a.fn.init.each (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:2)
at a.fn.init.trigger (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,moxiejs,plupload&ver=5.2.2:3)
at Object.<anonymous> (heartbeat.min.js?ver=5.2.2:1)


Josh

  • Support Staff

July 1, 2019 at 12:48 pm

Usually an error like the above would be caused by another plugin loading scripts into the WordPress admin. If you can troubleshoot on a staging/dev server it’s quite simple to deactivate all other plugins, then test again, reactivating the plugins one-by-one until you find the plugin that breaks the admin page again.


Jason Lee

July 1, 2019 at 2:24 pm

Hi Josh,

I have deactivated every plug in except EE and changed the theme to 2015 and still am having the same issues. Any thoughts?


Jason Lee

July 1, 2019 at 3:13 pm

I also received this email:

Howdy!

Since WordPress 5.2 there is a built-in feature that detects when a plugin or theme causes a fatal error on your site, and notifies you with this automated email.

In this case, WordPress caught an error with one of your plugins, Event Espresso.

First, visit your website (https://lasvegasseatfillers.com/) and check for any visible issues. Next, visit the page where the error was caught (https://lasvegasseatfillers.com/wp-admin/post.php) and check for any visible issues.

Please contact your host for assistance with investigating this issue further.

If your site appears broken and you can’t access your dashboard normally, WordPress now has a special “recovery mode”. This lets you safely login to your dashboard and investigate further.

*redacted*

To keep your site safe, this link will expire in 1 day. Don’t worry about that, though: a new link will be emailed to you if the error occurs again after it expires.

Error Details
=============
An error of type E_ERROR was caused in line 257 of the file /home/lasvegasseatfill/public_html/wp-content/plugins/event-espresso-core-reg/core/domain/entities/custom_post_types/CustomPostTypeDefinitions.php. Error message: Uncaught TypeError: Argument 2 passed to EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions::getCustomPostTypeModelName() must be of the type array, null given, called in /home/lasvegasseatfill/public_html/wp-content/plugins/event-espresso-core-reg/core/domain/entities/custom_post_types/CustomPostTypeDefinitions.php on line 243 and defined in /home/lasvegasseatfill/public_html/wp-content/plugins/event-espresso-core-reg/core/domain/entities/custom_post_types/CustomPostTypeDefinitions.php:257
Stack trace:
#0 /home/lasvegasseatfill/public_html/wp-content/plugins/event-espresso-core-reg/core/domain/entities/custom_post_types/CustomPostTypeDefinitions.php(243): EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions->getCustomPostTypeModelName(false, NULL)
#1 /home/lasvegasseatfill/public_html/wp-content/plugins/event-espresso-core-reg/core/admin/EE_Admin_Page_CPT.core.php(722): EventEspresso\core\domain\entities\custom_post_types\CustomPostTypeDefinitions->getCus

  • This reply was modified 4 years, 9 months ago by  Josh. Reason: removed recovery link


Jason Lee

July 1, 2019 at 4:27 pm

Sent login info attn: Tony if that is needed.


Josh

  • Support Staff

July 1, 2019 at 7:54 pm

Hi Jason,

The problem is very likely a hosting issue that your host will need to fix. Here’s what’s happening:

https://lasvegasseatfillers.com/wp-content/plugins/event-espresso-core-reg/core/third_party_libs/joyride/jquery.joyride-2.1.js

loads OK

https://lasvegasseatfillers.com/wp-content/plugins/event-espresso-core-reg/core/third_party_libs/joyride/joyride-2.1.css

also loads OK

however, the file at this URL returns a 404 error:

https://lasvegasseatfillers.com/wp-content/plugins/event-espresso-core-reg/core/third_party_libs/joyride/jquery.cookie.js

We can see the file is on the server, but the server’s mod sec rules aren’t allowing access. WooCommerce can have this same issue when it uses the same file, and their guide has some alternative solutions that involve renaming files, but the way forward will be to ask the host to allow loading the jquery.cookie.js file.


Jason Lee

July 2, 2019 at 5:47 am

Hi Josh,

Contacting the server company corrected that error and now the additional tickets and times load correctly. Is there anything I can do about the prepopulated times that show up on a new event as shown in the screenshot in the last message?


Tony

  • Support Staff

July 2, 2019 at 7:04 am

The events datetime(s) and ticket(s) all require a start/end date and time and a qty so the default values will always be set when you initially create an event.

It’s expected that you will edit the values to suit the specific event you are creating at the time.

May I ask what you would prefer EE did here?


Jason Lee

July 2, 2019 at 7:08 am

Ahh, makes sense. I think I would prefer for them to be blank to prevent mix-ups when my team loads events. When it’s blank (like in EE3), you know you need to edit something in there, but with a date and time already loaded I could see someone thinking they did it already especially when hundreds of events are being loaded at a time.

Not a big deal at all, but just my thoughts.


Tony

  • Support Staff

July 2, 2019 at 7:14 am

Hmm, yeah I see.

Problem with a blank field is if you still forget to set the option, EE then needs to include logic to set the field on save and so then once you’ve published/saved the event there will be a value anyway meaning it could have just had a value.

I get the point that it being blank might help some remember it should be set but iirc the point of it being how it is now is it’s obvious what those values are even if you save without changing them, if they are blank and then we add a default value on save, it’s not.

The support post ‘Upgrading to EE4 (6)’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso