Skip to content
This repository has been archived by the owner on Nov 3, 2023. It is now read-only.

Repeated events will not be showed in the list of future events #8497

Closed
jankout opened this issue Sep 21, 2016 · 48 comments
Closed

Repeated events will not be showed in the list of future events #8497

jankout opened this issue Sep 21, 2016 · 48 comments
Assignees
Labels
Milestone

Comments

@jankout
Copy link

jankout commented Sep 21, 2016

Unfortunately, the repeated events will not be showed in the list of future events only once when the option Shortened view is checked.

@leofeyer
Copy link
Member

See #8447.

@Aybee
Copy link
Contributor

Aybee commented Sep 21, 2016

This is correct behaviour. Shortened view regards to events that span multiple days only, not to recurring events.

Tooltip: Show events only once even if they span multiple days.

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

@Aybee: I think you misunderstood. When an event spans multiple days, there will be an entry for that event for each day in the event list. If you activate the option Shortened view, you will see only one entry on the first day of the event in the event list.

The bug here is, that if the event is also recurring, it will never show up in the event list again after the first day of the given date in the event list.

// edit: it seems I misunderstood @jenda77

@jankout
Copy link
Author

jankout commented Sep 21, 2016

@leofeyer No, this is not what I mean. I mean, when I choose the option Shortened view I expect that the event will be showed only once and not for every single day when it takes part again.

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

@jenda77 I cannot reproduce this in the Contao Online Demo. Do you have reproduction steps?

@jankout
Copy link
Author

jankout commented Sep 21, 2016

This is my template for the event list

<div class="event layout_list<?php echo $this->classList; ?>">
<?php if ($this->header): ?>
  <div class="header<?php echo $this->classHeader; ?>">
<?php if ($this->daysElse): ?>
<span class="date"><?php echo $this->daysElse ?></span>
<?php else: ?>
<span class="date"><?php echo ($this->parseDate("d.m.", $this->startDate)); ?><?php if ($this->endDate): ?> - <?php echo ($this->parseDate("d.m.", $this->endDate)); ?><?php endif ?></span><?php endif ?><?php if ($this->timesDaily): ?>
<span class="time"><?php echo $this->timesDaily ?></span>
<?php else: ?>
<?php if ($this->startTime): ?>
<span class="time"> <?php echo ($this->parseDate("H:i", $this->startTime)); ?><?php if ($this->endTime): ?> - <?php echo ($this->parseDate("H:i", $this->endTime)); ?><?php endif ?></span><?php endif ?>
<?php endif ?>
  <?php if ($this->location): ?>
 <span class="location"><i class="fa fa-map-marker" aria-hidden="true"></i> <?php echo $this->location ?> </span> <?php endif ?>
  </div>
<?php endif; ?>
  <h2 <?php if ($this->subtitle): ?>class="with-subtitle"<?php endif ?>><a href="<?php echo $this->href; ?>" title="<?php echo $this->title; ?> (<?php if ($this->day): echo $this->day; ?>, <?php endif; echo $this->date; if ($this->time): ?>, <?php echo $this->time; endif; ?>)"<?php echo $this->target; ?>><?php echo $this->link; ?></a></h2>
  <?php if ($this->subtitle): ?>
<h3><?php echo $this->subtitle ?></h3>
<?php endif ?>
  <?php if ($this->addImage): ?>
    <figure class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
      <?php if ($this->href): ?>
        <a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
      <?php endif; ?>
      <?php $this->insert('picture_default', $this->picture); ?>
      <?php if ($this->href): ?>
        </a>
      <?php endif; ?>
      <?php if ($this->caption): ?>
        <figcaption class="caption" style="width:<?php echo $this->arrSize[0]; ?>px"><?php echo $this->caption; ?></figcaption>
      <?php endif; ?>
    </figure>
  <?php endif; ?>
  <?php if ($this->teaser): ?>
<div class="teaser"><?php echo $this->teaser; ?>
<?php if ($this->eventConnection): ?>
<p><span class="connection"><i class="fa fa-subway" aria-hidden="true"></i> <?php echo $this->eventConnection ?></span></p>
<?php endif ?>
</div>
<?php endif ?>
  <?php if ($this->details): ?>
    <p class="more"><i class="fa fa-angle-double-right" aria-hidden="true"></i> <a href="<?php echo $this->href; ?>" title="<?php echo $this->readMore; ?>"<?php echo $this->target; ?>><?php echo $this->more; ?> <span class="invisible"><?php echo $this->link; ?></span></a></p>
  <?php endif; ?>  
    <?php if ($this->showTags): ?>
    <?php if (count($this->taglist)): ?>
    <ul class="tag-chain">
    <?php $counter = 0; foreach ($this->taglist as $tag): ?>
    <li class="tag-chain-item<?php if ($counter == 0) echo ' first'; ?><?php if ($counter == count($this->taglist)-1) echo ' last'; ?><?php if ($this->showTagClass) echo ' ' . $tag['class']; ?>"><?php echo $tag['url']; ?></li>
    <?php $counter++; endforeach; ?>
    </ul>
    <?php endif; ?>
    <?php endif; ?>
</div>

And the screenshot of my settings for the module I use for the frontend list.

snimek obrazovky 2016-09-21 v 7 59 16

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

You should provide reproduction steps that can be done in the Contao Online Demo.

The template should not matter. If it happens only with a custom template, then it is not a bug.

@jankout
Copy link
Author

jankout commented Sep 21, 2016

The steps are:

  1. I´ve created the modules for event list and event reader
  2. after this I´ve placed the modules for the event list on the site where I need it.
  3. in the repeated event I´ve chosen Repeat event and set the interval to 1 and Recurrecens to 2

Maybe it does not work for the option All upcoming events?

That´s it.

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

As already said, you should provide detailed reproduction stept for the Contao Online Demo. You need to do them yourself first there, so that you can confirm for yourself, that it also occurs in the Contao Online Demo.

The steps you provided are probably far to insufficient to reproduce the problem in the Contao Online Demo.

@jankout
Copy link
Author

jankout commented Sep 21, 2016

Sorry, it´s obviously that I did it. ;-) The settings for the event list you can see above.

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

How did you reproduce it in the Contao Online Demo?

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

When I set the event "Contao North Day" to start at the 26.10.2014 and end at the 28.10.2014 and set it to recurring each year and the event list module to Shortened view, everything looks correct in the frontend:

screen shot 2016-09-21 at 13 19 01

The event is shown for the 26th of October 2016 and only the first day is shown, as expected.

@Aybee
Copy link
Contributor

Aybee commented Sep 21, 2016

@fritzmg The bug here is, that if the event is also recurring, it will never show up in the event list again after the first day of the given date in the event list.

I know the behaviour but it looks like I missed the word also in your description which I did not test.

But I think you did the test know without finding a bug.

@jankout
Copy link
Author

jankout commented Sep 21, 2016

Sorry, I don't have any energy more for contao now. My explanation is above, more I don't want to describe.

@fritzmg
Copy link
Contributor

fritzmg commented Sep 21, 2016

My explanation is above, more I don't want to describe.

I cannot reproduce your issue based on your explanation. See the screenshot above.

@jankout
Copy link
Author

jankout commented Sep 21, 2016

Just ignore it. Thank you for help.

@Aybee
Copy link
Contributor

Aybee commented Sep 21, 2016

@jenda77
Melde dich einfach im Forum nochmal, vielleicht können wir das dort ja erstmal in Ruhe abklären.

@leofeyer
Copy link
Member

What are the exact steps to reproduce this in the online demo?

@jankout
Copy link
Author

jankout commented Sep 23, 2016

I change the date for the first event: the start date to 21.9.2016 and the end date to 25.9.2016, disable the option Repeat event and the another events unpublished. Then this event does not appear in the list of upcoming events. But it still takes place.

That means as soon as the event has the start date in the past but the end date in the future it does not appear in the list. I think this is wrong.

snimek obrazovky 2016-09-23 v 13 43 18

snimek obrazovky 2016-09-23 v 13 43 28

snimek obrazovky 2016-09-23 v 13 43 35

@Aybee
Copy link
Contributor

Aybee commented Sep 23, 2016

Same regards to one-day events with Start time and End time.

Maybe we need a checkbox in the List "Handle running events as upcoming events (not bygone)". Then match them against endDateTime but not startDateTime. So running events will not become bygone.

@jankout
Copy link
Author

jankout commented Sep 23, 2016

I think we don´t need more options. Just the right (linked to the reality) handling of events. The logic is that when an event has en end date in the future but the start day in the past should still be showed in the list of upcoming list.

@asaage
Copy link

asaage commented Sep 23, 2016

@jenda77 That is your reality...
for most of my Events that would not make any sense.
So I'd favour the option as described by @Aybee.

@jankout
Copy link
Author

jankout commented Sep 23, 2016

But when the event still takes place you want to have it in the list of upcoming events. Or not?

@asaage
Copy link

asaage commented Sep 23, 2016

I'd want the events in the list for other people to join in.
But i definitely don´t want people to show up in the middle of the event.
That depends of course on the nature of the event ;-)

@jankout
Copy link
Author

jankout commented Sep 23, 2016

OK, in my experience it´s common in the culture scene how Hebbel am Ufer has it www.hebbel-am-ufer.de). They show it either as repeated event for each day particularly or, if they want, as one event of several days.

@Physiklehrer
Copy link
Contributor

My Forum thread about this issue:
https://community.contao.org/de/showthread.php?63875-3-5-16-Laufende-Events-werden-nicht-mehr-unter-quot-upcoming-quot-angezeigt

Online Demo --> create an event starting yesterday and ending tomorrow --> event is currently running, but not displayed in the "upcoming events example" (since 3.5.16, before it was). This might be ok, if it is decision that "upcoming" excludes running events. Unfortunately there is no possibilty to show currently running events any more. Also the event list format "day" does not show this running event, output: "There are no events on this day."

Otherwise, currently running events are shown at the event list format "past events". But they are still running and not "past" - if we want to be that strict with "upcoming"?! Here my suggestion to make the situation more clearly:

Solution 1: both "upcoming" and "past events" INCLUDE all currently running events (like contao <= 3.5.15)

  • Programming: past events are displayed if system date/time < END date/time, upcoming events are displayed if system date/time > START date/time.
  • all users who don't want do show running events in the past or upcoming list (see "But i definitely don´t want people to show up in the middle of the event.") can realize that with "Show from" or "Show until" in the "Publish settings"-section.
  • interpretation: running events are both upcoming and past, because in the middle of a running event it is 1/2 "past" and 1/2 "upcome".

Solution 2: "past" and "upcoming" events EXCLUDE currently running events

  • programming: past events are only displayed if system date / time > END date / time, upcoming events are displayed if system date / time < START date / time
  • Interpretation: there are no 1/2 or 3/4... events. An Event is past, running or upcoming without any intersection.

In this case, a way to show currently running events is needed. Ideas:

2a) add further items to "event list format": "past", "upcoming", "past and running", "upcoming and running"
2b) add a checkbox "show / include running events" etc. to the event list module (proposal of Aybee above)
2c) add a checkbox "show event while running" to the event properties, so that it can be speficied for each event (proposal of tab in the forum)

For me it doesn't matter which solution is realised, take the one that is easy to implement (without getting new bugs with repeating events, I understand that this is not easy... many thanks to the core team!). Anyway, in my opinion this is a defect, not a new feature, because contao <=3.5.15 was able to show running events.

@asaage
Copy link

asaage commented Sep 29, 2016

2a) does not seem to be practicable as for "past" and "upcoming" there is already a long list for the different timespans
2c) having this as a property of the event itself might prevent you from displaying in alternative listings

so imho 2b) should be the way to go
additional checkbox for eventlist-Module like

  • take running events into account

or

  • discard running events

image

@Physiklehrer
Copy link
Contributor

Physiklehrer commented Oct 19, 2016

ok, die if-Verzweigung braucht es natürlich eigentlich nicht, sorry. Statt meiner obigen unnötig komplizierten Lösung würde es auch genügen, einfach Zeile 175 durch
if ($event['repeatEnd'] && strtotime($event['datetime']) < $intStart)
zu ersetzen...

Ich versuche mich dann mal an einem Pull-Request, auch wenn das leider noch nicht ganz perfekt ist, da laufende Wiederholungsevents weiterhin ausgeblendet werden. Angesichts der zunehmenden Zahl von Anfragen im Forum hierzu sollte zumindest dies aber unbedingt in die 2.5.18...

@leofeyer
Copy link
Member

Das Grundproblem ist, wie @asaage es schon oben beschrieben hat, dass es von dem Event abhängt, ob er während der Laufzeit noch "upcoming" ist oder nicht.

Eine Kirmes, die 5 Tage lang dauert, kann ich natürlich noch am dritten Tag besuchen, daher sollte das Event angezeigt werden. Hingegen kann an einer Urlaubsreise, bei der der Flieger am ersten Tag geht, am dritten Tag nicht mehr teilgenommen werden, daher sollte das Event nicht mehr angezeigt werden.

Wir hatten genau diesen Fall im letzten Mumble-Call mit den @contao/developers diskutiert und die Lösung wäre, dass man pro Event auswählen kann, ob er "offen" oder "geschlossen" ist (die Wortwahl steht noch nicht fest).

Für Contao 3 wird es wohl keine Änderung des Verhaltens mehr geben (siehe #153, #8194 und #8447) aber für Contao 4 wäre so ein Feature denkbar.

@fritzmg
Copy link
Contributor

fritzmg commented Oct 21, 2016

Für Contao 3 wird es wohl keine Änderung des Verhaltens mehr geben (siehe #153, #8194 und #8447) aber für Contao 4 wäre so ein Feature denkbar.

Sollte für Contao 3 dann nicht das Original Verhalten aus Contao 3.0.0 bis 3.5.12 wieder hergestellt werden?

@asaage
Copy link

asaage commented Oct 21, 2016

und die Lösung wäre, dass man pro Event auswählen kann, ob er "offen" oder "geschlossen"

pro Event fände ich das nicht so gut - ich finde es sollte im Listenmodul festgelegt werden.

@leofeyer
Copy link
Member

ich finde es sollte im Listenmodul festgelegt werden

Das geht nicht. Nimm die beiden Beispiel-Events (Kirmes und Urlaubsreise) und stell Dir vor, sie wären beide im selben Kalender. Wie willst Du im Listenmodul sagen, dass der eine Event "offen" ist und der andere "geschlossen"?

@Physiklehrer
Copy link
Contributor

Für den Fall "Urlaubsreisen" besteht derzeit aber schon die Möglichkeit, durch Eintragen des Startdatums in das "Anzeigen bis"-Feld das Event nach dem Start auszublenden, um z.B. eine Anmeldung zu verhindern. Natürlich verschwindet es dann auch aus Kalendern und Listen mit vergangenen Events, doch bei Events sind die Rückblicke sicher nicht ganz so elementar wie zukünftige Events.

Das Kirmes-Beispiel lässt sich hingegen derzeit nicht mehr mit Core-Features realisieren, da laufende Events wegen des "// Skip occurrences in the past"-Abschnitts grundsätzlich ausgeblendet werden. Die Core-Features decken jetzt also weniger Anwendungsfälle ab als vor 3.5.12. Von daher würde ich schon vorschlagen, meinen kleinen Fix einzubauen, sodass zumindest laufende Einzelevents wieder wie früher angezeigt werden.

@jankout
Copy link
Author

jankout commented Oct 21, 2016

Bitte dieselbe bzw. verbesserte (an die vorhandenen Funktionen anknüpfende) Handhabung wiederherstellen, wie es vor 3.5.17 der Fall war. Nur wenige nutzen C4 und es wird noch einige Monate dauern, bis viele wirklich auf C4 umsteigen. Deswegen ist die Handhabung von 3.5.x immer noch sehr entscheidend, um das Eventmodul richtig nutzen zu können.

Für C4 wäre es, denke ich, ganz gut, wenn man das Modul an einigen Stellen überarbeitet/verbessert - beispielsweise einige Eigenschaften von News übernimmt (z.B. Möglichkeit, Events hervorzuheben, Events zu zählen -> bitte die Variable "count" einbauen).

Ich denke, dass es optimal wäre, die Korrekturen bzw. Weiterentwicklung von der alten und neuen Version stark zu trennen. Allerdings bitte ich, dass man beim Umstieg von 3.5 zu 4.x die Datenbank wieder vom Installationsprogramm komfortabel angleichen lassen kann.

Vielen lieben Dank.

@Physiklehrer
Copy link
Contributor

Für das ggf. neue Feature in Contao 4:

pro Event fände ich das nicht so gut - ich finde es sollte im Listenmodul festgelegt werden.

Das sehe ich auch so, man kann ja einen Kalender "Kirmes" ("offen") und einen "Urlaubsreisen" ("geschlossen") anlegen und im Modul dann beide anzeigen lassen, wenn man eine gemischte Ausgabe will. Wenn man das für jedes Event extra machen muss ist das vermutlich fehleranfälliger.

Allerdings frage ich mich auch, ob es diese zusätzliche Option wirklich braucht, so lange der Core selbst keine Event-Anmeldungen unterstützt. Welcher Anbieter von Urlaubsreisen will, dass man sich noch 1 Minute vor Abflug anmelden kann? Das Häkchen "geschlossen" reicht dann sowieso nicht, es wird eine Datumsangabe wie bei "Anzeigen bis" benötigt. Und das könnte dann auch die entsprechende Erweiterung, die die Event-Anmeldung liefert, mitbringen (tut das calendar_extended nicht schon?!)

@asaage
Copy link

asaage commented Oct 22, 2016

hatte daher noch diesen Vorschlag eingebracht...

@Physiklehrer
Copy link
Contributor

hatte daher noch diesen Vorschlag eingebracht...

Danke, dass du dies in Erinnerung rufst. Für diese Realisierung spricht auf jeden Fall, dass die Einstellung genau da vorgenommen wird, wo sie relevant ist (nämlich im Modul EventLISTE).

In den anderen Fällen ("offen" / "geschlossen" als Eigenschaft des Events selbst oder des Kalenders) ist aus Usability-Sicht fragwürdig, dass hier eine Einstellung vorgenommen werden kann, die sich nur auf einen Spezialfall bezieht (nämlich Modul EventLISTE im Modus upcoming) und in allen anderen Konstellationen keine Auswirkungen hat (Kalender, Eventliste im Modus Tag, Jahr, ...).

@leofeyer
Copy link
Member

Ich habe das bisherige Verhalten in Contao 3 in c82ac67 wiederhergestellt.

@leofeyer leofeyer added this to the 4.3.0 milestone Oct 24, 2016
@leofeyer leofeyer self-assigned this Oct 24, 2016
leofeyer added a commit to contao/calendar-bundle that referenced this issue Oct 24, 2016
@leofeyer
Copy link
Member

leofeyer commented Oct 24, 2016

Die wählbare Option im Modul "Eventliste" habe ich in contao/calendar-bundle@9195e57 hinzugefügt.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

7 participants