+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Backend-Funktionen dürfen nur einmal aufgerufen werden

  1. #1
    Neu an Board
    Registriert seit
    25.01.2011
    Beiträge
    2
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Backend-Funktionen dürfen nur einmal aufgerufen werden

    Hi,

    ich entwickel gerade eine Joomla Komponente für ein System mit mehreren Admins. Dort kam die Frage auf, ob es nicht möglich ist, wenn Admin A einen Datensatz bearbeitet, das dieser für alle anderen Admins gesperrt ist. Ziel ist es, Datenverluste durch paralleles bearbeiten der gleichen Datensätze zu verhindern.

    Wie setze ich das um? Gibt es dafür Api-Funktionen, die mir dabei helfen?

    Ich habe gerade schon 1 Stunde gegoogelt und leider nichts gefunden, allerdings ist mir der Fachbegriff auch nicht bekannt. Gibt es dafür einen?

    Danke im Voraus

    Gruß Carny

  2. #2
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Ist dafür nicht die Checkout Funktion verantwortlich?

    In der com_content wird das doch auch so gehändelt. Jemand bearbeitet einen Beitrag und andere können ihn nicht mehr bearbeiten solange der erste Editor den Artikel nicht wieder schließt.

    Das kann man auch in die eigene Komponente übertragen und ist auch in einigen Tutorials bereits erwähnt.

  3. #3
    Wohnt hier Avatar von aruttkamp
    Registriert seit
    01.09.2004
    Ort
    Bergisches Land
    Alter
    49
    Beiträge
    2.933
    Bedankte sich
    112
    Erhielt 453 Danksagungen
    in 429 Beiträgen

    Standard

    Bei den Beiträgen geht das. bei den Komponenten ist es denke ich nicht so.
    hängt ein wenig von der Art der Komponente ab.

    Wenn die Komponente selbst geschrieben wird, dann kann ein Datensatz über die Datenbank "gelocked" werden.
    Also... Datensatz sperren - lesen - bearbeiten - speichern/verwerfen - unlocken.

    Andreas

  4. #4
    War schon öfter hier
    Registriert seit
    23.09.2009
    Beiträge
    235
    Bedankte sich
    0
    Erhielt 62 Danksagungen
    in 59 Beiträgen

    Standard

    Joomla! verwendet die MyISAM Engine (table lock). Von der Verwendung des Table Lock ist abzuraten. Gründe dafür sind über Google zu finden, Stichwort: table vs row lock / performance - forum.joomla.org
    Sowohl die Core als auch 3rd Party Erweiterungen (Komponenten) verwenden die JTable::checkout(); Methode. Beispiele sind in jeder Erweiterung zu finden welche seitens der Tabellenstruktur die Spalten "checked_out" sowie "checked_out_time" bereitstellt.
    Tell 'em what they want to hear. That will keep them coming back for more. I 've got some for everyone.

  5. #5
    Neu an Board
    Registriert seit
    25.01.2011
    Beiträge
    2
    Bedankte sich
    0
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Prima ich denke genau so etwas wie die JTable checkout und checkin-Funktionen habe ich gesucht. Wenn ich das richtig verstanden habe muss ich in meiner Tabelle die Spalten checked_out und checked_out_time hinzufügen und dann die Funktionen benutzen, klingt relativ einfach, ich probiers mal aus.

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein