A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

Implementing “Out of Eve”

If you’re a coder or website administrator that’s been wondering what it’s like to implement the “Out of Eve” (OOE) application on your library, read on for my insights on the entire process from evaluation to production use.

If you’re not familiar with OOE, it’s a Web-based application that will allow you to check on the status of your character and corporation via the Web, without having to be logged in to EVE. It uses your full API key (provided on EVE Online’s website) to retrieve all of the information it displays, from stats, to skills in training, production runs in progress, and even all of your transactions. Basically it does a damn good job of showing you what going on with your EVE characters via a Web browser.

Very recently a fellow corp mate turned me on to this cool little app, which seemed like a great addition to the TWITZ website. I’d been considering developing my own API-based tools, but what would be the point of doing that when somebody else has gone through all the trouble already? So quickly my focus shifted from rolling my own tools to evaluating OOE.

Installation

Getting the OOE code archive was easy enough and trivial. The installation notes were a bit thin in detail, but provided enough of the major steps that any experienced Web administrator with PHP and MySQL administrative experience could figure out the bits that weren’t explicitly called out. The first time MySQL or PHP user might find it difficult to figure out these steps, so if you’ve never installed a MySQL database before or don’t know how to manage a PHP-based site, then I strongly urge you to find somebody to help you out – or at least be very patient if you’re willing to forge through the process on your own.

Thankfully I had enough knowledge to fill the gaps in the instructions, and with a bit of trial and error I was able to get run the OOE database installation scripts.

You will need to get the most recent EVE database dump off another website as well, as this isn’t provided with OOE (I grabbed apo15-mysql5-v1.sql.bz2, which is the Apocrypha 1.5 dump for import into MySQL). This dump is very large – it’s about 140MB uncompressed, and about 42MB zipped. If your ISP has upload restrictions, you might find this problematic, and need to break up large files into smaller ones and upload them. If you do have this problem, decompress the file on your local system, load it up into a text editor as plain text (I use TextPad), find a convenient spot between two SQL commands about halfway through the file, split it there, and save both halves into seperate files. Compress those files into two zip files, upload them, decompress them, and then use whichever MySQL management tool available to you to import each file in order. This takes a bit of work and time, but it does work just fine.

Be sure when you’re importing all this data that you setup your databases correctly and that you setup database users that OOE can use to access them.

When you get to the configuration step, a basic knowledge of PHP will help here. There is likely going to be a bit more editing required than the installation instructions let on, but it’s something that I think the moderately experienced site admin should be able to figure out with little problem. You’ll more than likely spend most of your configuration time trying to figure out which directories to install the OOE passkey file (used to encrypt users’ API keys) and store cache files. The instructions suggest that you not put these in a Web-accessible directory but instead put it someplace outside that directory where your web server can get to it. The instructions suggest using /var, but some ISPs may not allow you to use /var, and your ISP’s web server may not be able to use /etc either. In this case, just change the name of the passkey file to something besides the default and put it in a folder outside of your OOE files – this will make it hard for anybody to find it or guess it; likewise with the cache files.

Security

The biggest concern I had about OOE was security. Not that I was worried about someone compromising my website with it, but that users are required to provide their full API key in order to use OOE. While the full API key won’t allow anybody to change any of your character or account information even if it is stolen, it could allow your enemy to find out where you’re at, what kind of ships you have, how much money your corporation has, and other sensitive information you wouldn’t want them to have. Fortunately, you could change your full API key easily on the EVE Online website even if it was compromised, so there’s no show-stopper about providing the full key here.

What gave me even more confidence about OOE’s security was that you can specify a passkey that is used to encrypt all of the API keys provided by users, so even if somebody was able to access the files that contained the API keys, they would be encrypted, and unless the hacker also was able to dig up the passkey itself, they’d never be able to decode the APIs. This is a good thing to have.

There are also user-specific logins for OOE, which are password protected, and you can only see your characters, not anyone else’s. These login credentials are stored in a seperate database of the other OOE or EVE DB dump files, which is another plus, and it uses a different database user to access it – another good security move.

At the end of the day, as a site administrator, all of my security concerns were allayed.

Testing

Testing was pretty trivial. Once I got it installed, I simply put the local OOE installation URL in my browser and the login screen appeared immediately. If you had any DB configuration issues, you should find out right away when you see an error message. I had a few things to sort out (namely locating the cache and passkey files somewhere the web server could access them), but after that everything worked fine.

Simply create your own login, add your character, then start flipping through everything. I saw only one error page in all my testing, which tells me that the distribution code itself is pretty solid. Once you’re comfortable that everything works for you, feel free to open it up to your users and share the URL.

Customizing

While you can select from one of four different templates to change the OOE look, I wasn’t satisfied that any of them fit into the color scheme our corp uses. So I went into each of the templates and changed the title.png logo, and also disabled the RSS feeds that appear on the login screen (neat idea, but it’s very distracting and confuses the first time user; beside, I can enable RSS feeds on the corp’s main site).

These changes were pretty easy to do, and you can easily modify the look of each template further if you know basic HTML. Beyond the logo and simple color scheme tweaks, however, I didn’t touch anything else about the look.

Assessment

OOE isn’t the sexiest tool int the world, but it doesn’t need to be. In my opinion, OOE is a tool for EVE junkies that need their fix while they’re at work, sneaking in some intel gathering while they’re on vacation, or out somewhere in the world away from a computer and can use their mobile browser to check in on their character and skill progress. It does the job well, and is perfect to meet the needs of my corp for now.

While the installation instructions could be made more robust for those who are new to site administration, it has enough meat to get the job done if you’re a more experienced admin. Overall, the installation process was not too bad, and the end result is a tool that everyone in my corp can use.

If you’re a site admin or corp officer, I’d definitely recommend checking out OOE and getting an install on your site. Big thanks to Azazel Mordred (EVE name) for creating such an awesome tool, and I encourage you to keep up the good work.

1 comment to Implementing “Out of Eve”

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>