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 (9461)
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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 3 Tagen 11 Stunden
  • Hey danke
    vor 4 Tagen 6 Stunden
  • Update: jetzt gibt's ein
    vor 5 Tagen 37 Minuten
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 2 Tagen
  • Kannst doch auch alles direkt
    vor 1 Woche 6 Tagen
  • In der entsprechenden View
    vor 1 Woche 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 1 Woche 6 Tagen
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

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