Announcing Recurring Events and EE4 Beta Releases for Event Espresso!

Recurring Events Manager

Includes an Improved Date and Ticket Editor and Support for Recurring Events.

We are excited to announce that Event Espresso 4.11 core Beta and the Recurring Events Manager add-on Beta are now available in the pre-release channel. We can’t wait for you to check it out! We call on everyone in the Event Espresso community to explore, test, and try them both out!

We are seeking beta testers!

Event Espresso 4.11 is one of our most exciting major releases to date. Our key focuses are accessibility and a partial redesign of our event editor to make it more user-friendly and facilitate recurring events. We know that 4.11 will make a big difference to all our customers, especially those looking forward to the Recurring Events Manager Event Espresso 4.

Here are some customer requests for the Recurring Events Manager:

– “It would be a great time saver if I could replicate an already created event and just change the dates.”

– “I would like to schedule an event that takes place three times each day, six days per week.”

– “I want to add recurring courses.”

– “We have tour times every day for different tours that we want to set up quickly.”

– “I have recurring in-person & online events that I haven’t been able to schedule that way.”

– “Does the system handle recurring events? That is, for example, an event that is offered once a day for 30 days?”

– “Basically, I need recurring events on different days/months.”

Before we introduce you to the Recurring Events Manager add-on, we want to talk about our new Event Editor that supports this highly anticipated add-on. 

Introducing a New Datetime and Ticket Editor

In this version of Event Espresso, we’ve made significant improvements to the event editor to provide an easier-to-understand datetime editor and enable the Recurring Events Manager add-on for Event Espresso 4.

In previous versions of Event Espresso 4, many users faced issues when adding dozens of datetimes and tickets to a single event, causing the event editor to break due to common server limitations. Our team created a New Event Editor interface to solve that server issue and give our users an easier-to-use interface for creating events, adding dates, and creating tickets. 

Using the built-in JavaScript/REACT components in WordPress, our development team has implemented pop-up modal forms for creating events, which uses browser and server resources more efficiently when adding datetimes and assigning tickets to a single event. In addition to pop-up modals, we’ve added functionality to view dates in different formats and filter datetimes and tickets from within the editor. Here’s a preview of the new editor:

Newly added features include the ability to filter dates and tickets, a new Ticket Price Calculator, and a Ticket Assignments Manager.

Getting Started with Event Espresso 4.11 Beta

Are you ready to get started with Event Espresso 4.11 Beta? Here are two available options:

  • Install 4.11 on a Test Site – Download 4.11.0.beta by logging in to your Event Espresso account and going to your account dashboard’s Pre Release Downloads area. (Note: 4.11.0.beta should NOT be tested on a production [live] site. Please ensure that you only install 4.11.0.beta in an isolated sandbox environment like a test, staging, or development site).
  • Sign Up for Your Free Demo Site – Get your own personal demo sandbox account, where you can test-drive Event Espresso 4, giving you the ability to test Event Espresso 4.11.0.beta in a safe environment. You can set up your own demo site to test it out here: demoee.org.

Testing 4.11 Beta

Please backup your website before making any changes.

Testing is now our top priority to ensure a smooth release of 4.11.0 and compatibility with as many themes, plugins, and community add-ons as possible. So we need as many people as possible to install Event Espresso 4.11.0.beta (in a sandbox environment). We cannot test or simulate every scenario with each plugin, host, or theme. Your insight and feedback are vital, as they will enable us to identify and address any outstanding issues. 

Event Espresso 4.11 sees major changes to the Event Espresso Event Editor to improve accessibility, extensibility, and usability. Releasing a beta version of Event Espresso 4.11 will allow you to play around with dates and times, review your events, and deal with any compatibility issues if they arise. Equally, we want to ensure that when Event Espresso 4.11.0 is released, every one of you is ready, and your will events continue to work as smoothly as ever.  

If you come across any problems with 4.11.0.beta, we want to know about them.  Please report any issues directly to the Event Espresso support team via our Pre-Release support forums.

Activating the New Event Editor Interface

If this is a new activation of Event Espresso, then you can skip this next section, as the New Event Editor interface is activated by default on all new installs of Event Espresso 4.11 Beta.

If you are activating Event Espresso 4.11 Beta on an existing site, then you will need to activate the new, “Advanced Editor” option:

  • To activate the new event editor, follow the directions above [see section: Getting Started with Event Espresso 4.11 Beta] to install the beta release on your testing site, then head over to the WordPress dashboard (your WordPress site’s admin area). From there, go to the Event Espresso > Events > Default Settings tab and enable the “Advanced Editor” as shown here and save changes:
  • Once the Advanced Editor is activated, head over to the Event Espresso > Events > Add New Event page and start creating your events.

Introducing the Recurring Events Manager for Event Espresso

The Recurring Events Manager can help you quickly set up daily, weekly, monthly, and yearly dates for your events. Here’s a view of the recurring events manager in action:

Can I create a one-off date or recurring event dates? Yes and Yes!

Step 1: Choose how you would like Event Espresso to repeat event dates.

Step 2: Add specific details about a datetime (the day and time for an event).

Step 3: Add info about an event registration option or ticket.

Step 4: Preview the event dates and submit to confirm so Event Espresso can build out your recurring events for you.

Recurring Events Examples

Intro to Recurring Events: How to set up a CPR Course using the Recurring Events Manager:

Intro to Recurring Events: How to set up a Classic Car Meetup:

The Path Forward for Conditional Registration Forms and More!

Event Espresso 4.11 and the technology behind the new date and ticket editor paves the way for more advanced features such as conditional registration forms, per-ticket registration forms, and much more! If you help experiment, test, and try, you can help all these new features become available sooner than later.

Wrapping Up

We look forward to hearing about how you get on with Event Espresso 4.11 Beta and Recurring Events! Please post your feedback or ask questions in the support forums.

In the words of the author Mark Twain: “The secret of getting ahead is getting started. The secret to getting started is breaking your complex overwhelming tasks into small manageable tasks and then starting on the first one.”

An active support license is required to access beta versions of our products from your Event Espresso account. Not yet using Event Espresso? Take the next step and start with Event Espresso today.

Related Articles

2 thoughts on “Announcing Recurring Events and EE4 Beta Releases for Event Espresso!

  1. I’ve gone through the intro to recurring events. What I’m trying to do: 1) create timed ticketing ie allow a certain # of people to come in every 15 minutes on multiple days.
    2) manage the price, surcharges for all or a few, on the fly for all of them at once, after they have been created.
    I currently have 27 time slots (so 27 tickets as well) each day for 13 days and 17 time slots (+ 17 tickets) for 18 days. I’ve set each day to be one event, so 13 events of one type and 18 events of another. I can create one event and duplicate but then still need to go through to change the dates of each time slot and each “sell until”. Quite tedious, takes me days, a little at a time. This is my 2nd year at it. I see years, months, weeks, days. Can I have hours and minutes too? That would solve the creation issue I have. 2) how to add a surcharge to each ticket after 650 tickets have been created?
    Thanks

Share a Reply or Comment

Your email address will not be published. Required fields are marked *

Need help with Event Espresso? Create a support post in our support forums

Event Espresso
[gravityform id=116 title=false description=false]
<script type="text/javascript">if(!gform){document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0});var gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),null==t&&(t=10),gform.hooks[o][n].push({tag:i,callable:r,priority:t})},doHook:function(o,n,r){if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[o][n]){var t,i=gform.hooks[o][n];i.sort(function(o,n){return o.priority-n.priority});for(var e=0;e<i.length;e++)"function"!=typeof(t=i[e].callable)&&(t=window[t]),"action"==o?t.apply(null,r):r[0]=t.apply(null,r)}if("filter"==o)return r[0]},removeHook:function(o,n,r,t){if(null!=gform.hooks[o][n])for(var i=gform.hooks[o][n],e=i.length-1;0<=e;e--)null!=t&&t!=i[e].tag||null!=r&&r!=i[e].priority||i.splice(e,1)}}}</script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_116' ><form method='post' enctype='multipart/form-data' id='gform_116' action='/2021/04/announcing-recurring-events-and-ee4-beta-releases-for-event-espresso/' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_116' class='gform_fields top_label form_sublabel_below description_below'><li id="field_116_5" class="gfield gfield_contains_required field_sublabel_hidden_label field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >What is your first name?<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_116_5'> <span id='input_116_5_3_container' class='name_first' > <input type='text' name='input_5.3' id='input_116_5_3' value='' aria-label='First name' aria-required='true' placeholder='First name' /> <label for='input_116_5_3' class='hidden_sub_label screen-reader-text'>First name</label> </span> </div></li><li id="field_116_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_116_1' >What is your email address so we can follow up with you?<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_116_1' type='text' value='' class='medium' placeholder='hello@example.com' aria-required="true" aria-invalid="false" /> </div></li><li id="field_116_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_116_2' >Tell us about your concerns below<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_2' id='input_116_2' class='textarea medium' placeholder='What kind of events are you planning?' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li><li id="field_116_6" class="gfield field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label gfield_label_before_complex' >GDPR Agreement</label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_116_6'><li class='gchoice gchoice_116_6_1'> <input class='gfield-choice-input' name='input_6.1' type='checkbox' value='I consent to have this website store my submitted information so they can respond to my inquiry.' id='choice_116_6_1' /> <label for='choice_116_6_1' id='label_116_6_1'>I consent to have this website store my submitted information so they can respond to my inquiry.</label> </li></ul></div></li><li id="field_116_3" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_3' id='input_116_3' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_116_4" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" ><div class='ginput_container ginput_container_text'><input name='input_4' id='input_116_4' type='hidden' class='gform_hidden' aria-invalid="false" value='https://eventespresso.com/2021/04/announcing-recurring-events-and-ee4-beta-releases-for-event-espresso/' /></div></li><li id="field_116_7" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" ><label class='gfield_label' for='input_116_7' >Comments</label><div class='ginput_container'><input name='input_7' id='input_116_7' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_116_7'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_116' class='gform_button button' value='Send my message' onclick='if(window["gf_submitting_116"]){return false;} if( !jQuery("#gform_116")[0].checkValidity || jQuery("#gform_116")[0].checkValidity()){window["gf_submitting_116"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_116"]){return false;} if( !jQuery("#gform_116")[0].checkValidity || jQuery("#gform_116")[0].checkValidity()){window["gf_submitting_116"]=true;} jQuery("#gform_116").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_116' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='116' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_116' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_116' id='gform_target_page_number_116' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_116' id='gform_source_page_number_116' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div>