View Single Post
06/19/19, 01:14 PM   #19
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 659
Do you think it might be time to change how it works in general to a more native solution?

Things an average player "needs" to know:
  • Their own sales
  • The typical value of an item

Things a guildmaster "needs" to know:
  • Guildmate sales for the previous/current week.

Right now, addons such as MM are trying to pull all of this data every login and try to piece it all together. What if you shorthanded it yourselves with cached results?

This would shift all of those tiny calls and client side calculations into much less frequent queries, handled in a much faster manner.

What you would likely need to do:

Price history:
  • Allow it to be toggled off (some players don't want the overhead and that's fine).
  • Have aggregated prices for all items across sales in all guilds over the past X.
  • Have aggregated prices update every X (day?)
  • Have it cached using saved vars, allowing tooltips and so forth to pull it in without hitting the server every time. The longer the delay between the updates also make the cache more important, so that logging in doesn't necessarily update it either. Addons would also be allowed to do things with this cached info without API calls.

Sales history:
  • Allow it to be toggled
  • Add a guild UI tab for players to pull up their sales (only their own sales)
  • Can use a cache. Upon login, would check against the existing cache file's date and only append new sales.
  • Every X minutes, it will check for new sales.

Guild info:
  • Add a guild UI tab that lists all guildmates total sales for X time frame (only the aggregates per player, not the line item detail).
  • Can use a cache. Would probably only update once or twice per day. Should cache each player's weekly sales per the guild cycle. Retaining more than just the current week would be a setting that mostly only guildmasters would need and manually enable for themselves. If you wanted to slim this down more, viewing other player's sales would be strictly based on guild roles/permissions. A normal player would perhaps just see their own rank/sales.
  Reply With Quote