<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marenkay.com &#187; Tips &amp; Resources</title>
	<atom:link href="http://www.marenkay.com/category/tipsresources/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marenkay.com</link>
	<description>developer, father, gamer, and nerd.</description>
	<lastBuildDate>Thu, 03 Jun 2010 10:19:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Reporting phpArmory issues</title>
		<link>http://www.marenkay.com/tipsresources/programming/reporting-phparmory-issues/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/reporting-phparmory-issues/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 11:00:24 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[phpArmory]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=293</guid>
		<description><![CDATA[While I have been working on the next update for phpArmory &#8211; which will be released as version 0.5.0 soon &#8211; I received a few mails with bug reports for the classes. People have been reporting issues via mail for a while now, and thanks to GitHub, you can now report issues over there. GitHub [...]]]></description>
			<content:encoded><![CDATA[<p>While I have been working on the next update for phpArmory &#8211; which will be released as version 0.5.0 soon &#8211; I received a few mails with bug reports for the classes. People have been reporting issues via mail for a while now, and thanks to GitHub, you can now report issues over there.</p>

<p>GitHub finally added issue handling to their service, and I&#8217;d like to say: <a href="http://github.com/danielsreichenbach/phparmory/issues">report your issues with phpArmory</a> at GitHub.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/reporting-phparmory-issues/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>phpArmory 0.4.2 &#8211; &#8220;Fishing Extravaganza&#8221; released</title>
		<link>http://www.marenkay.com/tipsresources/programming/phparmory-042-fishing-extravaganza-released/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/phparmory-042-fishing-extravaganza-released/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 15:07:24 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[phpArmory]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=207</guid>
		<description><![CDATA[This release should fix issues with character that could not be retrieved from the armory due to special characters in realm or character names, as reported by several users. There have been some minor tweaks to existing functions. Further details, the download it after the jump. 0.4.2 &#8211; &#8220;Fishing Extravaganza&#8221; &#8211; Dec 17, 2008 This [...]]]></description>
			<content:encoded><![CDATA[<p>This release should fix issues with character that could not be retrieved from the armory due to special characters in realm or character names, as reported by several users. There have been some minor tweaks to existing functions. Further details, the download it after the jump.</p>

<p><span id="more-207"></span></p>

<h2>0.4.2 &#8211; &#8220;Fishing Extravaganza&#8221; &#8211; Dec 17, 2008</h2>

<p>This release should fix issues with character that could not be retrieved from the armory due to special characters in realm or character names.</p>

<h3>Bugs squashed</h3>

<ul>
<li>phpArmory5Cache: the setCachedData(&#8230;) function was called without prior checks if there <em>was</em> any valid data to cache. This has been fixed.</li>
<li>phpArmory5: Strings used in URLs do not need a manual replacement of the space character. urlencode() handles this for us already.</li>
<li>phpArmory5: fixed an issue in __construct, where required PHP extension have not been checked properly. Thanks to Gizzmo for the hint.</li>
</ul>

<h3>Features added</h3>

<ul>
<li>phpArmory5: added getAnyData($searchType = NULL, $objectName = NULL, $filter = NULL). $searchType can be any of &#8220;arenateams&#8221;, &#8220;characters&#8221;, &#8220;guilds&#8221;, &#8220;items&#8221;. $filter needs to be an associative array of filter properties. For now, try out the armory item search page to see valid filter options.</li>
<li><p>phpArmory5: added a third parameter to getCharacterData for retrieving only the basic character data. Defaults to false. Use the following to get basic character data only:</p>

<pre><code class="php">$character = $phpArmory-&gt;getCharacterData($characterName = "Char", $realmName = "Realm", $onlyBasicData = true)
</code></pre></li>
</ul>

<h2>Download</h2>

<p>Enjoy the 0.4.2 release, and either grab <a href="http://www.marenkay.com/wp-content/uploads/2008/12/phparmory-042.zip">phparmory-0.4.2.zip</a> or <a href="http://www.marenkay.com/wp-content/uploads/2008/12/phparmory-042tar.gz">phparmory-0.4.2.tar.gz</a>. Please note that all PHP files are formatted with Unix line endings, as I am mostly a Linux / Mac geek.</p>

<p>Feel free to leave a comment if you should end up having trouble with the classes.
phparmory-042tar</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/phparmory-042-fishing-extravaganza-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A few more thoughts on the WoW database</title>
		<link>http://www.marenkay.com/tipsresources/application-development/a-few-more-thoughts-on-the-wow-database/</link>
		<comments>http://www.marenkay.com/tipsresources/application-development/a-few-more-thoughts-on-the-wow-database/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 12:53:01 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Items]]></category>
		<category><![CDATA[NPCs]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Quests]]></category>
		<category><![CDATA[Spells]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=185</guid>
		<description><![CDATA[It seems like my post on an open source WoW database has received a bit more attention than I expected. Let me share a few additional thoughts with you. The database client While I am currently using .NET 2.0 / C# to prototype a client which takes care for downloading and updating the WoW addon [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like <a href="http://www.marenkay.com/tipsresources/application-development/an-open-source-world-of-warcraft-database/">my post</a> on an open source WoW database has received a bit more <a href="http://www.wowinsider.com/2008/12/08/creating-an-open-source-wow-database/">attention</a> than I expected. Let me share a few additional thoughts with you.</p>

<p><span id="more-185"></span></p>

<h2>The database client</h2>

<p>While I am currently using .NET 2.0 / C# to prototype a client which takes care for downloading and updating the WoW addon for data gathering, I am of course aware that .NET 2.0 is not available on every platform where you can play World of Warcraft. There is Windows in various incarnations, and there is Mac OS X for us to play the game on, and some people even use Linux to play. I probably have not mentioned this, but I am using all of these platforms to play the game, and thus I am very interested in making the database client work on all of these platforms.</p>

<p>My current plan is to finish my .NET prototype, as I need some quick test tool, to define and build a proper web interface for managing the WoW addon, and to test the client updater. Once this is done, and the web interface works, I plan to turn the whole client functionality into a plain C++ library, which can be build and used on Windows, Mac OS X and Linux.</p>

<p>For now the library is supposed to contain the following features:</p>

<ul>
<li>Parsing the WDB cache: as many players know, the game client uses a simple data cache for books you have read, creatures you saw, game objects seen and used, items seen, and quests done. This data will be required for several reasons. E.g. if we want to display rendered views, we need the data from the WDB cache files.</li>
<li>Detecting WoW: of course, the library needs to find WoW on your system, and there are various different methods to do so. WoW is e.g. installed in different ways for 32-bit and 64-bit operating systems.</li>
<li>Parsing the addon <a href="http://www.lua.org/">Lua</a> data: while this is not necessary it would be beneficial to embed <a href="http://www.lua.org/">Lua</a> into the library. This would allow us to validate the saved <a href="http://www.lua.org/">Lua</a> data, and it might provide options for blocking invalid data, too. Why should we upload broken data?</li>
<li>Authentication: I would love to have the database site requiring a login. Why? Because it would be great to give credits where they are due. If someone contributes to the database, it should be recorded and visible in some place.</li>
<li>Update management: we need to keep up-to-date, and this includes both the database client, and our WoW addon. The game client changes with every release, and bugs are everywhere. There is no development method that results in zero bugs.</li>
</ul>

<p>On top of the library custom GUI clients can be used for each platform. On Windows, we could use plain C++ with MFC or a .NET GUI, on Mac OS X we can use <a href="https://developer.apple.com/referencelibrary/Carbon/">Carbon API</a> to integrate into the system.</p>

<p>Of course, suggestions are welcome.</p>

<h2>The database server</h2>

<p>Once of the things I have considered over the last few days was to turn the server into something that could run in a distributed fashion, much like the version control system <a href="http://git-scm.com/">Git</a> which I use for my own projects at <a href="http://github.com/danielsreichenbach/phparmory">home</a> and at work. Concerns have been raised that the current databases are commercial because you will have large hosting bills.</p>

<p>But what if the database server would have a central server somewhere, and all available installations would connect to this server for data sharing? Thus every installation (e.g. on guild sites) could contribute their data even without knowing the main server, and every installation would benefit from uploads.</p>

<p>Anyway, the only thing I have decided on yet is that the database server will be developed using a model-view-controller pattern. This may be done with <a href="http://www.asp.net/">ASP.NET</a>, on PHP using the <a href="http://framework.zend.com/">Zend Framework</a>, or on Python using <a href="http://djangoproject.com">Django</a>, or on Ruby using the famous <a href="http://www.rubyonrails.org/">Ruby on Rails</a>.</p>

<p>Personally I would prefer a Python or Ruby based solution. But still, for my prototyping I will stick to using PHP and the Zend Framework for one simple reason: this solution works on most hosted environments. You will not depend on owning a root server (which not everyone can afford).</p>

<h2>The code</h2>

<p>There already is a bit of code, and I am working hard to get this in a readable state and documented. It will appear in my <a href="http://github.com/danielsreichenbach/phparmory">GitHub account</a> in a few days.</p>

<p>Contributions are welcome, in the beginning I would be very interested to hear what addon developers need. E.g. what would systems like <a href="http://wow.curse.com/downloads/wow-addons/details/quest-helper.aspx">QuestHelper</a>, <a href="http://www.tekkub.net/addons/TourGuide">TourGuide</a>, or <a href="http://www.wowinterface.com/downloads/info7017-LightHeaded.html">LightHeaded</a> need? After all, quest guides are the simplest form of giving data back to the community, thus you would want to have it done right from the beginning.</p>

<p>For now, I am considering XML output in a format similar to the armory format, but would that work for addon developers?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/application-development/a-few-more-thoughts-on-the-wow-database/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>An Open Source World of Warcraft database?!</title>
		<link>http://www.marenkay.com/tipsresources/application-development/an-open-source-world-of-warcraft-database/</link>
		<comments>http://www.marenkay.com/tipsresources/application-development/an-open-source-world-of-warcraft-database/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 21:31:32 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Items]]></category>
		<category><![CDATA[NPCs]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Quests]]></category>
		<category><![CDATA[Spells]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=173</guid>
		<description><![CDATA[During my adventures with the phpArmory class I have taken a look at WoW databases out there. I browsed through loads of sites to see if any of them would be Open Source or at least under a free license. The database contestants Ever since World of Warcraft became public there have been websites out [...]]]></description>
			<content:encoded><![CDATA[<p>During my adventures with the phpArmory class I have taken a look at WoW databases out there. I browsed through loads of sites to see if any of them would be Open Source or at least under a free license.</p>

<p><span id="more-173"></span></p>

<h2>The database contestants</h2>

<p>Ever since World of Warcraft became public there have been websites out there, which gathered game data by using a <a href="http://www.lua.org/">Lua</a> addon and some sort of data uploader. In the beginning there was <a href="http://thottbot.com">one database site</a> and nowadays there are many.</p>

<ul>
<li><strong>Thottbot</strong>: Probably the father of all WoW database websites. <a href="http://thottbot.com/">Thottbot.com</a> started somewhere during the World of Warcraft Closed Beta and has been a primary source of information for many players. Quests, Items, Maps, NPCs, Spells, and more await the curious player, and closely coupled with Thottbot comes Cosmos, a User Interface modifcation pack, to which players were drawn in the early days of WoW aka. the days when World of Warcraft was not available in any localization.</li>
<li><strong>Allakhazam</strong>: Allakhazam entered the market of WoW databases a bit later. They already had experience with this thing, as they started with an Everquest database. Their <a href="http://wow.allakhazam.com/">WoW site</a> has gone through various iterations, and AFAIK was the first database site to offer support for the various localizations in which WoW was made available. Another feature spearheaded by them was the monitoring of Auction House prices for items. Yay for that!</li>
<li><strong>Wowguru</strong>: Another side project of an MMO database site, and one that initially had some success. <a href="http://www.woguru.com/">WoWguru.com</a> entered the scene in Summer 2005, and later spearheaded with features like honor tracking, and most prominently with monitoring the individual realm status during the <a href="http://www.wowwiki.com/Gates_of_Ahn'Qiraj">Ahn&#8217;Qiraj War Effort</a>.</li>
<li><strong>Wowhead</strong>: Here comes an impressive contestant. Ever since their launch <a href="http://www.wowhead.com/">Wowhead</a> impressed with an information-centred design that helped users in finding the information needed very quick. Wowhead comes with a well made <a href="http://www.lua.org/">Lua</a> addon, and a sleek uploader. Once of their primal bonusses was that they had been very active with making their <a href="http://www.lua.org/">Lua</a> addon work for the Public Test Realms, and soon this resulted in Wowhead leading the WoW databases. Features like a well-designed commenting system, their item and character preview, and others still remain on top of the list.</li>
<li><strong>WoWDB</strong>: The latest entry in the list of contestants. Made by the MMO portal site Curse (which alos provides hosting for most WoW <a href="http://www.lua.org/">Lua</a> addons), <a href="http://www.wowdb.com/">WoWDB</a> entered the scene with some features that Wowhead could not offer: item comparison, wishlists, and a look more oriented on the WoW look. AFAIK their character preview was first, and Wowhead added that a bit after them.</li>
</ul>

<h2>What do all these databases share?</h2>

<p>As it seems, the market for World of Warcraft databases is a hot one. Even four years after WoW made its&#8217; initial release. And as we can see by the release of new and different databases, none of the contestants listed above yet has managed to reach a state where WoW players are satisfied.</p>

<p>If we compare the features of all available WoW databases we can see that it&#8217;s not all about features, but about design and usability, too. Some features did not really make it into the market, as players did not seem to accept them.</p>

<ul>
<li>Auction House monitoring: Yes, it is there, and some people might use it, but apparently this is not interesting or good enough to be used anywhere else than on Allakhazam. Apparently using spreadsheets still is superior. Also, there is <a href="http://auctioneeraddon.com/">Auctioneer</a> which works in-game and automates a lot of the process.</li>
<li>Crafting requirements: Wowguru introduced this quite some time ago, and I thought it was a great feature. When displaying a crafted item, you could see all the items required to create it, summing up the total vendor price for all needed materials. Nice, but oviously not needed. Gold seems to be an irrelevant factor, and thus only material lists survived.</li>
</ul>

<p>This leaves us with a list of features that seem mandatory for a mature World of Warcraft content database.</p>

<ul>
<li><strong>Searching</strong>: Of course, searching is mandatory. Every site has it, and the only difference to be found is in the way search results are returned. Older sites just take an argument to look for and return an result page with any matching object, Wowhead and WoWDB sport a bit more elegance and make use of AJAX to return drop down lists with matching data instead of requiring you to wait for a result page.</li>
<li><strong>Filtering</strong>: Even though the official forums are full of people demanding more content because the existing content would not be sufficient, a look at a database of your choice proves the opposite. There <em>is</em> lots of game content, and there is much to be seen. Even after four years, I am sure you will find content that you have not seen yet, even if you started your character in February 2005. Thus most database allow you to filter for various parameters, and most important: you can apply multiple filters to <em>any</em> kind of data. Sleak and useful.</li>
</ul>

<h2>And why would you want that Open Source&#8217;d?</h2>

<p>It&#8217;s simple. Many people contribute data to these databases, and only with your or my contributions of data gathered while playing the game, those databases exist. It&#8217;s a community effort, just like the game itself is meant to be some sort of social community. But why are all of these databases closed, or commercial? Some even want you to buy premium subscriptions to access guides or more data.</p>

<p>Now what if there was an Open Source database for World of Warcraft? Where you could not only contribute data you gathered while playing, but also access that data or even download it to your computer and do something with it? Or where you could see what you have gathered while playing?</p>

<p>So I have decided to give myself a new pet project to work on, and it will become Open Source very soon, once I have ironed out the basic details. Work already begun, and a very basic implementation is there. The tools I have used are:</p>

<ul>
<li>Visual C# 2008 Express Edition to build a .NET 2.0 client application which handles uploads,</li>
<li><a href="http://www.lua.org/">Lua</a> to write a WoW addon which gathers data while you play,</li>
<li><a href="http://framework.zend.com/">Zend Framework</a> and <a href="http://www.doctrine-project.org/">Doctrine ORM</a> to write the server-side backend which accepts uploads.</li>
</ul>

<p>The process for now is very simple:</p>

<ul>
<li>the .NET client will parse the WoW data cache (which you will find in your WoW installation directory under WDB/<em>your-locale</em>/*.wdb),</li>
<li>it can show you the contents of your WDB files, e.g. you can see which NPCs you have seen, or what books you have read,</li>
<li>it will parse the saved <a href="http://www.lua.org/">Lua</a> data generated by the addon, and can show what data besides your WDB cache is there,</li>
<li>and it can convert both WDB and <a href="http://www.lua.org/">Lua</a> data to XML,</li>
<li>and finally it can upload the data to my server (GZipped of course, to reduce bandwidth usage).</li>
</ul>

<p>Parsing the data is something that will be done next. For now my server-side application only handles storing the uploaded data, and manages updates of the client. Not very much, but at least my data is stored. Parsing will be a bit more work since I have to make a modular parser that can deal e.g. with different data formats, as the data formats may and surely will change with every WoW client update.</p>

<p>What do you think? Would you use an Open Source World of Warcraft database, where you have full access to the data you contributed? Would you like to download contributed data in a parsed format, perhaps as XML files to reuse them on your guild website or your blog?</p>

<p>More on the project soon, after the finishing touches have been put on the data client. Screenshots coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/application-development/an-open-source-world-of-warcraft-database/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>phpArmory &#8211; What features do you want to see?</title>
		<link>http://www.marenkay.com/tipsresources/programming/phparmory-what-features-do-you-want-to-see/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/phparmory-what-features-do-you-want-to-see/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 21:39:16 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[phpArmory]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=167</guid>
		<description><![CDATA[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, [...]]]></description>
			<content:encoded><![CDATA[<p>With <a href="http://www.marenkay.com/tipsresources/programming/phparmory-041-call-to-arms-released/">phpArmory 0.4.1</a> 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?</p>

<p><span id="more-167"></span></p>

<p>First, let us check what we currently have in store:</p>

<ul>
<li><strong>Characters</strong>: Retrieve full character details including stats, equipped items, skills, reputation, buffs,</li>
<li><strong>Items</strong>: With complete stats, reagent details, related quests,</li>
<li><strong>Guilds</strong>: List of members,</li>
<li><strong>Caching</strong>: Caches results of requests to improve performance</li>
<li><strong>Localisation</strong>: Results returned in the armory&#8217;s supported languages from localised servers.</li>
</ul>

<p>This seems like the basics done. Personally I would love to add the following stuff:</p>

<ul>
<li><strong>Arena teams</strong>: it&#8217;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.</li>
<li><strong>Searching</strong>: Query the armory for any kind of data.</li>
<li><strong>Guild banks</strong> and <strong>calendars</strong>: You have guessed by the name, don&#8217;t you?</li>
</ul>

<p>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.</p>

<p>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.</p>

<p>Here is your chance, to influence future releases. Raise your voice, and share your thoughts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/phparmory-what-features-do-you-want-to-see/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>phpArmory 0.4.1 &#8211; &#8220;Call to Arms&#8221; released</title>
		<link>http://www.marenkay.com/tipsresources/programming/phparmory-041-call-to-arms-released/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/phparmory-041-call-to-arms-released/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 17:53:24 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[phpArmory]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=157</guid>
		<description><![CDATA[Today the World of Warcraft armory has been updated to reflect the new character features introduced with Patch 3.0.2 &#8211; &#8220;Echoes of Doom&#8221; &#8211; and the Wrath of the Lich King expansion. phpArmory 0.4.1 &#8211; &#8220;Call to Arms&#8221; (named after the Battleground holidays ) is out and supports the added character achievements and statistics. 0.4.1 [...]]]></description>
			<content:encoded><![CDATA[<p>Today the <a href="http://www.wowarmory.com/">World of Warcraft armory</a> has been updated to reflect the new character features introduced with Patch 3.0.2 &#8211; &#8220;Echoes of Doom&#8221; &#8211; and the <a href="http://www.worldofwarcraft.com/wrath/">Wrath of the Lich King</a> expansion. phpArmory 0.4.1 &#8211; &#8220;Call to Arms&#8221; (named after the <a href="http://www.wowwiki.com/Battlegrounds_Holiday">Battleground holidays</a> ) is out and supports the added character achievements and statistics.</p>

<p><span id="more-157"></span></p>

<h2>0.4.1 &#8211; &#8220;Call to Arms&#8221; &#8211; Nov 26, 2008</h2>

<p>The <a href="http://www.wowarmory.com/">World of Warcraft armory</a> has received quite a
few improvements, making it feature complete with the added character data from
the &#8220;Wrath of the Lich King&#8221; expansion.</p>

<h3>Features added</h3>

<ul>
<li><p>getCharacterData($characterName, $realmName) will now return an array which
contains character achievements and statistics.</p>

<pre><code class="php">$character = Array
(
    [characterinfo] =&gt; Array
        (
                ...
        )

    [reputationtab] =&gt; Array
        (
                ...
        )

    [skilltab] =&gt; Array
        (
                ...
        )

    [talenttab] =&gt; Array
        (
                ...
        )

    [achievements] =&gt; Array
        (
                ...
        )

    [statistics] =&gt; Array
        (
                ...
        )

    [armorypatchlevel] =&gt; 030003
)
</code></pre></li>
</ul>

<h3>Download</h3>

<p>Enjoy the 0.4.1 release, and either grab <a href="http://www.marenkay.com/wp-content/uploads/2008/11/phparmory-041.zip">phparmory-0.4.1.zip</a> or <a href="http://www.marenkay.com/wp-content/uploads/2008/11/phparmory-041tar.gz">phparmory-0.4.1.tar.gz</a>. Please note that all PHP files are formatted with Unix line endings, as I am mostly a Linux / Mac geek.</p>

<p>Feel free to leave a comment if you should end up having trouble with the classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/phparmory-041-call-to-arms-released/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>phpArmory 0.4.0 &#8211; &#8220;Jack-o-Lantern&#8221; released</title>
		<link>http://www.marenkay.com/tipsresources/programming/phparmory-040-jack-o-lantern-released/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/phparmory-040-jack-o-lantern-released/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 13:18:44 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[phpArmory]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=143</guid>
		<description><![CDATA[As proposed earlier in the 0.4.0 preview, we now have a final release of phpArmory 0.4.0 available. phpArmory 0.4.0 &#8211; &#8220;Jack-o&#8217;-Lantern&#8221; (named after the event Hallow&#8217;s End ) is out and features the big switch to PHP5. PHP4 legacy support has been dropped, and the API received a /love and /hug. 0.4.0 &#8211; &#8220;Jack-o’-Lantern&#8221; &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>As proposed earlier in the <a href="http://www.marenkay.com/tipsresources/programming/upcoming-changes-in-phparmory-040-jack-o-lantern/">0.4.0 preview</a>, we now have a final release of phpArmory 0.4.0 available. phpArmory 0.4.0 &#8211; &#8220;Jack-o&#8217;-Lantern&#8221; (named after the event <a href="http://www.wowwiki.com/Hallow's_End">Hallow&#8217;s End</a> ) is out and features the big switch to PHP5. PHP4 legacy support has been dropped, and the API received a /love and /hug.</p>

<p><span id="more-143"></span></p>

<h2>0.4.0 &#8211; &#8220;Jack-o’-Lantern&#8221; &#8211; Nov 20, 2008</h2>

<p>phpArmory has been rewritten for PHP5 and the new OOP class syntax. The class interfaces have been changed to use getFunction() and setFunction() syntax, and class variables have been adjusted to use private, protected, and public states. Please consult the doc/ folder for updated API documentation.</p>

<blockquote>
  <p>NOTE: arena team handling has been postponed to release 0.5.0, as with the recent release of Wrath of the Lich King, all arena teams have been wiped and no sample data was available to develop the feature.</p>
</blockquote>

<h3>Bugs squashed</h3>

<ul>
<li>all functions have received input checking, now all functions will properly return FALSE when something goes wrong.</li>
</ul>

<h3>Features added</h3>

<ul>
<li>phpArmory5 and phpArmory5Cache will now make use of trigger_error provided by PHP5 to raise notices (E_USER_NOTICE), warnings (E_USER_WARNING), and errors (E_USER_ERROR). Please note that warnings and notices will only be raised when you use phpArmory from the command line. If you use it on your web server, only errors will be raised.</li>
<li>you can now use getArea / setArea to make changes to the armory area.</li>
<li>you can now use getLocale / setLocale to set the language in which you want to query data from the armory.</li>
<li>you can retrieve talent definitions for all classes, including the recently added Death Knight using getTalentData().</li>
</ul>

<h3>Features changed</h3>

<ul>
<li>the phpArmory class API has been changed. All functions now use get&#8230; and set&#8230; for their names. The current API documentation is <a href="http://www.marenkay.com/wp-content/plugins/wow-armory/phparmory/doc/">available online</a></li>
<li>character icons will now be properly display for characters up to level 80. We have shiny WotLK character icons.</li>
</ul>

<h3>Download</h3>

<p>Enjoy the 0.4.0 release, and either grab <a href="http://www.marenkay.com/wp-content/uploads/2008/11/phparmory-040.zip">phparmory-0.4.0.zip</a> or <a href="http://www.marenkay.com/wp-content/uploads/2008/11/phparmory-040tar.gz">phparmory-0.4.0.tar.gz</a>. Please note that all PHP files are formatted with Unix line endings, as I am mostly a Linux / Mac geek.</p>

<p>Feel free to leave a comment if you should end up having trouble with the classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/phparmory-040-jack-o-lantern-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Going PvE: macros to ease your playtime</title>
		<link>http://www.marenkay.com/tipsresources/going-pve-macros-to-ease-your-playtime/</link>
		<comments>http://www.marenkay.com/tipsresources/going-pve-macros-to-ease-your-playtime/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 14:26:27 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Tips & Resources]]></category>
		<category><![CDATA[Macros]]></category>
		<category><![CDATA[Mage]]></category>
		<category><![CDATA[Multiboxing]]></category>
		<category><![CDATA[Paladin]]></category>
		<category><![CDATA[Priest]]></category>
		<category><![CDATA[Shaman]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=24</guid>
		<description><![CDATA[So you want to play a PvE setup for your multiboxing team? Then I might have a few tips for your, to get you started. After all, multiboxing is about character management and the way to achieve this in WoW is addons and macros. General macros The following macros can be used for all classes, [...]]]></description>
			<content:encoded><![CDATA[<p>So you want to play a PvE setup for your multiboxing team? Then I might have a few tips for your, to get you started. After all, multiboxing is about character management and the way to achieve this in WoW is addons and macros.</p>

<p><span id="more-24"></span></p>

<h2>General macros</h2>

<p>The following macros can be used for all classes, and only serve a purpose out of combat. It is not required to have these on any keybindings. You might want to put them on an actionbar for less used stuff, e.g. bar 5.</p>

<h3>Consume conjured food and water</h3>

<pre><code>/use [nocombat] (name of conjured food)
/use [nocombat] (name of conjured water)
</code></pre>

<h3>Focus</h3>

<p>This macro will use the group leader&#8217;s target and assign focus to it.</p>

<pre><code>/assist party1
/focus
</code></pre>

<p>In order to clear the focus, the following macro is required, too.</p>

<pre><code>/clearfocus [targetfocus, dead]
</code></pre>

<h3>Mounting</h3>

<p>The following macro will mount a character using either a land mount or a flight mount, depending on the zone a character is in. If the zone allows flying mounts, the macro will always use the flying mount, otherwise the land mount.</p>

<p>If you are currently mounted, you will be dismounted.</p>

<pre><code>#showtooltip 
/cast [outdoors,nomounted,flyable] (name of flying mount)
/cast [outdoors,nomounted] (name of land mount)
/dismount [mounted]
</code></pre>

<h3>Spell casting</h3>

<p>The following macro can be used to assist the group leader, and assist him in order to attack his target.</p>

<pre><code>#showtooltip
/target [targetparty1,nodead]
/assist
/cast [exists,harm,nodead] (spell name)
</code></pre>

<h2>Class specific macros</h2>

<p>The following macros will only work for specific classes, and some might need a counterpart on another character.</p>

<h3>Mage macros</h3>

<h3>Conjure    / Consume food and water</h3>

<pre><code>/use [nocombat] (name of conjured food)
/use [nocombat] (name of conjured water)
/use [combat] (name of conjured mana gem)
/cast [mod:ctrl] Conjure Food
/cast [mod:alt] Conjure Water
/cast [mod:shift] (name of Conjure Mana Gem)
</code></pre>

<h3>Polymorph focus</h3>

<p>This macro will sheep the current focus.</p>

<pre><code>#showtooltip Polymorph
/cast [targetfocus] Polymorph
</code></pre>

<h4>Portal creation</h4>

<p>This macro allows an Alliance mage to cast any portal to the Alliance towns with just one key. It uses modifiers in order to select the actual portal to be used.</p>

<pre><code>#showtooltip
/cast Portal: Exodar
/cast [mod:lshift] Portal: Ironforge
/cast [mod:lalt] Portal: Stormwind
/cast [mod:lctrl] Portal: Darnassus
/cast [mod:ralt] Portal: Shattrath
</code></pre>

<h4>Teleport</h4>

<p>This macro allows an Alliance mage to teleport to the Alliance towns with just one key. It uses modifiers in order to select the actual teleport to be used.</p>

<pre><code>#showtooltip
/cast Teleport: Exodar
/cast [mod:lshift] Teleport: Ironforge
/cast [mod:lalt] Teleport: Stormwind
/cast [mod:lctrl] Teleport: Darnassus
/cast [mod:ralt] Teleport: Shattrath
</code></pre>

<h3>Paladin macros</h3>

<h4>Divine Intervention</h4>

<p>This macro will cycle through a list of characters which are alive and friendly, and will cast Divine Intervention on the first target that fulfills these two conditions, in order to save a class with a resurrection spell.</p>

<pre><code>#showtooltip Divine Intervention
/cast [targetBrista,help,nodead][targetPriswa,help,nodead] Divine Intervention
</code></pre>

<h4>Righteous Defense</h4>

<p>One little secret that while in a regular group (not raid) the [raid] returns true for your group members but NOT for you. This way you will never try to cast Blessing of Protection on yourself. If the mob targets you, the macro will do nothing.</p>

<p>The castsequence effectively gives you a &#8220;backup&#8221; taunt. If your first one gets resisted or you need to re-taunt before the cooldown is up it will use Blessing of Protection.</p>

<pre><code>#showtooltip Righteous Defense
/castsequence [targettargettarget,help,raid] reset15 Righteous Defense,Blessing of Protection
</code></pre>

<h3>Priest macros</h3>

<h4>Multi-purpose healing / debuffing</h4>

<pre><code>/cast [modifier:lctrl, targetparty1, exists,party,nodead] Renew; [modifier:lshift, targetparty1, exists,party,nodead] Flash Heal; [modifier:rctrl, targetparty1, exists,party,nodead] Resurrection; [targetparty1, exists,party,nodead] Heal
</code></pre>

<h4>Shackle focus</h4>

<p>This macro will shackle the current focus.</p>

<pre><code>/cast [targetfocus] Shackle Undead
</code></pre>

<h3>Shaman macros</h3>

<h4>Totems</h4>

<p>Repeatedly executing this macro will stomp the listed totems one by one. If you wait longer than 7 seconds, the macro will reset and start from zero with the first totem listed.</p>

<pre><code>/castsequence [nomod] reset7 Healing Stream Totem,Strength of Earth Totem,Windfury Totem,Searing Totem
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/going-pve-macros-to-ease-your-playtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming changes in phpArmory 0.4.0 &#8211; &#8220;Jack-o-Lantern&#8221;</title>
		<link>http://www.marenkay.com/tipsresources/programming/upcoming-changes-in-phparmory-040-jack-o-lantern/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/upcoming-changes-in-phparmory-040-jack-o-lantern/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 10:18:41 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[phpArmory]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=61</guid>
		<description><![CDATA[Work on phpArmory 0.4.0 has started, and this time it will be a bit more work going into the classes. While you test and (hopefully) enjoy phpArmory 0.3.2, let me give you all the details on the upcoming 0.4.0 release. On Aug 27, 2008 the PHP team has released the final release of PHP4, and [...]]]></description>
			<content:encoded><![CDATA[<p>Work on phpArmory 0.4.0 has started, and this time it will be a bit more work going into the classes. While you test and (hopefully) enjoy <a href="http://www.marenkay.com/tipsresources/programming/phparmory-032-giddyup-released/">phpArmory 0.3.2</a>, let me give you all the details on the upcoming 0.4.0 release.</p>

<p><span id="more-61"></span></p>

<p>On Aug 27, 2008 the PHP team has released the <a href="http://www.php.net/archive/2008.php#id2008-08-07-1">final release of PHP4</a>, and thus it is time to make the switch to PHP5 in phpArmory, too.</p>

<p>As some may know, PHP5 introduced quite a few features to enhance the OOP features for classes, and make them feel like <em>real</em> classes. Among the changes, there are real class constructors and destructors, plus private, protected, and public keywords became available for class variables and functions. Cheers for this! I have waited for this quite some time, being a C++ developer it just felt wrong to have no real classes in PHP4.</p>

<p>This means, most variables and functions of phpArmory / phpArmoryCache will be changed. For most class variables, their status will become private to prevent their usage from outside the class. All variables have been intended for internal use anyway. If you did use them, stop now. Class functions will be changed to private or protected. Only two functions will become private, as they are intended to be used only inside phpArmory / phpArmoryCache. The remaining functions will become protected (not public!). What does this mean? Simply spoken, protected functions may only be used from inherited classes.</p>

<p>Along these changes the class documentation will be rewritten from scratch, using the phpDoc syntax. I also plan to add new usage examples.</p>

<p>One change yet is not decided on, but you can raise your voice to help me. I am considering to switch the phpArmoryCache class to use <a href="http://www.php.net/manual/en/book.pdo.php">PHP data objects</a> instead of using the MySQL extension directly. In common this does sound good, but in reality I am not sure if it would be worth the effort. Does anyone want to use PostgreSQL, SQLite or other database backends for phpArmory? If yes, raise your voice and tell me. If not, this change will probably become a task for phpArmory 0.5.0.</p>

<p>If you want to see what I am working on currently, I have added a <a href="http://www.marenkay.com/wp-content/plugins/wow-armory/phparmory/status/">issue tracker</a>. The issue tracker is updated weekly and shows the progress with fixing bugs, implementing features, and how planned releases progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/upcoming-changes-in-phparmory-040-jack-o-lantern/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>phpArmory 0.3.2 &#8211; &#8220;Giddyup!&#8221; released</title>
		<link>http://www.marenkay.com/tipsresources/programming/phparmory-032-giddyup-released/</link>
		<comments>http://www.marenkay.com/tipsresources/programming/phparmory-032-giddyup-released/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 09:55:01 +0000</pubDate>
		<dc:creator>Daniel S. Reichenbach</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP4]]></category>
		<category><![CDATA[phpArmory]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.marenkay.com/?p=34</guid>
		<description><![CDATA[It has been a few months since my last updated release of phpArmory, and now a final release of the 0.3.x branch is available. phpArmory 0.3.2 &#8211; &#8220;Giddyup!&#8221; (named after the currently running event Brewfest ) is out and silently introduces bug fixes to make things run smooth. There has been a 0.3.1 release which [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a few months since my last updated release of phpArmory, and now a final release of the 0.3.x branch is available. phpArmory 0.3.2 &#8211; &#8220;Giddyup!&#8221; (named after the currently running event <a href="http://www.wowwiki.com/Brewfest">Brewfest</a> ) is out and silently introduces bug fixes to make things run smooth.</p>

<p><span id="more-34"></span></p>

<p>There has been a 0.3.1 release which never made it into the open, due to a last minute issue discovered during testing. The Changelog has all the details on what was changed in 0.3.1 and 0.3.2, and why it changed.</p>

<h2>0.3.2 &#8211; Oct 02, 2008</h2>

<h3>Bugs squashed</h3>

<ul>
<li><em>phpArmory.class.php</em>: Class will not be instantiated if the Curl or XML extension is missing from your PHP installation.</li>
<li><em>examples/character.php</em>: Updated to use setArea. Properly dumps character data as XML. Please note that characterFetch() will now return the armory patchlevel, too.</li>
<li><em>examples/guildroster.php</em>: Updated to use setArea. Properly dumps the full guild roster as plain table.</li>
</ul>

<h2>0.3.1 &#8211; Sep 28, 2008</h2>

<h3>Features added</h3>

<ul>
<li>Patchlevel detection*: <code>getCurrentPatchlevel()</code> will return the current patch version for the armory region you use.</li>
<li>Talent definitions: <code>TalentDefinitionFetch()</code> will retrieve talent definition for all classes from the World of Warcraft website.</li>
<li>WoW armory lockout prevention: with previous phpArmory versions, it could happen that your applications would be temporarily locked out from the armory. To prevent this, you can now limit the number of retries for XML pulling. To do this inherit your own classes by specifying the `$retries&#8217; parameter with the number of retries to perform.</li>
</ul>

<h3>Features changed</h3>

<ul>
<li>*Armory region and locales: this has been simplified, to only supply a setArea function to define which armory region we use.</li>
</ul>

<h3>Download</h3>

<p>Enjoy the 0.3.2 release, and either grab <a href="http://www.marenkay.com/wp-content/uploads/2008/10/phparmory-032.zip">phparmory-0.3.2.zip</a> or <a href="http://www.marenkay.com/wp-content/uploads/2008/10/phparmory-032tar.gz">phparmory-0.3.2.tar.gz</a>. Please note that all PHP files are formatted with Unix line endings, as I am mostly a Linux / Mac geek.</p>

<p>Feel free to leave a comment if you should end up having trouble with the classes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marenkay.com/tipsresources/programming/phparmory-032-giddyup-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
