Forum

Thread tagged as: Suggestions, Discussion, Events

Feedback for the Events app

We've heard a lot of people asking for improvements in the Events app. To understand what that means and what features might be required in that, I could really use some practical examples.

Recurring or Repeating events

Many of you have been asking for recurring events. That's a small phrase that covers a massive topic. What examples do you have from client projects where you would need this? Here's an example:

My client is a church. They have lots of events that happen on a weekly basis. For example:

  • Every Sunday morning there's a service from 10.30-12am. This is always the same time, but each week there might be more details to add like the name of a visiting preacher, or they might go back and add an MP3 of the sermon afterwards.
  • A prayer meeting happens every Monday night, but not if that Monday is a public holiday.
  • The church council meets every month on the first Tuesday of the month.

What are your examples?

Drew McLellan

Drew McLellan 2638 points

  • 6 years ago

Recurring series events

  1. Example case: Colloquim lecture series happens at same time and place but on different dates. Every Wed at noon to 1pm for example. Some text fields for title and speaker and date changes but other details like location and category left intact. We create an event category for each lecture series.

Other Issues/Requests

  1. Developer can set order on template fields in control panel.

  2. Integrate categories app

  3. Is there a form entry like an html5 calendar to enter date and time rather than pull down with 24 hours for time?

  4. Can there be an eventDateTimeEnd (I've added a custom field for it manually in event template which works fine, but perhaps might be better implemented in the App.) I also have check boxes to display start time only. Our editors have variety of when events run. Weird. Sometimes we want to show an event runs from 1pm to 4pm. Other times we just want it to display a start time as 1pm (as the ending isn't known).

  5. Small calendar for sidebar that only adds css class if day has event to style. doesn't show each event in day box. when user clicks on that date filters on that day's events. (would custom template or css on perch_event_calendar be a possible solution?)

  6. Events on admin panel ordered so most recent events display first when filtered by an event category.

Sorry for typos and repetition from other posts. Also, I was posting to forum through a smart phone. Not recommended. My bad. : )

My client is a School...

They use events and events calendar for upcoming events which often span across several days. i.e: weeklong school vacation, school closed for the summer and many 2 to 3 day events.

They currently have to enter this information for each day, which makes creating more complex template containing a lot of information really frustrating to the editor who has to enter this over and over.

Also, The events calendar should be setup so you can specify which day of the week should be the first day. Many of my clients are 7th day adventist and currently you events calendar starts with Sunday as the 7th day... which is a serious conflict with my clients. With a simple line of code I have fixed this but it still should be configurable.

Many of my clients are artists. They need events that span day or weeks. Currently our work-around is to have multiple "event flags" associated with the event. Like openings and closings. It's kinda clumsy. I love events and would love to see it evolve into something a little more fluid with time. I'm ask imagining that lots of other markets would find this useful. Rentals etc.

The comment at the top about a calendar display would fit nicely into another conversation about customising the back-end for clients using javascript plugins. Many thanks Ian

Ian,

That is an interesting example. Exhibitions that run for extended times and are linked to a time frame of dates. Example. This exhibit runs from January 1 though March 1, 2015.

At a museum (we're running an exhibit around water issues at the UCLA Hammer Meseum) we might have a long running exhibit. Might have something like:

Name of exhibit Description Imagery Dates that exhibit runs. Call it Jan 1 - March 1 Related linked event materials like galleries, blog, news, videos or podcast interviews. Related lectures linked to exhibit theme but are also stand alone events.

Reminds me in Perch context of using the category app with a specific category with its own template with title, description and images, but also ties events, galleries, podcasts, videos, tweets, etc tied or li led through the specific category. Potential to creates a rich media page.

I'm using categories with collections to create a page based around major themes that pull together various content like, events, centers, people, and publications for example.

Wow did i say that? Sounds like your working with Runway?

I'll be in the minority here but I've modified the Events app to be an 'Offers' type app with various businesses being given an Editor account to publish their event/offer.

What I would like is some more control over their privileges, e.g. you can only edit/delete your own event and not be able to do anything to the other events.

Hi Drew,

Our Students' Union has many types of events organised by a range of stakeholders. Our top requests would be...

Recurring events

  • Repeat events; weekly night club event, weekly markets, monthly council meetings, regular drop-in sessions weekly or bi-weekly.

  • Events that span multiple days; trips abroad, voting periods, campaign weeks (see below).

  • Display start and end times (sometimes on different days)

  • Campaigns that often last a week or longer with several events making up one campaign week. For example our volunteering week, is made up of a range of different opportunities members can get involved with as well as fairs, socials and trips.

  • As we operate in term-time, having the ability to set 'periods' or 'blocks' like half-terms, christmas/easter/summer breaks and exam period would be a boon. For example, this could behave a bit like a tag where each tag has a unique colour or badge and highlight the grid in mini-calendar view or show as label in the event detail.

  • A nice example of recurring bookings can be found on roombookingsystem.co.uk. Once the fields are set in the recurring section, the form shows a calendar view with dates highlighted of when your event will recur giving the user an overview.

Other considerations

  • Event authors (like blog authors); we currently include extra fields for 'organiser' and 'organiser description'

  • Limit editor posts to only selected categories based on role permissions, allowing us to give access to select third parties to only 'their' category.

  • A lot of events are submitted by external parties, the ability to have a front end form to feed the events app (perhaps as drafts before approval) would be amazing.

Thank you,

Jasper

Posting this here after looking for info on making the description field not required:

Be good if it could be set to not be required or removed completely.

The scenario I am using the events app in is for a list of fixtures and the vast majority don't require further information to be displayed however the odd one may require it so it would be good if the description could be set to not required. This would mean that the description field could be wrapped in perch:if tags to check for content and could be left blank when its not needed.

It would also be great if a 'Save and Add Another' button could be added to the app similar to others to make it easier to add multiple events at the same time.

I have a client that is a Parish Council that also manages the Parish Hall. Recurring events would be:

  1. Parish Council meeting on the first Monday of the month (although at the moment it is first Monday of every other month).
  2. A youth club that happens every week at the same time.
  3. Another club that happens the second and fourth weeks of every month.

I have another client where I’d like to be able to use events for but can’t because she has multiple day events (I know not strictly a repeating event).

  1. She has a course that runs Saturday 4th to Sunday 5th.

Thanks

Nick

I actually already extended the events app with recurring events for my own use using the "When" php library: https://github.com/tplaner/When.

I've also added admin search as big lists of events (such as a client of mine that is a church) can get unwieldy. For example, trying to sort through all the individual service events to look for the one different event on page 3 is quite a long winded way of finding an event to update.

Might be useful to control the calendar markup as well, not just the individual day cells as a template. Currently we are limited to using a table as your PHP creates <td>. I've modified this class in my version to use <li> as I have a responsive calendar that looks like a table at desktop, but collapses to a list on small screens.

For a multi-lingual site the template can hold two or more fields for different languages then templates can filter the required field. However it gets tricky with days and months served up the app.

An additional field / option that sets the language just for the days of the week and months that are served by the app would be nice. So for example in a template setting lang=´fr´ would substitute the days and months output by the app to French. No lang attribute defaults to English.

Would categories within the events app be getting replaced with just the categories app.

Hi Scott,

Can you let me know how you added end date field to your event please? I also want a map link field for my events so perhaps I can follow your approach.

Thank you

Scott Gruber said:

  1. Can there be an eventDateTimeEnd (I've added a custom field for it manually in event template which works fine, but > perhaps might be better implemented in the App.) I also have check boxes to display start time only. Our editors have variety of when events run. Weird. Sometimes we want to show an event runs from 1pm to 4pm. Other times we just want it to display a start time as 1pm (as the ending isn't known).

Hi Fred,

I'm sure there are other ways to do this, but here was my version that is working. Sort of sounds like your method too.

Here's mine.

  1. begin date and time
  2. end date and time
  3. check box whether to show end date/time or not
  4. check box whether to show any time at all. (why post an event without any time seems strange, but hey)

Here are parts from the event.html template

<p>
<span class="dtstart"><perch:events id="eventDateTime" label="Event Start Date and Time" help="Select date and time your event begins."  /></span>
<span class="dtend"><perch:events id="eventDateTimeEnd" type="date" time="true" label="End Time" help="Select time your event ends."  /></span>
</p>

<perch:events id="eventHideTime" type="checkbox" label="Hide any time for your event" help="Check if you don't want to display begin or end time for you event" order="4" value="true" suppress="true" />

<perch:events id="eventHideEndTime" type="checkbox" label="Hide time event ends" help="Check if you don't want to display time your events ends." order="5"  value="true" suppress="true" />

I know its a bit weird to not have any time for an event but its an edge case that can happen.

Then on the main template I use some <perch:if> and <perch:else> statements to display or not. Here is a version to check out.

<perch:if exists="eventHideTime">
    <perch:else />
    <div class="date">
    <span class="month"><perch:events id="eventDateTime" format="F" /></span>
    <span class="day"><perch:events id="eventDateTime" format="j"  /></span>, 
    <span class="year"><perch:events id="eventDateTime" format="Y" /></span>
    <span class="eventTime">
    <span class="time dtstart"><perch:events id="eventDateTime" format="g:i A" type="date" /></span>
    <perch:if exists="eventHideEndTime"><perch:else /><perch:if exists="eventDateTimeEnd"><span class="time dtend"> - <perch:events id="eventDateTimeEnd" type="date" time="true" format="g:i A"  /></span></perch:if></perch:if>
    </span>
    </perch:if>

Here is how it looks on the https://www.environment.ucla.edu/events so you can see some events with begin time and some with both begin and end time events.

I'm unsure about the map, but I'm sure you've seen the documentation for the field type. https://docs.grabaperch.com/docs/templates/attributes/type/map/

Hope this helps.

Excellent Scott its great to see your code and the working example. The help attribute is a nice thing too.

This is working great thank you

I would also love the events app to be more consistent throughout template directories. For example I can define a template from 'perch/templates/content/...' for the perch_events_calendar() but perch_events_categories() is only able to pull templates from 'perch/addons/apps/perch_events/templates'.

Robert Schweizer said:

I would also love the events app to be more consistent throughout template directories. For example I can define a template from 'perch/templates/content/...' for the perch_events_calendar() but perch_events_categories() is only able to pull templates from 'perch/addons/apps/perch_events/templates'.

To modify templates copy the templates from /perch/apps/perch_events/templates/events to /perch/templates/events and then make your changes. If a template has the same name in this folder as the template in the perch_events folder it will be used rather than the default. You can also create your own templates with any name you like and pass in the name of the template when using perch_events_custom or as part of the options for a standard function.

https://docs.grabaperch.com/addons/events/template-tags/

Robert Schweizer said:

I would also love the events app to be more consistent throughout template directories. For example I can define a template from 'perch/templates/content/...' for the perch_events_calendar() but perch_events_categories() is only able to pull templates from 'perch/addons/apps/perch_events/templates'.

Here's another way you can render any of the apps into any of the other apps templates

Rendering Templates Sometimes it’s useful to be able to render a set of data using a Perch template on the fly. Perhaps you’ve used skip-template to fetch an array, have done some work on that array, and then want to show it using the templating engine.

The perch_template() function enables you to do that.

https://docs.grabaperch.com/docs/developers/rendering-templates

This is a great discussion...

Im working on a solution for an event ticketing class. Injects a suite of event assets ( think a fully styled event ticket ) into a form-mail function.