Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Tipps & Tricks ›

Performanceprobleme mit Date und Calendar bzw. Fullcallendar

Eingetragen von Der Gummibär (6)
am 28.05.2011 - 09:26 Uhr in
  • Tipps & Tricks
  • Drupal 7.x

Performanceprobleme mit Date und Calendar bzw. Fullcallendar

Hallo,

ich habe eine Website, auf der ich einen Veranstaltungskalendar bereitstelle.

Drupal 7 mit folgenden Modulen setze ich ein:

  • Drupal Core 7.2

Module

  • Views 7.x-3.x-dev
  • cTools 7.x-1.x-dev
  • Date 7.x-2.0-alpha3
  • FullCalendar 7.x-2.x-dev

Das Problem ist, daß das Anzeigen der Wochenansicht ca. 15 s bis 20 s dauert.

Die Ursache scheint daran zu liegen, daß dem Kalendar einfach zu viele Termine zur Anzeige bereitgestellt werden:

Es gibt ca. 50 wöchentliche Veranstaltungen, für die ich als Wiederholfrequenz das ganze Jahr 2011 angegeben habe. Hinzu kommen noch etliche einmalige Termine. Insgesamt handelt es sich um ca. 50 * 52 + 50 = 2650 Termine.

Zur Verdeutlichung hier der Link auf die Website bzw. den Kalendar:

http://www.tanz-community24.de/

http://www.tanz-community24.de/kalendar

Um das Performanceproblem zu lösen, scheint es keinen anderen Weg zu geben, um die Anzahl der Termine, die der Calendar verarbeiten muß, zu reduzieren.Ich habe mir mehrere Lösungsalternativen überlegt, allerdings scheint keine richtig zu funktionieren.

Ich würde gerne wissen wie Ihr das machen würdet.

Alternative A) Filter einsetzen

Im Endeffekt bezieht der Kalendar seine Daten aus einer View.
Als einfachste Möglichkeit habe ich mir überlegt, nur die Termine für die aktuelle und die Folgewoche heraus zu filtern, so daß der Kalendar nur ca. 100 Termine verarbeiten muß.

Das Problem ist nur, daß der Filter anscheinend nicht wie gewünscht funktioniert. Zumindest ist der Kalendar genauso langsam wie ohne Filter.

Alternative B) Nur Termine für den aktuellen Monat generieren.

Mit Views Bulk Operations nur Termine für den aktuellen Monat generieren.

http://drupal.org/project/views_bulk_operations

Hier gibt es nur das Problem, daß dieses Modul für Drupal 7 noch in seinem sehr frühen Stadium ist und eine Änderungsfunktion für Datumsfelder noch nicht unterstützt.

Alternative C) ???

Was sind Eure Erfahrungen? Könnt Ihr mir Ratschläge geben, wie ich das Performanceproblem lösen kann, ohne die Funktionalität der Website verändern zu müssen?

Vielen Dank für Eure Hilfe

Der Gummibär

‹ Text Feld und Upload Möglichkeit für bestellende Kunden Blogartikel rückdatieren ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi ... also bei mir klappen

Eingetragen von Thoor (3678)
am 28.05.2011 - 10:51 Uhr

Hi ... also bei mir klappen Deine Wochenansichten zügig und normal. Der Seitanaufbau ist flott.

Hat sich das Problem bereits gelöst? Was mir noch einfällt ... in VIEWS 2 konnte man Ansichten cachen lassen. Das steigerte die Performance der Ansicht enorm. Ich habe noch gar nicht nachgesehen, wo sich das bei VIEWS 3 versteckt ...

thoor - Thomas Ortner
Drupal 7 Screencasts in deutsch!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Leider nein

Eingetragen von Der Gummibär (6)
am 11.06.2011 - 17:51 Uhr

Das Problem habe ich leider noch nicht lösen können.

Im Moment besteht der Workaround darin, daß ich mir pro Event nur ca. 10 wiederkehrende Termine generieren lassen.
Nach 10 Wochen muß ich allerdings die Termine per Hand erneut generieren :-(

Die Ansichten zu cachen, scheitert daran, daß der Kalendar nach einer unbestimmten Zeit aus dem Tritt kommt,
und dann nur noch die reine HTML Liste angezeigt wird.

Ansonsten finde ich es interessant, daß es anscheinend nicht stört, wenn der initiale Aufbau des Kalendars ca 15 Sekunden dauert.
(Nachher geht das Navigieren ja wesentlich schneller ..)

Vielen Dank für Deine Mühe

  • Anmelden oder Registrieren um Kommentare zu schreiben

Date Repeat Dates mittels Rules Actions generieren

Eingetragen von Der Gummibär (6)
am 16.06.2011 - 22:44 Uhr

Im Moment arbeite ich an einer weiteren Lösung, welche mir sehr erfolgversprechend erscheint.

Mittels des Rules API will ich mir z.B. Jede Woche die Anzahl der Date Repeat Dates neu generieren lassen.
Dadurch hoffe ich, da Gesamtanzahl der Termine niedrig halten zu können,

Meine Aktion sieht bisher wie folgt aus:

<?PHP
$startDate = new DateObject(strtotime('-14 days'));
$endDate   = new DateObject(strtotime('+14 days'));
$STIME="18:00:00";
$ETIME="23:55:00";

// Replace Until date in existing RRule (not time)
$oldRRule = $node->field_test_daterepeat[$node->language][0]['rrule'];
if( isset($oldRRule ) ) {
    $suchmuster = '/UNTIL=(\d+)T(\d+)Z/i';
    $ersetzung = 'UNTIL='.$endDate->format('Ymd').'T${2}Z';
    $rrule = preg_replace($suchmuster, $ersetzung, $oldRRule);
    drupal_set_message("Old RRULE: " . $oldRRule );
    drupal_set_message("New RRULE: " . $rrule );
} // if
else {
    drupal_set_message("Kein RRULE gefunden." );
    return;
}

//use the date module to figure what the stamps are for all of the repeats relative to this adjusted date      
$dates = date_repeat_calc($rrule, $startDate->format('Y-m-d\T').$STIME, $endDate->format('Y-m-d\T').$ETIME );

$logMessage = "Neues Zeitfenster: " . $startDate->format('Y-m-d') . " bis " . $endDate->format('Y-m-d');
drupal_set_message($logMessage);

$value = array();
foreach ($dates as $delta => $date) {
    $date_start = new DateObject($date);

    $value[$delta] = array(
      'value' =>  $date_start->format("Y-m-d\TH:i:s"),
      'value2' =>  $date_start->format("Y-m-d\TH:i:s"),
      'timezone' => $startDate->getTimezone(),
      'rrule' => $rrule,
      );

    drupal_set_message( $delta . '=>' . $value[$delta]['value']);
}

$node->field_test_daterepeat[$node->language] = $value;

$node->revision = 1; // Create new revision
$node->log = "Automatisch generiert: ".$logMessage; // Log message

// Save updated node
if($node = node_submit($node)) { // Prepare node for saving
    node_save($node);
    drupal_set_message("Node with nid " . $node->nid . " updated!");
}

return array('node' => $node);
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

[OT] Nervige PopUp[/OT]

Eingetragen von r4s6 (1383)
am 17.06.2011 - 09:21 Uhr

Bei mir hat der Kalender auch recht schnell geladen, jedenfalls keine 15s. Allerdings werde ich die Seite nicht nur nicht mehr besuchen, weil es nicht wirklich mein Thema ist, sondern auch weil beim Klick auf einen Termin der verlinkte Beitrag in einem Neuen Fenster geöffnet wird. Das ist für mich ein absolutes No-Go. zur not akzepiere ich noch einen neuen Tab (Registerkarte), aber auch da nur wenn ich nicht ohne die Internet-Seite nicht leben kann. Sorry

Gruss Roger

Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen (1. Posting vom Thema) <==> das erleichtert das finden von Lösungen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lädt super schnell

Eingetragen von Kirsten1965 (703)
am 17.06.2011 - 10:28 Uhr

Hallo,

habe nun den Kalender aufgerufen und bin hin und her gesprungen. Der Kalender lädt schnell und zuverlässig. Kann Dein Problem nicht reproduzieren.

Gruß,
Kirsten

Solange besser möglich ist, ist gut nicht genug.
http://www.net-explorer.org

  • Anmelden oder Registrieren um Kommentare zu schreiben

r4s6 schrieb weil beim Klick

Eingetragen von Der Gummibär (6)
am 17.06.2011 - 20:45 Uhr
r4s6 schrieb

weil beim Klick auf einen Termin der verlinkte Beitrag in einem Neuen Fenster geöffnet wird.

Tja, scheint leider ein Verhalten von FullCalendar zu sein, was man aber nicht so einfach anders konfigurieren kann....

Aber gut zu wissen. Mir ist es nicht aufgefallen, weil ich das Öffnen neuer Fenster im Browser generell blockiert habe.

Danke.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Der Gummibär schrieb r4s6

Eingetragen von manox (16)
am 29.08.2011 - 17:35 Uhr
Der Gummibär schrieb
r4s6 schrieb

weil beim Klick auf einen Termin der verlinkte Beitrag in einem Neuen Fenster geöffnet wird.

Tja, scheint leider ein Verhalten von FullCalendar zu sein, was man aber nicht so einfach anders konfigurieren kann....

Aber gut zu wissen. Mir ist es nicht aufgefallen, weil ich das Öffnen neuer Fenster im Browser generell blockiert habe.

Danke.

Doch, das kann man bei den Format-Einstellungen mit einem Häkchen ändern ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Wie 'saubere' Dateinamen bei Upload erzwingen?
  • Modul lässt Website anstürzen
  • Showroom
  • rename admin paths - Probleme mit Modul - Alterantive?
  • Probleme mit Installation voa COMPOSER
  • Drupal- Vor- und Nachteile
  • Text Editor verschwunden
  • Wie URL Alias für Entity in Drupal 9 erstellen?
  • in View zwischen Felder einer Node filtern
  • HTML-Code funktioniert nicht
  • Webform, Condtional Logik, Kontrollkästchen
  • Sprachumstellung - alte Nodes nicht mehr über alias erreichbar
Weiter

Neue Kommentare

  • Das Modul ist ja ganz schön,
    vor 2 Tagen 2 Stunden
  • Modul Purge
    vor 2 Tagen 20 Stunden
  • Nö
    vor 3 Tagen 4 Stunden
  • Manuell aus der Datenbank löschen
    vor 3 Tagen 4 Stunden
  • Bots ... auf Abstand
    vor 3 Tagen 20 Stunden
  • Cache vs Browser
    vor 3 Tagen 20 Stunden
  • h2b2 schrieb Nach einigen
    vor 6 Tagen 4 Stunden
  • Vor- und Nachteile
    vor 6 Tagen 6 Stunden
  • Alles klar, vielen herzlichen
    vor 1 Woche 1 Tag
  • Entitäts- bzw. Felddefinitionen
    vor 1 Woche 1 Tag

Statistik

Beiträge im Forum: 247800
Registrierte User: 19534

Neue User:

  • rogerfk18
  • Joshuanv
  • DorothyDef

» Alle User anzeigen

User nach Punkten sortiert:
wla9209
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3845
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 1 Gast online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association