Get an Epic Experience with Premium


Libraries Login to Add Favorites
  • World of Warcraft
  • 5,731 Monthly Downloads
  • Supports: 5.4.8
  • 798,733 Total Downloads
  • Updated 07/24/2014
  • Created 07/30/2009
  • 264 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: 5.4.007

About 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)

r45 | thaoky | 2014-07-24 16:13:37 +0000 (Thu, 24 Jul 2014) | 1 line
Changed paths:
   A /tags/5.4.007 (from /trunk:44)

Tagging as 5.4.007
r44 | thaoky | 2014-07-22 13:29:32 +0000 (Tue, 22 Jul 2014) | 1 line
Changed paths:
   M /trunk/DataStore.lua

Fixed a bug related to connected realms
r43 | thaoky | 2014-07-21 10:05:12 +0000 (Mon, 21 Jul 2014) | 1 line
Changed paths:
   M /trunk/DataStore.lua

Added support for merged realms
r42 | thaoky | 2013-10-06 07:06:32 +0000 (Sun, 06 Oct 2013) | 1 line
Changed paths:
   M /trunk/DataStore.lua

Version number updated.


First Previous Page 2 of 7 Next Last
  • #89

    do you use Altoholic? Its dependent on the datastore addon.

  • #84

    Date: 2013-11-09 14:33:42

     ID: 1

     Error occured in: Global Count: 1 Message: ...rface\AddOns\DataStore_Talents\DataStore_Talents.lua line 163:    attempt to call global 'GetActiveTalentGroup' (a nil value)


        ...rface\AddOns\DataStore_Talents\DataStore_Talents.lua:163:       ...rface\AddOns\DataStore_Talents\DataStore_Talents.lua:155    ...rface\AddOns\DataStore_Talents\DataStore_Talents.lua:353:       ...rface\AddOns\DataStore_Talents\DataStore_Talents.lua:352

    [string "safecall Dispatcher[1]"]:4:

    [string "safecall Dispatcher[1]"]:4

    [C]: ?

    [string "safecall Dispatcher[1]"]:13: ?()

        ...er2\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()



    Locals: None

  • #82
    Re: DataStore (bug)

    Date: 2013-10-31 07:54:33
    ID: 1
    Error occured in: AddOn: DataStore
    Count: 1
    Message: Error: AddOn DataStore attempted to call a forbidden function (IsDisabledByParentalControls()) from a tainted execution path.
    [C]: IsDisabledByParentalControls()
    [C]: UpdateMicroButtons()
    [C]: Show()
    ..\FrameXML\UIParent.lua:1819: SetUIPanel()
    ..\FrameXML\UIParent.lua:1663: ShowUIPanel()
    [C]: SetAttribute()
    ..\FrameXML\UIParent.lua:2262: ShowUIPanel()
    ..\FrameXML\FriendsFrame.lua:1166: ToggleFriendsFrame()

  • #81

    First off i would like to say thank you for your great addons. I was wondering if and when their will be an update for datsore.  I seem to have the same issue with altoholic and this one.  I get Instalation failed when I try to update datastore and altoholic.

  • #80
    Calling Mindbender (Priest) on target

    Message: [ADDON_ACTION_BLOCKED] AddOn "DataStore" hat versucht die geschützte Funktion "CompactRaidFrame1:Show()" aufzurufen.
    Time: 10/10/13 00:53:06
    Count: 5
    Stack: [C]: in function `Show'
    Interface\FrameXML\CompactUnitFrame.lua:285: in function `CompactUnitFrame_UpdateVisible'
    Interface\FrameXML\CompactUnitFrame.lua:243: in function `CompactUnitFrame_UpdateAll'
    Interface\FrameXML\CompactUnitFrame.lua:98: in function <Interface\FrameXML\CompactUnitFrame.lua:45>

    Locals: <none>

  • #77
    Re: DataStore Stats Error

    39x DataStore_Stats\DataStore_Stats-r17.lua:105: attempt to call global "GetArenaTeam" (a nil value) DataStore_Stats\DataStore_Stats-r17.lua:105: in function <DataStore_Stats\DataStore_Stats.lua:27> DataStore_Stats\DataStore_Stats-r17.lua:117: in function <DataStore_Stats\DataStore_Stats.lua:116> <string>:"safecall Dispatcher[1]":4: in function <string>:"safecall Dispatcher[1]":4 <in C code> <string>:"safecall Dispatcher[1]":13: in function "?" libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function "Fire" AdiBags-v1.6.6\libs\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <AdiBags\libs\AceEvent-3.0\AceEvent-3.0.lua:119>

    Locals: nil

  • #79



    Message: Interface\AddOns\DataStore_Stats\DataStore_Stats.lua:105: attempt to call global 'GetArenaTeam' (a nil value)
    Time: 09/10/13 18:38:42
    Count: 84
    Stack: (tail call): ?
    Interface\AddOns\DataStore_Stats\DataStore_Stats.lua:105: in function <Interface\AddOns\DataStore_Stats\DataStore_Stats.lua:27>
    [string "safecall Dispatcher[2]"]:4: in function <[string "safecall Dispatcher[2]"]:4>
    [C]: ?
    [string "safecall Dispatcher[2]"]:13: in function `?'
    ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: in function `Fire'
    Interface\AddOns\Ace3\AceEvent-3.0\AceEvent-3.0.lua:120: in function <Interface\AddOns\Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>

    Locals: (*temporary) = "UNIT_INVENTORY_CHANGED"
    (*temporary) = "player"
    (*temporary) = "UNIT_INVENTORY_CHANGED"
    (*temporary) = "player"
    (*temporary) = <function> defined =[C]:-1

  • #76

    Nice and all that, but how do you use it ? t have triued /DataStore and /ds. . . but nothing works ?

    And i see no icon any where on the minimap..


  • #78

    It's a database for Altoholic. Other addons use it too.

  • #75

    Message: DataStore_Skills\DataStore_Skills-r11.lua:122: attempt to call global "GetNumSkillLines" (a nil value)
    Time: 01/08/13 15:54:35
    Count: 20
    Stack: ...terface\AddOns\DataStore_Skills\DataStore_Skills.lua:152: in function <...terface\AddOns\DataStore_Skills\DataStore_Skills.lua:148>
    ...terface\AddOns\DataStore_Skills\DataStore_Skills.lua:173: in function `?'
    ...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147: in function <...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
    [string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
    [C]: ?
    [string "safecall Dispatcher[1]"]:13: in function `?'
    ...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: in function `Fire'
    ...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:120: in function <...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:119>

    Locals: <none>

  • #73

    with 5.1

    1264x [ADDON_ACTION_BLOCKED] AddOn "DataStore" hat versucht die geschützte Funktion "CompactRaidFrameContainer:Hide()" aufzurufen.
    !BugGrabber-r188\BugGrabber.lua:587: in function <!BugGrabber\BugGrabber.lua:587>
    <in C code>
    Blizzard_CompactRaidFrameManager.lua:515: in function "CompactRaidFrameManager_UpdateContainerVisibility"
    Blizzard_CompactRaidFrameManager.lua:460: in function <Blizzard_CompactRaidFrameManager.lua:449>
    Blizzard_CompactRaidFrameManager.lua:499: in function "CompactRaidFrameManager_SetSetting"
    nibRealUI-7.3 r1\Modules\FrameMover.lua:934: in function <nibRealUI\Modules\FrameMover.lua:931>
    nibRealUI-7.3 r1\Modules\FrameMover.lua:946: in function "?"
    libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
    <string>:"safecall Dispatcher[1]":4: in function <string>:"safecall Dispatcher[1]":4
    <in C code>
    <string>:"safecall Dispatcher[1]":13: in function "?"
    libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function "Fire"
    ...\DataStore\libs\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <...\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:119>


  • #72

    Looks like archive is out of date. Newer version can be found on curseforge. And for other modules too.

  • #71

    i have noticed that some of the old patterns of talioring are stilling showing to be learned when i have all ready learned them ?? had anyone else notice this


  • #70

    30x DataStore_Crafts\DataStore_Crafts-r41.lua:258: table index is nil
    DataStore_Crafts\DataStore_Crafts-r41.lua:258: in function <DataStore_Crafts\DataStore_Crafts.lua:251>
    DataStore_Crafts\DataStore_Crafts-r41.lua:923: in function <DataStore_Crafts\DataStore_Crafts.lua:907>
    (tail call): ?
    <in C code>
    <string>:"safecall Dispatcher[1]":9: in function <string>:"safecall Dispatcher[1]":5
    (tail call): ?
    Ace3-Release-r1061\AceAddon-3.0\AceAddon-3.0-11.lua:543: in function "EnableAddon"
    Ace3-Release-r1061\AceAddon-3.0\AceAddon-3.0-11.lua:636: in function <Ace3\AceAddon-3.0\AceAddon-3.0.lua:621>
    <in C code>
    FrameXML\UIParent.lua:299: in function "UIParentLoadAddOn"
    FrameXML\UIParent.lua:322: in function "CombatLog_LoadUI"
    FrameXML\UIParent.lua:692: in function <FrameXML\UIParent.lua:657>


  • #69

    3x [ADDON_ACTION_BLOCKED] AddOn "DataStore" tried to call the protected function "WorldMapBlobFrame:Show()".
    !BugGrabber-r188\BugGrabber.lua:587: in function <!BugGrabber\BugGrabber.lua:587>
    <in C code>
    FrameXML\WorldMapFrame.lua:1864: in function "WorldMapFrame_DisplayQuests"
    FrameXML\WorldMapFrame.lua:1933: in function "WorldMapFrame_UpdateMap"
    FrameXML\WorldMapFrame.lua:245: in function <FrameXML\WorldMapFrame.lua:231>
    <in C code>
    FrameXML\WorldMapFrame.lua:201: in function <FrameXML\WorldMapFrame.lua:191>
    <in C code>
    FrameXML\UIParent.lua:1738: in function "SetUIPanel"
    FrameXML\UIParent.lua:1543: in function "ShowUIPanel"
    FrameXML\UIParent.lua:1469: in function <FrameXML\UIParent.lua:1465>
    <in C code>
    FrameXML\UIParent.lua:2179: in function "ShowUIPanel"
    FrameXML\UIParent.lua:2163: in function "ToggleFrame"
    <string>:"TOGGLEWORLDMAP":1: in function <string>:"TOGGLEWORLDMAP":1


  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Plantronics GameCom Commander Headset Giveaway!