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

content_lock Notification?

Eingetragen von tetri999 (153)
am 03.08.2017 - 12:45 Uhr in
  • Module
  • Drupal 7.x

Hallo,

ich habe das content_lock-Modul im Einsatz, das blockiert den edit-Modus von Inhalten, wenn ein anderer User den Inhalt grade zum Bearbeiten auf hat, mit der Mitteilung:
"This document is locked for editing by [USER] since ..."
Der bearbeitende User hat im Backend diese Mitteilung:

"This document is now locked against simultaneous editing.
Your lock will be considered stale and up for grabs in 30 Minuten."
Außerdem hat man unter "admin/content/content_lock" eine Übersicht der grade zur Bearbeitung offenen Inhalte.

Meine Frage:
Ich würde gerne alle angemeldeten User z.B. mit einem Popup darüber informieren, wer grade was barbeitet bzw. wieder zugemacht hat (ohne seine aktuelle Seite neu laden zu müssen).
Ich habe in der "content_lock.api.php" die HOOK-Funktionen HOOK_content_lock_locked($nid, $uid) und HOOK_content_lock_release($nid, $uid = NULL) gefunden, die auf die entsprechenden Events reagieren - das funktioniert auch (kann ich mir per dpm() ausgeben lassen),
aber: was fange ich damit an?
Wie kann ich diese Mitteilungen an eine JavaScript-Funktion der Site übergeben, die das dann irgendwohin schreibt?

Hat jemand eine Idee, wie man sowas macht?
Vielen Dank, Michael

‹ Error Meldung Flag Modul nach update [gelöst] Anzahl der Profil Bilder und Rollen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Mal unabhängig davon, ob das

Eingetragen von wla (9045)
am 03.08.2017 - 14:11 Uhr

Mal unabhängig davon, ob das sinnvoll ist, oder nicht, ist das nicht so einfach. PHP, also der Hook, läuft auf dem Server, JavaScript läuft im Browser des jeweiligen Users. Wenn zwei Benutzer gleichzeitig auf der Seite sind, wissen deren Browser nichts voneinander. Es kann also nur so funktionieren, daß beim Aufruf jeder Seite eine Javascript-Funktion ausgelöst wird, die mittels Ajax beim Server nachfragt, wer gerade was editiert. Dazu muß auf dem Server eine Funktion erstellt werden, die diese Anfrage entsprechend beantwortet und die must Du selbst schreiben. Ebenso, den lokalen Aufruf in JavaScript. Das kann aber immer nur beim Aufruf einer neuen Seite ausgelöst werden oder über einen Timer in JavaScript. Der Server pusht nämlich nichts ungefragt zum Browser.

.
Werner
drupal-in-duesseldorf.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *

  • Anmelden oder Registrieren um Kommentare zu schreiben

das hatte ich schon befürchtet,

Eingetragen von tetri999 (153)
am 03.08.2017 - 14:42 Uhr

den AJAX-Aufruf beim Laden einer Seite hatte ich schon eingebaut und mit db_select('content_lock', ... ) die aktuell geblockten Inhale in einem eigenen message-Feld ausgegeben.
Sinnvoll ist das darum, weil es auf einer Übersichtsseite eines bestimmten ContTypes einen Button "UPDATE ALL" gibt, mit dem über eine AJAX-Schleife alle Inhalte dieses Typs mit field_attach_update() aktualisiert werden
- und ich weiß nicht, was passiert, wenn dabei einer der Inhalte grade woanders bearbeitet wird.
Ich werde also einen JavaScript-Timer einbauen müssen ...

vielen Dank trotzdem, Michael

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Zusätzliche Felder in der Userliste
  • Drupal 8 - Datenbank Mindmap
  • Buch: Mastering Drupal 8 Views!
  • The website encountered an unexpected error. Please try again later.
  • Drupal 8: Modul gesucht - Hervorhebung wichtiger Inhalte
  • Drupal 8: Modul prevnext
  • Verwirrung / Unterstützung
  • Vom jeweiligen User die Kunstwerke ausgeben.
  • Problem mit der Readiness für Automatic Updates
  • Multidomain
  • [gelöst]Drupal 8: Fußzeilenmenü auf Login-Seite verschwunden
  • Fullcalendar - Grösse Dialogfenster
Weiter

Neue Kommentare

  • Ja, danke! Ich habe dieses
    vor 11 Stunden 15 Minuten
  • Die View heißt "Benutzer". Du
    vor 22 Stunden 41 Minuten
  • Danke! Was meint denn
    vor 1 Tag 5 Stunden
  • Dazu brauchst Du kein Modul,
    vor 1 Tag 5 Stunden
  • Das heißt in dem Fall, daß
    vor 1 Tag 5 Stunden
  • Voaraussetzung sind
    vor 1 Tag 5 Stunden
  • Huhu, also in der
    vor 1 Tag 6 Stunden
  • Das Problem ist, dass nicht
    vor 1 Tag 6 Stunden
  • Ohne Composer ist der Betrieb
    vor 1 Tag 6 Stunden
  • Kann gut sein, aber ohne
    vor 1 Tag 6 Stunden

Statistik

Beiträge im Forum: 246347
Registrierte User: 18914

Neue User:

  • Tulsa55
  • Elisаhaf
  • Carola Rox

» Alle User anzeigen

User nach Punkten sortiert:
wla9045
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3919
ronald3834
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 8 Gäste 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