Socialist
Status
Socialist is in a re-development phase, and a new beta will be released sometime in September. Stay tuned!
About
Socialist is a social tracking suite aimed at supplementing and largely replacing the built-in Social panel.
Socialist will:
- Provide a robust, real-time searchable, client-cached table displaying a wide variety of data on every character you meet in WoW, including those you meet in person, in a raid, in your guild, or over a chat channel. This view can also be used as a complete replacement to the original table-based /who system, powered by WhoLib.
- Provide a searchable table displaying every party or raid you've been a part of, detailing the important information of that group (members, RaidID, instances visited)
- Provide a searchable listing of every profession recipe you observe in chat, allowing you to search by recipe or by crafter.
- Allow you to share your data with guildmembers and friends.
Socialist will not:
- Entirely replace the built-in Social panel. The default panel will remain the place to go to modify Raid settings and Chat preferences. While unfortunate, this is necessary in order to keep from causing potentially raid-wiping issues and to keep complexity low.
- Be highly customizable. Socialist's user interface will be clean, minimalistic, and intuitive, and will achieve this by forgoing customizability.
Usage
Coming soon!
Panel details
Socialist is cleanly devidided by purpose in to six panels: Who, Groups, Professions, Preferences, About, and Sharing.
Details on these panels, including screenshots, will be added as development continues.
Who
The Who panel provides a real-time searchable client-cached table of every character you meet. The table begins fully populated with every character you have encountered. As you enter search criteria, the table will be restricted to the characters that meet those criteria. The criteria you can search for are:
- Name / Class / Race / Guild / Zone / Level (these criteria can also be sent as a /who query to the server via the "Query Server" button)
- Talent specialization (either by Tree 1 - 3 or, if a class is specified, by the name of that tree (e.g. Arcane, Fire, Frost)
- Last Seen
- Grouped With
Note that Name and Guild search criteria are normalized when searching the client cache (and not during a server query). This means that if you search for Tom, a character named "Töm" would be in the results. Note that this option can be disabled in the preferences panel, and that this option may possibly produce strange results in non-enUs locales.
Not only is the table updated as you restrict the criteria, the table is also updated as new data is collected. Data can be collected through a variety of means:
- By listening to /who results, for instance from a "Query Server" result as the result of a passive scan used to keep the database current
- By listening to chat channels
- By a player joining your group
- By the guild or friend roster
- By mousing over a player
These new results will be entered and displayed immediatly (assuming they fit your criteria).
Each entry in the table can be selected by left-clicking the entry, which also queues that entry for an update in the passive scan (which can, particularly when in a major city, take upwards of two or three minutes to complete). Double clicking an entry opens a whisper to that player. Alt-clicking an entry invites that player to your raid or party. Control-clicking an entry opens the Group panel and searches for groups with that player. Right clicking an entry opens a context tooltip with further options.
Groups
The Groups panel provides a real-time searchable table of every Group you have been a part of. A group is defined as:
- A group consists of all of the players who are in or were in your party or raid.
- A group tracks all members of the Group during the time you were in the Group.
- A group tracks which instances you visited while in the group.
- A group tracks all RaidIDs you updated while in the group.
- A group starts when you join a party or a raid, or when a party you are in is converted to a raid.
- A group ends when you leave your party or raid, or when a party you are in is converted to a raid.
- Note that some groups will behave in a way that makes this definition cause Socialist to report groups strangely. For instance, a group could end up spanning several days and consist of several hundred members visiting a dozen or more instances. Tracking a group across game sessions is NOT intended, and as such doing a UI reload can cause eratic behavior.
- This definition will be updated as development continues.
Groups can be searched by:
- Players in the group
- Instances visited by the group
- The date the group was formed
- The Raid IDs updated by the group
At this time, no further functionality is planned for the Groups panel, though in the future the ability to use past group data to invite players to a brand new group is a possibility, as is potentially harvesting data from attendance trackers and damage meters, or things like tracking talent changes. This remains to be seen.
Professions
The Professions panel provides a real-time searchable table of every craftable item recipe you've seen linked in any chat channel (Trade, for instance, or guild or whispers). The available criteria for search, and tracked data, are:
- By item name (e.g. Titanium Frostguard Ring)
- By component name (e.g. Titanium Bar)
- By crafter
- By profession
Each row in the table will correspond to one single craftable item found (or 'scraped') from every profession link you see in chat or whispers. The item name is clickable to view that item's tooltip. Next, a link to the crafting recipe is provided, and is also clickable. Next, the name of the profession that can craft that recipe. In the final column, a comma-separated list of every player that can craft that item.
Rows in this table cannot be selected or interacted with other than to click on the item links they contain.
Preferences
Information on the Preferences panel will be made available when the beta is closer.
Sharing
Information on the Sharing panel will be made available when the beta is closer.
To Do / Known Bugs / Upcoming
Coming Soon!
Sent you a PM about a new lib-st feature you might be interested in.
There is some exciting headway on an entirely rebuilt Socialist. Expect a much cleaner, leaner UI and a greatly expanded feature set.
I'm hoping to have a working beta released by the end of September, work permitting.
After a long absence from WoW, I'm back... and I expect that I will return to developing Socialist. I'll need a while to get back in to the swing of things, though.
I still do need help with UI design, if anyone is interested.
I liked addon ideia, will u keep working on it ?
NOTE: YOU WILL NEED TO RUN /socialist cleardb AFTER UPGRADING TO THIS VERSION.
The previous database structure has changed. Failing to do this will cause Lua errors
until you do run it. Sorry, this will wipe your Socialist data - in the future, I will
try and provide version detection to the database to rescue obsolete databases, but for
now you may need to run '/socialist cleardb' after each upgrade.
Socialist:
* /who will be run on every player who speaks in chat, passively in the background.
(Thanks Dixon_Butz!)
* Many performance tweeks, optimizations.
* Standardized API to assist other addon developers (and myself.)
SocialistUI:
* New feature: Edit Note. Set a per-player note.
* New feature: Clear Entry. Remove a single entry from the database.
Known Bugs:
* In cities (or whenever global chat is busy) it is possible that WhoLib will go
'crazy', ceasing all /who functionality. To fix this, type /script ReloadUI().
The cause is unknown, we are working on it, and it seems to be very rare. It is
possibly related to 'load lag'. If you see this happen, please file a bug report
describing what you saw. Thank you!
* Icon is sucky. I'm working on it.
Coming Soon:
* Up Next: Search/Filter/Sort by Class, Race, Guild, Name, Level, and maybe note.
* Name Normalization implemented, allowing you to search those people who chose to
name themselves with crazy nonstandard characters. enUS locale only for now.
* Localization in other languages (please contact me if you are willing to spend
30 minutes or so translating from english to your locale!)
* Party/Raid database, tracking your parties and raids.
* In the not-near future (possibly 0.3 milestone) a totally redone "pullout frame".
* Also for the future, a totally redone Socialist core to make the database
modular as well (seperate modules for each data entry type, and a module to
extract and 'mix' that data).
Socialist will, at about a 20 second interval, run a /who on someone in the database to update that entry. I had been using ambigous /who's to populate my database for testing. As such, I never noticed that chat names weren't being filled in fast enough.
Thanks very much, I've already made the change in my source code. It'll be released sometime tonight in RC4, unless I don't make enough changes by then to warrant a new release candidate.
anyone confirm ?
i get error command not supported or something like along those lines from socialist
Try RC3, just uploaded (if you look at the times, you'll see RC2 was released just a few hours before RC3), which should now have a FuBar/TitanPanel/Minimap button to toggle the addon. If not, I have provided a slightly modified failsafe: "/socialistui toggle". Note the change to socialistui from socialist.
I need to go update the documentation to reflect this. It should change in moments.
On the user side
* SocialistUI now updates as the database grows, so you no longer need to click Update List. I will be removing that button shortly.
* SocialistUI now plugs in to FuBar, TitanPanel, etc. via LibDataBroker. You may need to download the [url=http://wow.curse.com/downloads/wow-addons/details/broker2fubar.aspx]DataBroker2FuBar[/url] addon.
* The slash commands to access SocialistUI will soon be removed, see above for how to access the UI (just click the icon).
On the developer side:
* Socialist now now a server-architecture. Think of it as a non-embeddable library - a data object you can access with a structured API however you like.
* SocialistUI is now a module of Socialist. Note that your extensions to Socialist (say, if you want to write a new UI), MAY also be modules - or they could be entirely separate addons.
* Socialist is now using CallbackHandler to process DB_CHANGED events. This will be abstracted before the next release, or failing that, well-documented.
@enkil80: Look forward no more, it's out! Grab the beta and enjoy. Thanks for your enthusiasm!
looking forward for this addon, great idea
Thank you - and indeed, I've been careful to keep the harvesting and the display of information as two very separate entities. Once I've gotten an addon that 'works', I'll take another look at making the UI a totally modular abstraction (it very nearly is already), and provide plugins for other UIs such as those you mentioned.
I have a suggestion for this project. What is really needed is a way to centralize and collect this information and republish it in a "standard" format.
The goal above: harvest data is what I think would be the "most useful", but I think you should harvest it, and then just offer a unified method for discovering its availability and accessing it.
Displaying the data, well. Thats a massive amount of information requiring an equally massive database and UI, and there are already some addons in that "space". have you seen Armory? or Karma? Just two I have tried out recently.
This is just a suggestion. I think your project has alot of promise regardless.