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

content_lock Notification?

Eingetragen von tetri999 (153)
am 03.08.2017 - 11: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 (9466)
am 03.08.2017 - 13: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.

  • Anmelden oder Registrieren um Kommentare zu schreiben

das hatte ich schon befürchtet,

Eingetragen von tetri999 (153)
am 03.08.2017 - 13: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

  • gepatchte PHP Version 7.4 für Windows
  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
Weiter

Neue Kommentare

  • Muss ja nicht genau php 8.3 sein
    vor 2 Wochen 2 Tagen
  • Guten morgen und Danke
    vor 2 Wochen 2 Tagen
  • Evtl. versuchen auf PHP 8 zu wechseln
    vor 2 Wochen 2 Tagen
  • Danke Schmittrich. Die Frage
    vor 2 Wochen 4 Tagen
  • Keine Antwort auf die Frage nach dem Woher
    vor 2 Wochen 4 Tagen
  • Danke ich werde mir die
    vor 8 Wochen 2 Tagen
  • Vielen Dank für Ihren
    vor 8 Wochen 4 Tagen
  • Composer ist sehr ratsam
    vor 8 Wochen 6 Tagen
  • Vielen Dank für den
    vor 9 Wochen 2 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250323
Registrierte User: 20572

Neue User:

  • alxshell
  • AnthonyhoF
  • Philiphelve

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 4 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