-
Notifications
You must be signed in to change notification settings - Fork 2
Syncing DKP
Syncing data is complicated, due to the nature of how addons sync data. Most of the time, you would not notice this since you're not really sending data between users that needs to be accurate and saved locally, but with DKP addons, you have to do exactly that. For that reason, we utilize a number of different syncing methods to ensure that your members have accurate DKP totals.
Note: You may notice that I use a few terms interchangeably (sync, push, etc...). They all mean the same thing unless otherwise noted.
- Online: If a member is online when an entry is created, they will automatically receive that entry when it is submitted by the officer. You do not have to do anything to get this to work, it is just how the addon communicates natively.
- Offline: If a member is offline during a push, there are a few ways to ensure that they have up-to-date DKP totals in their addon, whenever they log back in.
To send a push manually, you can hover over the PDKP Minimap Icon, and Shift-Right-Click the icon to open up the syncing interface. Please note: Using either of these options (Merge or Overwrite) will send data to the entire guild, and is not player-specific.
When you send a merge out, you are sending the entries from the last four weeks to everyone in your guild who is currently online. This typically takes between 1 and 60 seconds, depending on how many entries you have in your database. A "PDKP Push Progress" bar will also display to let you know how far along the push is, as well as an estimate (not always accurate at first) of how long it will take to complete.
The reason we only send out the last four weeks' worth of data is to keep the syncing process quick and efficient. The more entries your database has, the longer the sync would take to complete, and the longer it would take to process all of the entries you are sending.
Note: If someone has been offline or has just gotten the addon, you will have to send out an "Overwrite" sync (described below).
An overwrite sync is very similar to the merge Sync, the notable differences are:
- It is a destructive sync, meaning you are completely overwriting their database with your own entries and DKP total values.
- Overwrites take noticeably longer to send out, but are noticeably quicker to process. This is due to the fact that you are sending your entire database, whereas they are simply deleting their database, and replacing it with your own (a little more nuanced than that, but you get the idea).
This means that you should use the overwrite sparingly, and only when necessary. You should also make certain that you do not have any missing entries from another officer because if you send out an overwrite before receiving those entries, they are gone forever...unless someone offline had them as well.
Situations where overwriting would make sense:
- A player has been offline for more than 4 weeks.
- A player has re-installed their addon or deleted their saved variables file.
- A player's DKP totals are incorrect after several merge syncs, despite not falling into the previous categories.
Previously, the addon would sync data between officers automatically upon logging in or reloading their game, ensuring that everyone on your leadership team had up-to-date entries in their database, and as a result - up-to-date DKP totals. Due to a bug, this caused excessive lag within the leadership team and had to be disabled until the bug can be tracked down and fixed.
-
In Combat: While in combat, you will automatically cache any merge or overwrite messages that you receive. Once combat drops, you will automatically process the sync as necessary.
- Exception: Single Entry submissions as they do not require abnormal amounts of processing.
-
In an Instance: While you are in an instance (raid, party, battleground) you will automatically cache any merge or overwrite messages that you receive. Once you leave the instance, these will be processed like normal.
- Exception: Single Entry submissions as they do not require abnormal amounts of processing.
- Exception: If the origin of the sync is someone within your raid/party.
Please note: Your cache does not persist between sessions, meaning that if you log off before it has time to process, you will have to receive another sync, later on.
There are a number of guards in place to prevent tampering of DKP totals and Entries.
- Encrypted Entries: To prevent anyone from tampering with the addon entries, when they are saved to the database they are automatically encrypted and compressed.
- Guild Permissions: Only officers are allowed to send DKP entries to other players, this includes Syncs and Single-Entry submissions. This is handled by the guild's Officer permissions.
- Entry Calibration: The addon will occasionally re-calibrate your DKP totals by going through every entry in the database and recalculate the DKP totals for each member.
- Unique Entry Hashes: Each entry has a unique corresponding hash that is generated with the information contained within that entry. This hash is unique to each and every entry. If someone were to find out how to decrypt and decompress an entry, change it however they wanted and send it back out for others to consume - it would be flagged, ignored and they would be outed for their devious behavior (and I hope kicked from the guild!).