Permalänk
Medlem

Synka filer mot server

Jag kommer för allt i världen inte på en mer förklarande topic, så det är fritt fram att byta den om någon moderator kommer på nåt vettigare.

Jag funderar på en ny funktion till ShirusuPad som ska möjliggöra användaren att ladda upp sina anteckningar till en server, för att sedan kunna hämta dem på t.ex. jobbet. Målet är att man ska kunna använda ShirusuPad på flera datorer, och kunna komma åt sina anteckningar. På jobbet ska man altså kunna klicka på en knapp och anteckningarna ska laddas ner från servern och ersätta de gamla.

Den första funderingen gäller servertyp. Räcker det mer ftp-stöd, eller vill man kunna ladda upp anteckningarna på en annan servertyp?

Därefter funderade jag på hur hämtningen av anteckningar ska fungera. Det självklara verkar ju att varje lokal anteckning/tab ska ersättas med motsvarigheten på servern _om_ den på servern är nyare. Men detta känns lite osäkert, då det räcker att systemklockan på någon av datorerna går fel, och man riskerar att förlora data. Dvs, funktionen ersätter nta anteckningar mer äldre.
Eller är det vettigare att funktionen helt enkelt ersätter allt, så att man på morgonen på jobbet uppdaterar, och får därgenom anteckningarna som man hade hemma kvällen innan?

Jag skulle uppskatta om ni kunda skriva ner era eventuella funderingar kring detta, då det är en väldigt efterfrågad funktion, och jag vill ogärna sumpa den.

Visa signatur
Permalänk
Medlem

Jag tycker inte du bör använda FTP utan något vanligt PHP/ASP-script eftersom vissa företag (vild gissning, kanske inte är så) blockar port 21.
I vilket fall som helst så kan man ju skapa en hashsträng för anteckningarna och jämföra med den.

Permalänk
Medlem

Grejen är ju den att jag inte kommer att tillgodose en server, det är ju upp till användarna.

Så programmet måste helt enkelt kunna ladda upp filerna någonstans.

Visa signatur
Permalänk
Medlem

edit: Oj, råkade bli en slags dubbelpost. (jag stoppade läsaren när jag hade postat )

Det där med systemklockan och så får väl personen i fråga skylla sig själv, men för att vara på säkra sidan så kan programmet kolla mot en internationell tidsstämpel från en annan sida (eller din server) och jämföra därifrån. I vilket fall som helst så borde programmet säga till att nya anteckningar finns och fråga om de ska ersätta de gamla.

Permalänk
Testpilot

Man kanske kunde hämta från servern temporärt och se vad som är sparat, sedan kan man avgöra ifall man vill ersätta eller inte.

Visa signatur

Kolla gärna in min RGB-LED-ljusstake i galleriet
[Gigabyte GA-Z97MX-Gaming 5][Intel Core i5 4690K][Corsair XMS3 16GB][Asus GeForce RTX 2060 Super Dual Evo OC]

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av hunden
Man kanske kunde hämta från servern temporärt och se vad som är sparat, sedan kan man avgöra ifall man vill ersätta eller inte.

Det vore ett sätt, men jag vill gärna ha det så automatiserat som möjligt. Man ska hellst bara behöva klicka på en knapp och ShirusuPad ska sköta resten.

Men servern är det större problemet, så vi koncentrerar oss på det först.

Visa signatur
Permalänk
Hedersmedlem

Jag skulle föreslå att man låter anteckningarna ligga på en server, förslagsvis ftp, och sen får shirusupad helt enkelt hämta från den vid start, och ladda upp när man stänger ner / väljer spara. då slipper man ha flera versioner av samma fil på olika ställen. många har ju ett ftp-konto från sin isp (till hemsideutrymme) eller en egen server.

eller att man kör med något inbyggt, men att man låter ett av programmen vara "master" hela tiden, som håller reda på om filen skall uppdateras, och de andra bara hämtar/lämnar från den.

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Aphex
eller att man kör med något inbyggt, men att man låter ett av programmen vara "master" hela tiden, som håller reda på om filen skall uppdateras, och de andra bara hämtar/lämnar från den.

Det kräver altså att ShirusuPad ska agera server, och att användaren måste lämna på sin hemdator, samt ha en fast internetuppkoppling, så det är nog inte en så bra idé, tror jag.

Visa signatur
Permalänk
Medlem

Hm... Kan du inte fixa en automatiserad upl.silentwhisper-funktion, så den laddar upp där?

Skämt och sido, det borde väl gå att kolla vilken tid en FTP-server har? Isåfall är det bara att kolla den tiden istället för sin egen. Den klockan borde ju inte gå fel, eller iallafall inte ändras.

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av s.c.s.i.
Det kräver altså att ShirusuPad ska agera server, och att användaren måste lämna på sin hemdator, samt ha en fast internetuppkoppling, så det är nog inte en så bra idé, tror jag.

kör med en central ftp som användarn får fixa själv då. det är väl ändå inte tänkt att man skall uppdatera från flera håll samtidigt?

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Don_Tomaso
Skämt och sido, det borde väl gå att kolla vilken tid en FTP-server har? Isåfall är det bara att kolla den tiden istället för sin egen. Den klockan borde ju inte gå fel, eller iallafall inte ändras.

Det är ju fortfarande beroende av klientdatorernas klockor. En klocka räcker ju inte.

Aphex, det var det jag tänkte på. Man får mata in inloggningsuppgifterna, och därefter kan programmet fixa resten.

Men finns det några uppenbara nackdelar med att använda en ftp-server till detta endamål?

Visa signatur
Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av s.c.s.i.
Det är ju fortfarande beroende av klientdatorernas klockor. En klocka räcker ju inte.

Aphex, det var det jag tänkte på. Man får mata in inloggningsuppgifterna, och därefter kan programmet fixa resten.

Men finns det några uppenbara nackdelar med att använda en ftp-server till detta endamål?

Ja, det är osäkert. svårt att ordna kryptering för inloggen och sånt. kör du med en lös ftp-klient (kommandobaserad) skulle du ju kunna låta användaren byta ut den mot scp eller vad som helst, och ge kommandot namn,server,lösen och sökväg till tempfil i variabler.

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Medlem

Tja, att det är osäkert får man leva med. Om man har känsliga anteckningar får man kryptera dem i ShirusuPad.

Visa signatur
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av s.c.s.i.
Det är ju fortfarande beroende av klientdatorernas klockor. En klocka räcker ju inte.

Varför behövs det fler klockor om de ändå inte får gå olika?

Permalänk
Medlem

Du har två datorer, ponera att en är hemmadatorn och en är datorn på jobbet.
Du laddar upp dina filer till ftp:n hemifrån, och vi kan exakt (altså, ftp:s klocka) säga när de laddades upp.
Men vi måste ju fortfarande kolla jobbdatorns klocka, eller lättare sagt, när filerna på jobbdatorn blev modifierade, för att kunna avgöra om de är äldre eller nyare än de som finns på ftp:n.

Visa signatur
Permalänk
Medlem

Jobbdatorn har ju ett egen klockstämpel på när den lokala anteckningen blev ändrad, då är det bara kolla skillnaden från när den ändrades till nu, och subtrahera det från FTP-klockan. Voila.

Permalänk

Det går ju lösa med att använda serverns tid.

Programmet får helt enkelt ha en "egen" klocka. När programmet hämtar filen från servern sparar programmet differansen mellan klient och servers klocka och kan då avgöra vilka filer som är nyast.

Permalänk
Medlem

Så sant som det var sagt. Jag såg helt förbi möjligheten att gämföra den lokala klockan mot servers.

Men detta leder till en ny fråga; Går det ens att få en ftp-servers klocka?

Visa signatur
Permalänk
Medlem

Något är fel på min FTP-klient så jag kan inte testa, men om det är något så är det TIME man ska skicka, annars kan man ju alltid ladda upp en tom fil och se när den skapades.

Permalänk
Medlem

Man lär sig något nytt varje dag.

Visa signatur
Permalänk
Hedersmedlem

min server stöder inte time..

Skulle inte SP bara kunna hålla reda på vad fildatumet på servern var när filen hämtades, och nästa gång den ansluter se ifall det ändrats sen dess. Då kan man avgöra ifall någon annan micklat med filen, och lokalt borde det inte vara några problem att veta ifall det gjorts ändringar sen den senaste uppdateringen. (som bör ske med någorlunda jämna mellanrum, förslagsvis den tid det tar att åka till jobbet )

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Avstängd

Om du räknar ut en checksumma för filen som du sparar både på ftpservern och på klientens dator så kan du jämföra dem och kolla om filen har ändrats.

Visa signatur

"Seeing hole swedish families carrying tons of booze along the ferry germany - sweden is hilarious - however, when we saw their prices we understood"

Permalänk
Citat:

Ursprungligen inskrivet av Tjelle
Om du räknar ut en checksumma för filen som du sparar både på ftpservern och på klientens dator så kan du jämföra dem och kolla om filen har ändrats.

En checksum säger ju bara om filerna är lika eller ej, inget om vilken som är aktuell.

Visa signatur

"to conquer others is to have power, to conquer yourself is to know the way"

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av dr slizer
En checksum säger ju bara om filerna är lika eller ej, inget om vilken som är aktuell.

Sant, jag tänkte nog inte igenom problemet tillräckligt.

Visa signatur

"Seeing hole swedish families carrying tons of booze along the ferry germany - sweden is hilarious - however, when we saw their prices we understood"

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av dr slizer
En checksum säger ju bara om filerna är lika eller ej, inget om vilken som är aktuell.

Men ién kan funka om den nyare versionen av en anteckning bestämmer checksumman hos filen på servern, då om du sitter på en äldre versionen kommer den ha en annan slummässigt genererad checksum som däför kommer be om en update request. Eller ngt sånt.

EDIT: Man kanske måste ha en databas tillgänglig för den idén, så det kanske var inte så smart iaf.

Permalänk
Medlem

Varför inte alltid använda en och samma klocka?
T.ex. ntp.sunet.se eller likande? Göra detta kanske valbart också vilken server man vill ska agera ntp-server.

Permalänk
Citat:

Ursprungligen inskrivet av Marwin
Varför inte alltid använda en och samma klocka?
T.ex. ntp.sunet.se eller likande? Göra detta kanske valbart också vilken server man vill ska agera ntp-server.

Det låter vettigt. Tror att detta är den bästa lösningen om FTP-modellen ska köras.

Visa signatur

"to conquer others is to have power, to conquer yourself is to know the way"

Permalänk
Medlem

Så blir det.

Måste också fundera på hur man kan underlätta synkning för de som inte har tillgång till en internetuppkoppling eller en ftp-server.

Visa signatur
Permalänk
Medlem

Finns inte internet så är det väl bara köra på systemklockan. Finns ingen annan utväg tror jag.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Marwin
Finns inte internet så är det väl bara köra på systemklockan. Finns ingen annan utväg tror jag.

Jag syftade på själva transportmedlet. Altså, om man t.ex. ska kunna exportera alla anteckningar till en enda fil som man kan kopiera till diskett, och sedan importera denna fil på den andra datorn.

Men som du säger, har man inte internet får man lita på systemklockorna.

Visa signatur