tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
JA
ANTWORTEN
20
ZUGRIFFE
901
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Das ist richtig das du den Code verlierst (sofern nach 5 Minuten Abwesenheit die Sperre automatisch aufgehoben wird). Hier die richtige Zeitspanne zu finden dürfte schwer werden, aber es muss ja irgendwann eine Freigabe erfolgen.
    Angenommen du beginnst morgens um 9.00 Uhr mit der Änderung und dann kommt ein dringender Anruf. Du verlässt die Wohnung (aber der PC bleibt an) und kommst erst abends um 22.00 Uhr wieder zurück. So lange könnte dann keiner was ändern!

    Wenn du jetzt weitermachen würdest, dann würde ich eine Fehlermeldung anzeigen "Achtung der Vorgang wurde wegen Zeitüberschreitung abgebrochen."
    Dann würde ich die jetzt aktuellen Daten anzeigen und zusätzlich aber auch das was von dir bearbeitet wurde.
    Nachdem du bestätigt hast das du deine Änderungen nun immer noch speichern willst, bekommst du Zugriff (vorausgesetzt jetzt ist lock = 0).
    ComFreek bedankt sich. 
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  2. #17
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Was ist mit der Lösung zum manuellen Freigeben? Das erfordert doch zu viel Aufwand?!

    Man könnte es natürlich so machen, dass die Änderungen einfach übernommen werden (inkl. Wortfilter). Aber es kann dann jeder irgendwas reinschreiben...
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  3. #18
    chickenwing chickenwing ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Beiträge
    56
    Mist, jetzt hab ich meinen Text gelöscht.....

    Ohne jetzt tiefer in die Materie eingestiegen zu sein (meine Nacht war nur 2 Stunden lang) würde ich rein vom Bauch her sagen: Geht so nicht (nicht vom Code sondern von der "Abwicklung"). Ich habe mir mal eben subversion angeschaut und wenn ich sehe, aus wieviel Modulen das Teil besteht, dann würde ich erstmal sagen "Das in PHP und MySQL? Unmöglich." Jedenfalls aus meiner Sicht erstmal nicht ohne klare Vorgaben. 5 Minuten reichen definitiv nicht, um sich in den (veränderten) Code einzuarbeiten. Entweder sperre ich den Code erheblich länger (z.B. 2 Stunden; müsste man Erfahrungswerte sammeln), bis er ausgelogged wird bzw. früher, wenn die (neue) Version abgespeichert wird. Allerdings müsste die Sperre dann solange andauern, bis die neue Version auch freigeschaltet wird.

    Klar können die im Team arbeiten, aber wie schon geschrieben wurde, wenn alles auch entsprechend strukturiert ist. Und da würde ich mal mutmaßen, dass dann eher modular programmiert wird, d.h., jeder kümmert sich nur um einen bestimmten Teil. Subversion bietet u.a. auch File Locking, Merge tracking und testen auf executable an. Das kann PHP alleine gar nicht leisten. Evtl. gäb's vielleicht 'ne Ajax-Lösung, die permanent "kontrolliert" und (z.B. alle 30 Sek.) anzeigt, was "die anderen" gerade tun. Was ich mir kompliziert vorstelle, wäre der Teil, wo die Bearbeitungsunterschiede gegenüber dem Orginal verglichen werden müssen. Temporäre Datei? Und was dann? Am Ende muss immer einer (oder per Abstimmung) entscheiden, was die Beta, der RC oder die Final ist.

    Der meiner Meinung nach gangbarste Weg wäre , die Datei solange zu sperren, wie sie einer bearbeitet und zwischendrin per Refresh-Automatismus in festgelegten Intervallen - z.B. timer=>10 min. prüft, ob inzwischen ein Event (onclick, onkeypress oder was auch immer) ausgelöst wurde. Man kann per Ajax ja sehr gut einen Request an den Server absenden. Ich würde in einer Variablen nicht die absolute Zeit sondern nur die Differenz seit dem letzten event speichern, die PC-Zeit muss ja nicht gleich der Server-Zeit sein. Aber wenn die Differenz beim nächsten Refresh >10 ist, dann wird ausgelogged. Größtes Manko wäre, dass die maximale Verzögerung bei 19:59 min (bei 10min Refresh) liegen kann.
    Aber selbst diese eigentlich noch im Verhältnis einfach nachzuvollziehende "Verarbeitungsweise" würde ich mir programmtechnisch erstmal kompliziert vorstellen.

    Greetz
    cw
    ComFreek bedankt sich. 

  4. #19
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Zitat Zitat von chickenwing Beitrag anzeigen
    Der meiner Meinung nach gangbarste Weg wäre , die Datei solange zu sperren, wie sie einer bearbeitet
    Dann kann eben kein anderer das bearbeiten und bei vielen Benutzern ist diese Möglichkeit nicht allzu gut finde ich.

    Eigentlich habe ich vor eine Komponente für Joomla zu schreiben, somit ist ein Prommgrammierteil schon weg.

    Am Ende muss immer einer (oder per Abstimmung) entscheiden, was die Beta, der RC oder die Final ist.
    Für mich ist die Idee, dass ein Admin etwas freigibt, immer noch die Beste, denn damit können auch mehrere Versionen eingereicht werden. Aber es ist eben Aufwand.
    Oder eben auf das Prinzip der Menge vertrauen, dass keiner was sinnloses darein postet.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

  5. #20
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Also wenn ich mir den Beitrag nochmal von vorne durchlese, dann frag ich mich ob es nicht doch besser ist, die PHP-Skripts als Datei zu speichern.

    Du hättest für jeden Beitrag eine Nummer die als Dateiname verwendet wird und könntest dann zusätzlich noch eine Versionsnummer dranhängen.

    In der Datenbank selber werden dann z.B. Suchbegriffe, Username und die Freigabe gespeichert.

    Wenn du (oder wer auch immer) eine geänderte Datei frei gibst, dann bekommt diese als Versionsnummer eine "0". Jeder Aufruf zum Herunterladen oder zum Bearbeiten greift auf diese Datei zu.

    Es könnten so unzählige Änderungen gleichzeitig gemacht werden ohne das etwas überschrieben wird.

    Ist nicht leicht hier den richtigen Weg zu finden.

    Gruß Thomas
    ComFreek bedankt sich. 
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  6. #21
    Avatar von ComFreek
    ComFreek ComFreek ist offline [x] Let it be logic!
    tutorials.de Moderator
    Registriert seit
    Jun 2009
    Beiträge
    2.359
    Blog-Einträge
    4
    Ich dachte ich hätte geantwortet, anscheinend ist sie wohl doch nicht hier gepostet worden...


    Ok, ich denke ich werde es in Dateien speichern, alte Versionen vielleicht in eine Datenbank-Tabelle (Engine ARCHIVE).
    Das Problem mit den "Zeit-Konflikten" würde ich so lösen (u.a. kombiniert aus euren Vorschlägen):
    • Nach einer bestimmten Abwesendheits-Zeit wird eine Meldung eingeblendet, falls jmd. anderes den Artikel bearbeitet hat und wird aufgefordert diesen einzusehen oder den momentanen als eine spezielle Version zu speichern.
    • Einen Chat integrieren, mit dem evtl. gleichzeitige Bearbeiter sich unterhalten können.
    • Mehrere Versionen speichern für bestimmte Bearbeitungen, dann später eine Version, die diese zusammenfässt.

    Was haltet Ihr davon?


    Mist, jetzt hab ich meinen Text gelöscht.....
    Das passiert mir auch immer wieder
    Aber mein Trick ist, dass ich immer kurz Strg+A (alles markieren) und Strg+C (dies kopieren) drücke und somit den Text immer in der Zwischenablage habe. Das mache ich übrigens immer bei längeren Texten z.B. in Word oder in Emails.

    PS: Was ist denn jetzt genau der Unterschied zwischen "Danke" und einer positiven Bewertung?
    Mir ist aufgefallen, dass man "Danke" immer drücken kann, wohingegen eine Bewertung nur manchmal abgegeben werden kann.
     
    mfg ComFreek

    Falls ich dir geholfen habe, würde ich mich über ein DANKE freuen!
    Kenn mich am besten aus in C++, WEB-Sprachen (PHP, HTML, JavaScript) und vllt. mehr
    [PHP] Überprüfen, ob Website erreichbarSicherheit in PHP-Codes schaffenGoogle Chrome-Extension für tutorials.dejson_compress()

Ähnliche Themen

  1. EJB Speichern von Daten
    Von macfreakz im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 28.04.05, 10:08
  2. Wohin speichert die Session die Daten?
    Von cmc-one im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.03.05, 15:35
  3. ********Daten speichern********
    Von Teerow im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 04.05.04, 23:35
  4. daten speichern
    Von BinaerPapst im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.06.03, 23:17
  5. MX Daten Speichern
    Von rayalety im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 02.05.03, 14:08

Stichworte