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 (9464)
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.

  • 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

  • Koordination der Aktivitäten zum Marketing
  • Halla los mejores refugios burbuja en Madrid, Andalucia y la costa catalana
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Coordination of marketing
    vor 8 Stunden 33 Minuten
  • Verwende doch das Tag dafür,
    vor 2 Wochen 22 Stunden
  • Guckst du hier: step by step
    vor 2 Wochen 12 Stunden
  • Guckst du hier: step by step
    vor 2 Wochen 12 Stunden
  • Ich habe ja keine Angst vor
    vor 3 Wochen 2 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 3 Wochen 5 Tagen
  • Vielen Dank erst einmal, aber
    vor 3 Wochen 6 Tagen
  • Du hast die "Trusted host
    vor 4 Wochen 6 Stunden
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 5 Wochen 6 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250286
Registrierte User: 20505

Neue User:

  • growthnaavik
  • MonroeScobe
  • Marvinkep

» Alle User anzeigen

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