Merge With Internet

"Are you sure you want to lockup the project account?"

Med denna dialog ruta så fogar man samman den lokala databasen (Förväxla ej med databasen för ett lokalt projekt) med internet databasen för ett internet baserat projekt. Själva dialog rutan kommer bara upp om det behövs. Det vill säga om en post har blivit uppdaterad både i internet databasen och den lokala databasen, sedan förra "Merge With Internet" kördes. Detta händer då någon annan användare har varit och uppdaterat samma item i internet databasen som användaren har uppdaterat i sin lokala databas.

Om dialog rutan kommer upp så är det upp till användaren att bestämma om det är värdet i internet databasen eller den lokala databasen som är det senaste giltiga värdet. Det göras fält för fält. Så ett värde kan vara giltigt i internet databasen och ett annat kan vara giltigt i den lokala databasen. De värden som väljs ut som de rätta fogas sedan samman till en ny post som sparas ner både på internet och i den lokal databasen.

Varje gång du använder dig av Merge With Internet kommandot så måste din dator var ansluten till internet, för ccVO 2k gör en control med cybercow servern för att se att det projekt och den användare du har anslutit med finns, att alla lösen ord är korrekta och att projectet inte har lockout status.

 

The Tree Ctrl: I träd kontrollen finns alla folders (och dess parent folder) som innehåller en post som ska jämföras mellan internet databasen och den lokala databasen.

The upper right list ctrl: I list kontrollen finns de poster för den valda foldern i träd kontrollen som ska jämföras mellan internet databasen och den lokala databasen.

The lower list ctrl: I list kontrollen finns alla fält för den valda posten i "The upper right list ctrl" som har olika värden i internet databasen och den lokala databasen.

Field Name: Namnet på databas fältet.

Local Value: Värdet för fältet i den lokala databasen.

Keep: Talar om vilket värde som ska användas i den slutgiltiga posten. Default är att använda Internet Värdet.
<- betyder att Local värdet ska sparas, -> betyder att Internet värdet ska sparas.

Internet Value: Värdet för fältet i internet databasen.

Arrow up: Går till föregående post i "The upper right list ctrl" och "The tree ctrl".

Arrow left: Ändrar "Keep" columens pil i "The lower list ctrl" så att den pekar åt vänster för alla markerade fält.

Arrow right: Ändrar "Keep" columens pil i "The lower list ctrl" så att den pekar åt höger för alla markerade fält.

Arrow down: Går till nästa post i "The upper right list ctrl" och "The tree ctrl".

Keep all internet values: Ändrar "Keep" columens pil i "The lower list ctrl" för alla poster och alla fält som ska jämföras så att det är internet värdet som sparas.

Keep all locale values: Ändrar "Keep" columens pil i "The lower list ctrl" för alla poster och alla fält som ska jämföras så att det är värdet i den lokala databasen som sparas.

OK: Sparar de valda värdena i både internet databasen och den lokala databasen.

Cancel: Stänger dialogrutan och struntar i att spara värdena för de poster som ligger inlaggda i trädkontrollen. De poster som redan är överförda mellan internet databasen och den lokala databasen förblir överförda.

Hur Merge With Internet dialogen fungerar programatiskt.

1. Anslut till cybercow servern.

2. Sätter en flagga i internet databasen som talar om att användare håller på att jämför sin databas med internet databasen.

3.0 Överför den lokala DeletedItems tabellens information till internet. Och sedan internet tabellens information till den lokala databasen.

3.1 Tar bort alla de poster som finns i DeletedItems tabellen, både ifrån den lokala databasen och internet databasen.4.0 Jämför Revision fältet i den lokala och internet databasen.

4.1 Om internet Revision fältets värde är större än det lokala (vilket betyder att internet posten har blivit ändrad), och Changed_Since_Internet_Merge fältet är TRUE, betyder det att både den lokala och internet posten har blivit ändrade så addera dom till "Merge With Internet" Dialogen så användaren får välja vilken som ska behållas.

4.2 Om internet Revision fältets värde är större än det lokala (vilket betyder att internet posten har blivit ändrad), och Changed_Since_Internet_Merge fältet är FALSE, uppdatera den lokola posten med internet posten.

4.3 Om internet Revision fältets värde är lika med eller mindre än det lokala (vilket betyder att den lokala posten har blivit ändrad), och Changed_Since_Internet_Merge fältet är TRUE, räkna upp revision fältet i den lokala databasen med ett och uppdatera sedan internet databasen med den lokala posten.

4.4 Om internet Revision fältets värde är lika med eller mindre än det lokala (vilket betyder att den lokala posten har blivit ändrad), och Changed_Since_Internet_Merge fältet är FALSE, så har inte den lokala posten inte blivit ändrad, och något konstigt har hänt i databasen,, detta ska aldrig hända....

4.5 Upprepa steg 4.0 till 4.4 för alla poster i alla funktions databaser.

5. Om något har blvit adderat till "Merge With Internet" Dialogen" så visa upp den.

6. Sätter en flagga i internet databasen som talar om att databasen är redo för att ta emot en ny användare som kan jämföra sina poster.

7. Tala om att "The Internet Merge has been completed".

 

TODO Hur ska man handskas med bort tagna poster.