The DataStore series is a set of addons that serve as data repositories in game. Their respective purpose is to offer scanning and storing services to other addons.
The advantages of this approach are:
data is scanned only once for all client addons (performance gain).
data is stored only once for all client addons (memory gain).
addon authors can spend more time coding higher level features.
each module is an independant addon, and therefore has its own SavedVariables file, meaning that you could clean _Crafts without disturbing _Containers.
Scope : a note to contributing authors
The core of the database is based on my work in Altoholic, and is thus designed with multiple-account support in mind. If client addons want to store data from foreign accounts, the database will be ready for it. Nothing is final at this point though, feel free to contribute, as the concept can and will be perfected.
The scope of each addons is to provide common methods for client addons. For instance, DataStore_Crafts embeds LibPeriodicTable-3.1-Tradeskill allowing it to give more than just scanning & storing data. However, the goal is not to put _everything_ into these addons, they must be seen as an abstraction layer and a service provider, nothing more.
Existing modules
DataStore_Achievements : Achievements
DataStore_Containers : Bags, Bank and Guild Banks
DataStore_Crafts : Tradeskills & Recipes
DataStore_Pets : Companions & Mounts
DataStore_Reputations : Reputations
DataStore_Talents : Talent trees & Glyphs
Each module will exist as a separate addon, so that authors can package only the ones they want with their own project.
More modules will come later. |
|