Tekniskt: hur synkar man tidrapport mellan enheter?

Diskussion i 'Frågor, support och diskussion' startad av Maxxan, 1 maj 2014.

  1. Maxxan

    Maxxan Youth Droid Medlem

    Blev medlem:
    22 mar 2010
    Inlägg:
    162
    Mottagna gillanden:
    4

    MINA ENHETER

    Jag har en teknisk fundering som jag inte vet svaret på, i en app som jag pillar lite med, hur man synkar man rapporterad arbetstid mellan enheter?

    Det funkar så att på enhet 1 om man synkar, så skapas en fil med senaste infon på google drive och då kan man på enhet 2 synka mot denna filen så bägge får samma information. Den delen funkar.

    Men: hur gör man om båda enheterna har ändrats?
    Appen registrerar dag och tid man jobbat och hur mycket man sålt och andra saker. Så säg att man på enhet 1 registrerar två timmar, och på enhet 2 tre timmar och sålt 4 grejor och sen synkar dem. Hur ska man kunna veta vad som är rätt slutresultat? Eller om man editerar/tar bort tid på en enhet och lägger till på en annan för samma månad?

    Som jag gör nu sparar jag en tidsstämpel på senast ändrade och skriver över med den tiden som är senast ändrad, men det blir ju inte alltid rätt. Så har någon ett bättre förslag på hur man kan veta vad som är rätt, hur man löser sådana konflikter vid synkning? Vad finns det för strategier? Jag har försökt leta på nätet, men inte hittat något bra. :/

    Känner att det var luddigt skrivet, men hoppas ni förstår :)
     
  2. rools

    rools Kid Droid Medlem

    Blev medlem:
    22 jul 2009
    Inlägg:
    31
    Mottagna gillanden:
    2

    MINA ENHETER

    Google Drive låter inte som rätt verktyg för det här. Vill du göra saker ordentligt ska du nog använda en databas som eventuellt är kopplad till en webbtjänst. Istället för att spara hela rapportfilen varje gång den ändras kan du utföra enstaka operationer på databasen via webbtjänsten (lägga till, ta bort, ändra tider) för att slippa onödiga konflikter.

    Om du bara tänkt använda appen i väldigt liten skala och verkligen inte vill bemöda dig med att ordna databas och webbtjänst skulle du nog ändå kunna komma undan med Drive. Varje gång du tänkt ändra i filen från en enheten:

    1. Hämta den senaste versionen av filen från Drive (eftersom en annan enhet kan ha ändrat i filen sen du hämtade den sist)
    2. Utför ändringar i filen
    3. Spara direkt filen till Drive igen, så att en annan enhet som vill ändra i den får den senaste versionen

    Nu ska det bara ske konflikter om två enheter gör en ändring i samma ögonblick.
     
  3. Maxxan

    Maxxan Youth Droid Medlem

    Blev medlem:
    22 mar 2010
    Inlägg:
    162
    Mottagna gillanden:
    4

    MINA ENHETER

    Tack för förslaget! Jag ska undersöka det lite närmare! :)
     
  4. bolddp

    bolddp Infant Droid Medlem

    Blev medlem:
    19 jan 2010
    Inlägg:
    10
    Mottagna gillanden:
    0

    MINA ENHETER

    Ett annat sätt du kan titta på är att märka varje post med ett UUID (GUID i Windows-världen) då den skapas i appen. Kort beskrivet är det ett slumptal med enormt liten risk för att dubletter genereras även på olika enheter.
    När du sen träffar på 2 eller fler poster där tid och andra värden är samma, så visar UUID:et om det är samma post eller inte, och du kan välja att behandla datat därefter.