Nov 28, 2008
phpArmory – What features do you want to see?
With phpArmory 0.4.1 released, I am currently investigating which features to add next. Thus it is your turn. Tell me what features you like, does the API work for you? Do you see anything that could be improved?
First, let us check what we currently have in store:
- Characters: Retrieve full character details including stats, equipped items, skills, reputation, buffs,
- Items: With complete stats, reagent details, related quests,
- Guilds: List of members,
- Caching: Caches results of requests to improve performance
- Localisation: Results returned in the armory’s supported languages from localised servers.
This seems like the basics done. Personally I would love to add the following stuff:
- Arena teams: it’s on the TODO list, and will be released after December 17th, 2008. Why? Because arena season 5 will start then, and only then I can get arena team data from the armory to test and implement this.
- Searching: Query the armory for any kind of data.
- Guild banks and calendars: You have guessed by the name, don’t you?
Searching is pretty simple to implement, as we can base upon getXmlData( ..) and search for arena teams, characters, guilds, and items easily. We can even filter the results by any desired parameter.
Now when it comes to guild banks and calendars, things get a bit spooky. Both features can be implemented, but you would have to trust phpArmory to not do bad things with your account data, as the class would need to authenticate using your account data on the armory site in order to retrieve the guild bank contents, or your calendar.
Here is your chance, to influence future releases. Raise your voice, and share your thoughts.
Nice :)
I am gonna play a bit with this one. Ofcourse achievements and statistics will even be better :D
Achievements and statistics are already part of the 0.4.1 release. Forgot to mention that in the post.
I’ll be adding support for armory searching in the 0.4.2 release in the next few hours.
I have considered turning the class into a PEAR package, would ease the installation a bit.
Personally I would like to see the Guildbank feature. Even if it is just the guildbank logs it would be nice. The calendar system would be also a great addition but is a lesser priority since alot players/web administrators choose to use a build-in system with dkp or something similar.
The whole password issue is not that much of a concern to me as I use the Blizzard Authenticator. I could give everybody my login data and they would still not be able to get in (not that it would be a smart move, but still…). So seeing the current basics of the armory library I would say that ppl need to get a Blizz Token and just vote for the guildbank option.
Do you need the authentication token from Blizzard if you log on to the armory to display the guild bank? Or is your normal account data sufficient to get access? Because if you need the Blizzard Authenticator for armory access too, it would be pretty hard to use this feature from phpArmory.
No you don’t need to token for the armory or the forums. The token is only required for the game login and account login on the main website.
Well I am gonna have to take that last comment back. I logged in on the amory today, or at least I tried. And as is clearly for all to see, they have updated the system both in features as in looks, and with the features comes also a new login procedure.
Once logged in you stay logged for two weeks max. Therefor they added the Token security feature now also to the armory. The only one left without the Token is the forums, but seeing everything gets updated for it, I guess its just a matter of time.
Personally I have a second account available without a token, so I could still use the guildbank feature, and I think most webmasters can find a solution to the problem if within the phpArmory Library there is a post option for the 6 digit Token.
The issue I see with the authentication token required is: how should that work on a website?
If I understand the way the token works right, you do have to press a button on the stick to get an auth token, and then pass that to the login form on the site, right?
Now if we have a guild bank, you would only be able to update that guild bank data manually and not automated since you would be required to login to the site with the token. Doesn’t sound very comfortable to me, and sadly I can not try or verify if that would work, as I do not have the auth token, sold out in my country.
That is indeed the concept. For a website/administrator it is very troublesome. But so far there hasn’t been a better security measurement available to prevent all those account hijackings.
And I had to wait like 4 months also till I could get one. These things are immensely popular.
I would love to see this ported to a python API. I code primarily in python/django so thats what I want.
Bugs or problems:
The first if statement in __construct() needs to be || not && because you want to check if either extension is not loaded, not if both are not loaded.
there is a str_replace() in getCharacterData(), its doing the job of urlencode().
A request:
add an option, or an argument to getCharacterData() to grab or not grab the other pages. ie: “reputation”, “skills”, “talents”, “achievements”, “statistics”. thats alot of info if all you want is basic character data.
@Gizzmo: The if statement i s correct. We need both the curl and the xml extension. phpArmory will not work with only one available.
I will add on option to getCharacterData in the next release.
Yea, but you want to check if either is not set, because you need both, if for example you have ‘curl’ turned off you will get the error “Fatal error: Call to undefined function curl_init()” It needs to be:
Is curl off? triggerError() Is xml off? triggerError()
not
Are both curl and xml off? triggerError()
@Gizzmo: fixed in this commit.
[...] I made this suggestion on his post What features do you want to see? [...]
What about dungeons/boss information?
i.e. from http://www.wowarmory.com/dungeons.xml it seems you can find out: * what dungeons are there * what bosses are in it * what do they drop etc…