DataStore

DataStore is the main component of a series 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.

These libraries cannot and should not be embedded, as they all manage their respective SavedVariables.

Existing modules

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.

Information Pages

  • Project overview : A slightly more detailed overview of the scope
  • API : Samples of commonly used methods (work-in-progress)

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Thaoky Thaoky Sat, 13 Mar 2010 14:30:01

    @ArtVoigt, teek5449: I am busy writing an export script that I should release very soon. Data are exported to XML format, and I'm also writing a basic XSL to be able to locally read the exported files. The XSL will contain very basic HTML formatting (no css, no nothing) though (I'll leave that part to HTML pros :p)

    @Everdreamer: I'd be glad to see DataStore gain popularity, and I'd be glad to get some help in making the various modules evolve as well. So far, the only real issue I'm facing is the auto packaging feature, since the .pkgmeta of client addons can't be modified to automatically include such libraries. There's a discussion going on here if you're interested : http://forums.wowace.com/showthread.php?t=17858

    @Kurtosis: it seems to happen with the curse client as well from time to time. Refer to the link above, the cause is the same, sadly :(

    Last edited on 14 Mar 2010 by Thaoky
  • Avatar of Kurtosis Kurtosis Sat, 13 Mar 2010 05:17:14

    Justed used MMOMinion to update DataStore, and it seems to have broke the addon. It deleted Skills, Spells, Stats, Talents, which broke Altoholic (wouldn't even open). Just reporting here in case this is something new.

  • Avatar of Everdreamer Everdreamer Fri, 05 Mar 2010 05:39:47

    Hi Thaoky, I'm curious that how do you do and how's it going to popularize DataStore to addon author community? I think DataStore is a great idea, just like the success of LibDataBroker like 2 years ago.

    Personally, before I started to use Altoholic recently I've installed several informative addons across characters; like Bagnon_Forever, Auditor, Broker_TradeskillCooldown, Broker_Raidsave etc. Altoholic provides all of these functions, but for me mouse hover tooltips style (latter 3 for example) and integrated style (Bagnon_Forever integrated within Bagnon) are often handier, they are complement of Altoholic :) I hope these addons I use will use DataStore one day, to reduce the redundancy.

  • Avatar of ArtVoigt ArtVoigt Fri, 29 Jan 2010 23:16:41

    == I agree with teek5449! ==

    I have been looking for some tool to extract toon data to xml, html, csv and/or xls format for a while. This would be VERY useful for toon management.

    Thanks

  • Avatar of Thaoky Thaoky Wed, 06 Jan 2010 08:13:56

    I don't know of any tool that does that, but offering the ability to write such tools is one of the reasons I adopted the modular approach, to make sure that parsing separate SV files ultimately became easier that parsing one large SV file as it was before.

    Besides, if the format of a database changes, it only *breaks* tools related to that DB, and not everything. It's not bound to happen too often anymore though.

  • Avatar of teek5449 teek5449 Sat, 02 Jan 2010 16:35:40

    Just a quick suggestion or inquiry. The Datastore addon(s) just screams to me as a great source of data for an offline character viewer. I am wondering if you have, or have heard of, an application that uses the saved variables from Datastore as a basis for an offline character viewer. I looked quickly and did not find anything and just wanted to check before I started to code one for myself.

  • Avatar of mikk mikk Thu, 08 Oct 2009 12:08:54

    Just a followup: Yes, if people are installing something disembedded, the code would still end up in the addons themselves, but that's nondestructive since standard lib upgrade mechanisms would use the latest code from some newer, embedded copy.

    Last edited on 08 Oct 2009 by mikk
  • Avatar of Thaoky Thaoky Wed, 07 Oct 2009 12:11:03

    Very good idea. It may be a while before I get there due to the time I have to grant to coding these days, but definitely an objective for somewhere between 3.3 and 4.0.

  • Avatar of mikk mikk Fri, 02 Oct 2009 13:29:30

    It strikes me that this is avoidable if the DataStore addons only contain savedvars and no code, and the code is instead embedded as regular libraries.

  • Avatar of Thaoky Thaoky Mon, 28 Sep 2009 14:53:52

    Hey mikk,

    Yup, I know about this, and that's something I want to avoid too. I discussed this with cf admins before launching the projects and that was not possible at that time. I will try to put the subject on the table again to see if there's a chance to make it happen.

    Thanks for you input :)

Facts

Date created
30 Jul 2009
Category
Last update
09 Mar 2010
Development stage
Release
License
All Rights Reserved
Curse link
DataStore
Reverse relationships
2
Recent files
  • A: r24 for 3.3.0 on 09 Mar 2010
  • A: r23 for 3.3.0 on 19 Feb 2010
  • A: r22 for 3.3.0 on 28 Jan 2010
  • A: r21 for 3.3.0 on 24 Jan 2010
  • A: r19+5 for 3.3.0 on 18 Dec 2009

Authors