GuildPortal Dev Blog

Updates from Aaron Lewis, GuildPortal Code Monkey

Posted 1/4/2013 4:14 PM by Aaron Lewis. 1391994 reads. Share:

From 1/1/2013 to 1/3/2013 at 10:14 AM (Mountain), GuildPortal services went offline. Here's what went down, in sequence. The cause of the problem had its start on 12/16/2012, so I'll begin there:

12/16/2012 to 12/31/2013: The server backups, which are stored on a network share, failed to execute for two weeks straight. In the case of backup failures, our server provider's management tools are supposed to alert them so that whatever the problem is can be fixed. That didn't happen. So for two weeks, GuildPortal was flying without a backup, and nobody knew.

1/1/2013: The drive on the database server that stores the full-text index, fails, and the site goes down. When there is a drive/controller failure, our server provider's system (again) is supposed to alert them. The first tech I spoke with later acknowledged this, but said that they weren't using their old notification system anymore, since the company that acquired them was going to have them use their newer system. What happens in between? No notifications or alerts of any kind. 
 
1/1/2013, 1:30 PM: Sandy finds out the site's been down all night when she does her usual check to make sure things are running. I get on the phone with our server provider while she lets everyone know that we're on it on our Facebook page. I am connected to someone in technical support who is genuinely helpful, but who has very little SQL knowledge. 

I put up an "offline" page on the GuildPortal site, informing everyone that we'll be back, and providing a link to our Facebook page where we begin posting updates as we have them, and answering questions.
 
Over the next 7 hours, the tech repeatedly attempts to get ahold of a DBA to help with the problem. We both breathe a little easier when we get a response back in the form of an IM from the regular DBA from home. A few IMs later, we have something to try, and the tech and I give it a go, brimming with optimism. I post on Facebook that everything should be up and running within 30+ minutes.

1/1/2013, 9:30 PM: It's taking far too long. I suspect something is wrong, so I cancel the operation. It takes 4 hours to cancel, even though it was only initially running for 1. The culprit, it turns out, was the database file itself. When the N drive failed, it left the primary database file and the associated log file in a totally unstable (and it now appears, unrecoverable) state. The DBA we were IMing is now incommunicado.

No problem, we thought, because I'd been paying for the extended SQL support package faithfully for all these years. That means he can hop on the phone and get the revered On-Call SQL Team to fly in on an epic mount, day or night. While we wait for them to respond to his initial pages and phone calls and IMs, we try a couple different restore strategies. At the time we didn't know the state of the main database file, so again, we were optimistic.

I again, stupidly, post an update on Facebook saying that our latest attempt resulted in a success and that the site would be up any moment. I end up staring at a spinning ball with the words "query executing" next to it for the next several hours.

1/2/2013, 2:03 AM: The restore failed. All phone calls, pages, and IMs to the On-Call SQL Team have been totally ignored. The tech is frustrated, apologetic, and (if I read it right) a little embarrassed for his company. I post apologies and stop giving ETAs on Facebook, but continue communicating with everyone, not wanting you guys to think I'd snuggled up to a pillow and said "heck with them."

It's now 13 hours after the initial phone call, and the odds of us getting a DBA involved at all before the regular morning shift are looking slimmer with every passing minute. Dread sinks in (forgive the melodrama).

The tech and I part on the phone, since he can only really sit there and listen to me breathe while I try different ways to restore the database. Attaching, single-file attaching, standard restore, restore with full-text indexing belayed, different recovery models, etc.. After we hang up, he continues to attempt to get ahold of the On-Call SQL Team until his shift ends, to no avail. My efforts, of course, were equally doomed.

1/2/2013, 5:08 AM: I've tried everything I could think of. At this point, I post updates on Facebook and wait for a herd of DBAs to show up all bright-eyed for work at our server management company's HQ (they're two hours ahead of me).

1/2/2013, 9:09 AM: I'm informed that a DBA is working to get the server fixed. I remain cheerful and optimistic, since now we at least had a DBA on the case, and (I thought) I'd be able to give you guys a reasonably accurate ETA before too long. I post to Facebook, with a smiley face even.

I thank the DBA very much for taking it on and ask very politely and delicately (I'm careful around DBAs) if, at any time he has even the smallest update that I could give you guys, that he just shoot a real quick e-mail my way. KK? Tks u!

I head back to Facebook, posting and chatting it up to let you all know I'm staying with it until it's fixed, and also because it helps me stay awake. We all wait for the DBA to work his magic, and send us little updates that I can relay to you.

1/2/2013, 1:50 PM: The DBA comes back after some attempts with bad news. The database file is corrupt. But he has a plan that he has used before, and he is confident it will work. I post his e-mail, verbatim, on Facebook. Hope glimmers once more. Like anime eyes.

To pass the time while this plan is set in motion, I post some polls to Facebook. We all again wait, collectively, for the Awesomeness to happen. One of my guild leaders posts that he's a DBA too, and gives me a tip to pass along to Johnny that might save a lot of time.

So I call up and ask to speak with our server management company's DBA, thinking he'd appreciate the tip. Well, as soon as the guy who answered the phone IMed him that I had some info that might "help" him, he wouldn't take my call. Busy guy, I guess! Must have already thought of it anyway, right? No hard feelings...

1/2/2013, 4:02 PM: After waiting for around two hours with no update, and my guild leaders becoming understandably more anxious, I lose my patience, Samuel L. Jackson style. In a totally unreasonable rage, I write the following, unthinkably terrible thing to the DBA. The following is the actual body of the e-mail I sent. Parents, you might want to send your children out of the room. Here it is:

"Hiya Johnny! How's it going? Look like it's going to work?"

1/2/2013, 5:32 PM: The DBA replies with open hostility, accusing my "team" (I have a team?!) of detaching the database in a way that corrupted it, when in fact the loss of the N drive finished it off long before, and the failure of the entire alerting process all the way back from the backups that had failed weeks before to this point was the real villian of the story. None of which I had control over.

He closes by inviting me and my "team" to do it ourselves if we think we can do better.

At that point, I swear, the world turned upside down. It wasn't a proud moment for me, but I clicked on the reply button and type up an e-mail that conveyed some of the anger that had been building up, but more of the hurt and disbelief at what was going on.

Anyway, as far as I can tell, immediately after reading this e-mail, the DBA stopped any running restore, disconnected from his session, and walked away. I wouldn't hear anything from our hardware service provider until the following morning. The worst part is that he full well knew he wasn't just punishing me, but all of you, as well.

After I posted what had happened to Facebook, many, many guild leaders (you guys, yay!) basically raided the hardware service provider's Facebook page. Immediately upon seeing it (once they got in), they responded, saying they'd make fixing it a "top priority." While I wasn't contacted until a couple hours after that, I am sure that you guys proving you were real, and not to be trifled with, had everything to do with the fact that we would get some real results, and soon.

To my horror, the best that could be done was a restore from the last backup that had succeeded, on 12/16/2012. So any new data from then until the site went back online would be lost. Though catastrophic and totally unacceptable in my (and I'm sure, your) eyes, I had to give the go-ahead. There was just no other option, at least, none that they could or would provide.

1/3/2013, 10:14 AM: The site comes back online, with data restored from 12/16/2012.

This will not happen again.

For my part, even if we're paying our provider extra for support packages that include monitoring, alerts, and reliable backups, I will not take it for granted that anything, whether it's something I have control over or not, is working as it should be. I will check on backups and perform many of the other IT-type tasks that we have been relying on someone else to handle.

I'll invest (as soon as I can -- this event has cost us dearly, financially, and GuildPortal is already "in the red" because of the economy and lack of new games that really draw new players into the MMO world) in more hardware that will add more layers of fault tolerance to all tiers of the GuildPortal service.

Sandy has been diligently refunding all subscriptions for all new sites created after 12/16/2012 (since they're not there any more). She is nearly done as I write this update. If you fall into that category of site, and you haven't seen a refund come through PayPal yet, please give her another day to finish up. You do not need to send in a support ticket. We're not waiting for you to contact us refund you, we are just doing it.

I'm extremely sorry this happened!

This has been, without any question, the worst downtime event in GuildPortal history. It's the worst data loss event for sure (there was only one other -- the result of me writing a bad trigger that deleted a bunch of old shouts it shouldn't have).

It would be tempting to blame our hardware service provider for it all, but deflecting is their game, not mine. The short truth of it is that I should have been double-checking that they were doing their part, whether I was paying more for alerting and reliability services or not. That should have been something I considered part of my job before this all happened, and it most certainly will be, moving forward.

To all of you who lost data, I cannot begin to convey to you how much I feel your rage, anger, disbelief and loss over this. You're not simply punching in letters and numbers to practice your typing, you're building community. To have over two weeks of that just taken away as if it never happened is unacceptable. I was awake from 1/1/2013 at 8:30 AM until the site went back online at 10:14 AM on 1/3/2013, because I wanted to keep providing updates, or at least keep the lines of communication open while we were down... To let you know that your guild is very important to us, whether it's a paid site or not. I didn't choose the guild web hosting vertical niche just because there was nothing else filling it back when we started; I love the idea of providing and enhancing tools for people to build and personalize their communities online, and I just so happen(ed) to be a gamer.

I feel terrible for disappointing you. While the financial hit to us is tremendous, GuildPortal will survive and be here for your guild for years to come. I'm currently looking for another job, as, like I said before, we're in the red, and have been for some time. Once I have one, I'll still be able to provide support and some feature enhancements; I'll just be limited to a couple hours a day or so.

Thank you!

If you are going to leave over this, or have already left, thank you for making your home with us for however long you did. Thank you to all you guild leaders and members who were understanding and supporting on our Facebook page. Thank you to those who are staying, and a promise: it won't happen again.

As always, thank you for choosing GuildPortal!

Posted 10/27/2012 4:38 PM by Aaron Lewis. 1442131 reads. Share:

10/27 Update - Activity Wall

The Activity Wall, a new widget, goes live today! It's like the walls you'll find commonly on social networking sites. It's what the old Status Updates widget was kind of trying to do, only it does it a lot better. It could also be looked at as a replacement for shout boxes altogether, since it supports media.

In order for people to post to it, they'll need to be granted higher than public/applicant access to your site. Here are some of the features:

Posting

The familiar WYSIWYG editor is used, only in a slimmer version. Tools available for now are: toggle full-screen edit mode, spell check, some formatting, insert link, insert image, and insert video (from either YouTube or Vimeo). You may find the area too small to work with, especially if you're inserting big images or videos, so make use of that full-screen toggle on the far left!

Adding Video

Adding video from YouTube or Vimeo is easy. Just go to the web page on YouTube or Vimeo where the video is shown, copy the address, click the blue Play icon to the far right in the wall editor, and paste the URL. Hit your tab key and you'll be presented with a preview of what it'll look like in your post, along with some options.

Most of them can be left alone. The one you want to pay attention to is "Play the video automatically on load." You'll probably want to un-check that box, else risk the wrath of guildies opening the page with the wall on it, getting hit with all kinds of videos starting to play at the same time!

The Next Thing

Sample wall postOnce you've added your text/video/images, click the post button and boom -- there you have it. Emoticons are automatically parsed based on defaults and/or any custom emoticons the guild uses. Clicking on the name of the poster displays the standard drop-down menu for doing things like viewing their profile, visiting their blog, chatting with them if they are online, and all that good stuff.

Images

Know how sometimes, you can put an image in a post or a news item and if it's too big, it'll stretch out the page, wrecking the design? Well, I think I've got that figured out now (and with all the layout possibilities there are due to customization, and the fact that IE ignores max-width unless everything's set a particular way at the parent level, it took a while -- that, and I'm dumb as a rock)! Anyway, when you post an image to the wall, it'll now do its best to fit inside the available space, without stretching things out. Notice: if your browser is way, way old, it'll probably be icky like before. So with a large image (the one shown is actually around 1200 pixels wide, in a widget that's about 700 pixels width), here's what a well-behaving browser will show (minus the purple arrows I thought were neat while putting the screens together in Fireworks):

But hey! What if the image is gigantic because there's that much going on? Easy to do with something like an in-game screenshot. And you might want to see it full size. No problem! You can click any images on the wall and they'll open up all sexy like in a gallery-type scroll view dyno-resizing nifty thingy. Stuff. Whatever you wanna call it. Hey, I'm not a writer, k? Anyway, it's got arrows (way better-looking than my purple ones up there) that you can use to move between other images on the wall.

The Morning After (after you post, I mean)

There are a few things at the bottom of each post. People can click on Comments to show comments or add their own. The date and time of the post has been sacrificed in a pagan ritual, making way for the more friendly "how long ago" display. There are tools to delete the post if you're a Super Admin or the original author, and if you're the author you can edit the post, too.

The comments are pretty simple. Not much to explain there. I thought about spinning it so they sounded all complicated and neat and shiny, but... Yeah. No. Oh, and both of those posts are from me. I talk to myself while testing, and for a reason I cannot fathom, I always revert to a despicable sub-set of the English language.

Future Enhancements

Instead of cramming the thing with everything I could think of, taking ideas from some of the major social sites out there, I decided to hold back and push it as it is now. I'm counting on feedback to direct the decision making when it comes to further enhancements for the wall. After all, there are things I found that I like which a lot of you might really not, and there were some features the big boys are sporting now that I really find... icky (who says "icky?" I do!).

So let me know what you would like to see done moving forward. Maybe WYSIWYG editing of comments instead of the simple type-and-hit-enter behavior it has now? Or automatically-entered posts by the site when people apply, add a shout, post something in the forums, add a news item, create a new raid, add an image to the gallery (all linked automatically to the source item)? Anyway, let me know!

Chat Updates

When someone requests a one-on-one chat session, you will now hear a... beeping thingy. Useful if you have more than one browser window open, are looking at a different screen, or have your head spun around facing behind you, like that girl from the Exorcist. I do that sometimes. Don't judge me!

Typical GP Chat

Also, on-demand playable sound effects have been fixed in guild chat. Type /sounds for a clickable list of the currently available ones. In addition, lots of little bugs and stuff were fixed.

Other Stuff

  • Many widgets have had their displays cleaned up a little. There will be more of this going forward, as we move to a more universally clean (and still customizable) theme format. This is primarily being done to enable us (and you) to create much higher quality themes than is now possible. We will be making use of HTML5, CSS3, and responsive design principles.
  • Quirky behaviors in some of the style editors have been un-quirkified.
  • Your hamster has been watching you with malice as you sleep.
  • The ability to add an image to a post via link instead of the image manager has been restored.
  • Many other bug fixes.

Posted 8/28/2012 5:44 PM by Aaron Lewis. 249713 reads. Share:

Some of you running a couple different virus scanners are running into alerts on your guild sites. They're false positives centered around a trojan called JS:Blacole. The scanners are freaking out about something they don't like in the resource files GuildPortal passes down to support some of the richer client-side control. We use Telerik (a control vendor) for much of this.

They are aware of the problem, and so are the virus scanner developers, who are now (or already have) updating their definitions so that these false positives will go away, and take their ZOMG-factor with them.

For anyone interested, the Telerik threads talking about this are here and here, and at the Avast forums over here, but they've announced they've fixed it, so go grab the latest definitions.

Posted 7/30/2012 4:22 PM by Aaron Lewis. 138759 reads. Share:

What was done:
  • The password reset e-mail was made to include the account names.
  • Header elements (H1, H2, etc) were set to no padding, causing them to appear flush with the sides of the widget body. Padding was added so it's not so ugry.
  • A bug causing the "additional options available" prompt to vanish when adding a new widget has been fixed.
  • A global guild bar (aka GloBar) has been added, which shows the count of members in the guild chat room, provides a list of everyone online, and shows how many unread web-mail items you have. You can disable it in your Profile settings if you don't dig it. Customization options are on the way!
  • Guild chat room UI bits are all expando-flexy now, so you can resize it to your liking.
  • The admin command /roomname in guild chat now works.
  • Apparently, Verizon is mysteriously cutting off e-mail-to-text service for random subscribers, making it impossible for our notifications to get through. If you're a Verizon subscriber and your texts from GuildPortal are not working, head over here for information on how to make sure the e-mail-to-text service is activated: http://support.verizonwireless.com/faqs/TXT%20messaging/faq_vtext_website.html
  • The news category selection drop-down, which appears when editing or adding a new news item, now sorts and also shows the associated image that will be automatically placed within the new item's body, if there is one configured for the category.
  • A bug causing the shout box to behave like a brat in certain situations has been fixed.
  • Several of the third-party components we use have been updated to their latest versions.
  • The alert window, which appears when a guild mate logs in, has been fixed so that it never shows white text on the light gray background.
  • Shouts were caching too long, so you wouldn't see them if you refreshed the page immediately after adding one. This has been fixed.
  • Member titles, set in member admin, have had their allowed length increased to 1,000 characters (5x what it was before).

Posted 5/4/2012 5:38 PM by Aaron Lewis. 130854 reads. Share:

Today's update included mostly bug squishes. Here's some of what went live:
  • Tera game news is now up and running with a feed.
  • Tera Server Status, a new widget, is available.
  • You can now post drafts to your blog, and come back to finish/publish them later.
  • Welcome letters are now sent out when they should be.
  • Some didn't like the in-frame windows when editing content, instead preferring actual pop-ups instead. There is now an option in the Control Panel's dashboard, under a new tab called "Preferences," to enable pop-ups.
  • Blog links under recent entries will now take you where they should.

Posted 3/30/2012 5:43 PM by Aaron Lewis. 25943 reads. Share:

Big enhancements to the calendar system have been made over the past couple of weeks! Here's what's been done:

Event Submissions : Associate-level and higher members of your site are now able to submit events for approval by events admins. When they view the calendar, they have a new button in the top right-hand corner:



When they submit the event, event admins are notified via web mail. When they go to the calendar, if there are any submissions pending, they see the following:



Clicking the button shows them the details of the event, and gives them the option to Approve, Approve and Edit, or Reject the submission.

Simplified Sign-Up: Signing up to an event no longer requires multiple steps. Members can now sign up directly while viewing the event:


In-Line Sign-Up Admin: Like the sign-ups, administrating status and role of sign-ups by event admins has been simplified to a couple of drop-down boxes that appear in-line while viewing the event:


Enter Loot Drops from the Event: Entering drops for an event used to require several steps. Now, it's right there in the event view and much more efficient:


Enter / select the item that dropped. If you start typing the name of the item, a drop-down appears with matching items that have dropped for your guild previously. You can then use your arrow keys or mouse to select any match, or just type in the name of the item if it's something that hasn't dropped before:



Selection of the person who received the item works in the same way. You begin typing, and a list appears with matches:



Here's a partial list of the rest of what's been done over the past couple weeks:
  • New topics default to "subscribed."
  • E-mail notification is sent out when you receive web-based mail.
  • Users can delete their own posts unless the admin disallows it by clicking Edit under their forums, Options, and then checking "Disallow users from deleting their own posts."
  • Ventrilo server status was fixed.
  • The calendar now lets you choose between Monday or Sunday as the first day of the week (click Edit under the calendar, go to Display Options, and select the day from the "First Day of Week").
  • Fixed duplicate characters appearing on the default roster.
  • Added two new widgets: Rift Addons: Hottest and Rift Addons: Newest.
  • Event categories now support a background image, which appears on the large calendar display. To configure event categories, click Edit under your calendar, and then Event Categories.
  • Multiple events may now be deleted at once from the calendar editor by checking the boxes and clicking "Delete Selected."
  • The EverQuest 2 auto-roster has been fixed.
  • The forum icon legend now shows if you have custom forum icons, but can be disabled by clicking Edit under your forums, clicking Options, and checking the "Disable forum/topic icon legends" box.
  • Selected character fields now show up in event sign-ups.
  • An asterisk is displayed next to events that you have signed up for in the main calendar view.
  • If there are applicants awaiting approval, the member admin link flashes.
  • Many Web Fonts have been added and can be selected for your widget titles and widget body areas by going to the Control Panel > Style Tools > Content Boxes (Widgets). Not all of the fonts work with Internet Explorer.
  • Other miscellaneous bug fixes. =)

Posted 11/4/2011 9:19 AM by Aaron Lewis. 11942 reads. Share:

A new widget called "Rally the Guild" goes live today! This beta widget operates much like a shout box, except instead of just adding a line of text to your site, it will send the text to members via either their cell phone or e-mail. For cell phone delivery, members will need to configure texting in their Profile (the widget itself provides a direct link to configure it, as well). Only those with officer level or higher access to your site may send out rallies, and only those marked as associate or higher receive them.

Also, images uploaded since the new file storage system was brought online (images that show as being located on a path that begins with /GuildImages) now show an Edit link next to them in the File Manager. Clicking it brings up a new web-based image editor that gives you the ability to crop, add text to, and otherwise manipulate images. The functionality of this editor already has planned enhancements, coming soon. It is also available from the Gallery widgets upon upload of new images, if the uploader has Images Admin rights on the site.

Over the past couple days, we ran across a hardware problem with one of the drives on our database server, causing some downtime. We apologize for this. The good news is, however, that we have replaced the drive with a mirrored array that has twice the space. Also, while they had the system open at the data center, we had them double the RAM as well, which should have a positive impact on performance.

To make things run even better, we have also brought in a company that specializes in the optimization of databases specific to the platform that GuildPortal runs on. They have completed their initial monitoring phase, and we will be working closely with them to implement their recommendations.

Other stuff addressed in this push:
  • Aion armory tooltips are fixed.
  • LoTRO Integration now allows manual entry of your guild name, in case your actual guild name was already taken for your server and you had to use a different one when creating your site.
  • Approving/denying item requests in the bank now visually updates the visibility of the approve/deny links, giving a better indicator that the command was performed.
  • A bug causing only one item to show when viewing item requests has been squished.
  • SuperAdmins can now delete crafting orders from the main display of the Crafting Marketplace.
  • Spotter's Order was nerfed in Rift. (Okay, so we had nothing to do with that -- we're just very, very angry about it)

Posted 10/7/2011 1:45 PM by Aaron Lewis. 16880 reads. Share:

On Monday, the following updates will be deployed to live:
  • XML/XSL Transforms where either the XML or XSL files are being loaded from guild storage will work properly.
  • Text filters will function correctly.
  • Voice server purchasing will be fixed for a few guilds that were having trouble with it.
  • The main GP page login control will now correctly say that it's an invalid login if no user name and password are provided, instead of providing no feedback at all (just sitting there, staring back at you).
  • Announcements will now be shown directly on the calendar widgets, instead of being their own listing before the calendar.
In addition, many updates have been made over the past couple weeks that have already been pushed to live:
  • Performance enhancements have been made to the forums and news widgets.
  • Cache duration of guild data has been reduced, causing less of a delay between saving some changes in the control panel and being able to see them appear on your site.
  • Text Messaging functionality has been made available for open beta. Check your Profile settings to see what it's all about!
  • Registration and application completion have been merged into a single page, so that people applying to your site won't think they're done after completing the registration part, and exiting prematurely.
  • New CSS classes have been added to the forums, mostly to facilitate alternating item displays in the post listing.
  • Maximum individual file upload size has been increased from 5 MB to 7 MB.
  • The ability to enter a custom color code, instead of being limited to the drop-down choices provided by the picker, has been enabled for section wrappers.
  • Section wrappers! A new set of options are available in the Control Panel, underneath Style Tools > General Style Settings > Section Wrappers. These enable containers that wrap around elements on your site, such as the navigation bar (if you use it), the content table (where all the widgets are contained), and the footer. While they're attractive in old browsers, they look especially good in CSS3-compliant browsers (most of the latest browsers are CSS3-compliant).
  • By default, signatures will not show in forum posts when the post is by a guest user (non-associate or higher access level). In order to override this behavior, click Edit under your forums widget, then Options, and then "Show non-associate (guest) signatures and thumbnails."

Posted 7/6/2010 1:54 PM by Aaron Lewis. 5962 reads. Share:

Guild newsletters are now available! As a site admin, to enable and configure your newsletter, open the Control Panel and select Newsletter from the left menu. Users who wish to receive your newsletter will need to enable Guild Newsletters in their Characters/Settings page and be associate-level or higher in your guild. Moving forward, we might change this to being enabled by default, but for the moment we're making it opt-in to avoid "spamming" a whole lot of people at the beginning.

Some might have noticed a lot of ninja-enhancements going live over the past weeks:
  • When editing a page's properties (Control Panel > Pages & Content > select a page and then click the Page Properties tab), you now have the option to specify a hover image, in addition to the previously available default and selected images.
  • The Banner Builder (Control Panel > Style Tools) has an additional effect that you can apply to the text called "perspective." It renders the text at an angle (which you can also specify using the slider).
  • "Nav Bar Builder" and "Navigation Type" have been combined into "Navigation Style" (Control Panel > Style Tools). You can now select the type of navigation you want your site to use (Nav Bar, Side Nav or Standard Tabs) and the interface will show the appropriate options.
  • The Content Boxes (Widgets) styling options now allow for an icon to be shown in the header, without the need to provide custom HTML.
  • The Forum Specific style tools now use the updated gradient generator/guild storage image picker, so if you're using images you've uploaded through the file manager, you won't need to go back and forth, copying and pasting URLs. Many image fields throughout the Control Panel have been updated to use this tool.
  • You can now provide hover state images for the following forum icons: reply, quote, edit, and delete. In addition, pre-set forum icon themes are now importing all of the images they should. Check it out in the Control Panel, under Style Tools > Forum Icons.
  • The signature generator, available in Characters/Settings, has been cleaned up, had some effects and options added, and has been given some more images that you can import from the gallery. If you have any packs of thumbnail images or backgrounds that you'd like seen added for your game, please let us know!
  • The GPHelper add-on for World of Warcraft now imports bank items into more appropriate categories.

Posted 3/4/2010 11:39 AM by Aaron Lewis. 5597 reads. Share:

Custom Event Roles top the list of items included with tonight's code push.  Click the Edit button under your calendar and then click the "Custom Roles" link at the top of the editor window.  This allows you to add to the list of default event roles like DPS, tank, healer, etc.  In addition, you also have the option to completely replace the default roles and use only your custom-provided ones.  The check box for doing so is located in the same place.

Some bug fixes included in the update:
  • Clicking on Manage Guild Associations for a character will no longer result in a redirect to the GP home page.
  • A blank page will no longer show up when sending new mail from the inbox.
  • Adding a new custom event category, and then immediately adding a new event, will now show the newly-added category (previously, you had to close the window and re-open it).
  • There is now an option in the Control Panel, under Style Settings : Text, that makes it possible to specify the spacing between lines in posts, news, and other areas.
  • More font options have been added to the Control Panel, under Style Settings : Text.
  • Various widgets have had their output modified slightly to make them more uniform with the rest of your site.

Posted 3/3/2010 7:06 AM by Aaron Lewis. 111598 reads. Share:

Most of you know that since December of 2003, GuildPortal has been donating $1 from every guild web site subscription and subscription renewal to Food for the Hungry, a non-profit organization dedicated to providing relief services to the poor, including emergency assistance and educational programs that provide impoverished communities the knowledge they need to better sustain themselves.

Right now, the 40th Annual Hunger Fund is multiplying donations 53 times.  That means for every dollar, $53 in actual aid is shipped for suffering children and their families in Haiti and 13 other countries facing widespread disease and hunger. 

We wanted to bring this to your attention so that you can participate in helping the Hunger Fund save lives even more dramatically, $1 at a time, via your direct donations, if you so choose.  For more information, please visit The Hunger Fund.

A bit of legalese: GuildPortal is in no way being compensated for linking to The Hunger Fund or Food for the Hungry.

Posted 3/2/2010 2:04 PM by Aaron Lewis. 9384 reads. Share:

First, thanks to everyone for your patience during the recent updates.  They were by far, the most extensive and complicated set of changes to the infrastructure during all of GuildPortal's time online.  We apologize for the constant revisions we needed to make to the estimates.

Now, back to normal!  Tonight's code push includes a fix for the news item viewer's commenting functionality (when opened from the small news widget).

Posted 10/8/2009 4:54 PM by Aaron Lewis. 12005 reads. Share:

Lots of stuff included with the code push tonight.  Mostly maintenance:
  • Tooltips added to a bunch of places where they were missing.
  • A javascript bug that was causing tooltips to not show up intermittently has been fixed.
  • A bug that prevented Aion auto-roster integration from working when the guild had under 13 members was fixed.  Pure gremlin stuff, that was.
  • A link to "your blog" has been added to the recent blogs content type.
  • When a page background image was set to centered, the image previously centered itself relative to the browser window, vertically as well as horizontally.  It's not what most people would expect (because it just wasn't right), so it now centers the background image horizontally only.
  • Hovering over game news items now produces a tooltip preview of the contents.
  • The content editor window has been made bigger across the board, thanks to an all-natural, window-enhancing supplement.
  • A new video that explains how to embed tooltips to items, quests, npcs, etc. for many games has been published.

Posted 4/25/2008 12:06 PM by Aaron Lewis. 93199 reads. Share:

It was only 10 months ago that we moved to the .NET 2.0 framework, and this week we're going to be moving up to .NET 3.5.  Aside from productivity improvements that come along with the new features of the latest IDE (Visual Studio 2008), there are a number of enhancements to the underlying framework, as well. AJAX built-in, LINQ, intellisense for JavaScript, etc.  The LINQ and intellisense parts will be helpful in more quickly getting features and bug fixes out onto the production environment.

AJAX and some of the new controls, combined with our recent upgrade of the Q1 2008 Prometheus suite of controls for .NET 3.5, will make it possible to bring more "compelling" user experiences to both the Control Panel (IMO fairly dated and more difficult to use as the features kept getting piled on) and individual content types on the guild pages.  I put the word compelling in quotes because, while marketing people always use that term when describing the user interfaces you'll be able to whip up with their latest tool, I never quite understood its placement.  What, after all, does a treeview compel a person to do?  That is, other than click the nodes on it. 

Beats me!

Anyway, this transition should be a bit smoother than the last one, since we'll be pulling the web servers out of the load balancer one at a time, upgrading to the 3.5 framework, and then pushing the migrated code to the servers.  Once there, we'll do full regression testing on each server to make sure everything's working as expected.  After that, we put the server back into the load balance mix and move to the next.

I think we'll be moving away from the "Service News" type of thing and focus more on keeping the new Change Log current.  Writing news about enhancements to the site is normally done after the fact, and some things that have been done are inevitably left out.  By going the route of the change log, we'll be keeping you up to date on changes as, or before, they're being worked on.  There might be some kind of summarized grouping by time, or by release version, but really, what does the version number mean to anybody anyway?  For us, it's helpful with our source control system, but for end-users, it's odd.  It's like in WoW, you'll hear "oh, that's been that way since v2.4.1041blahblahblah."  What's wrong with, "oh, that's been that way since December?"

I guess the geeks (not excluding myself -- my son will testify to my lack of "coolness") are still allowed to name things!

Speaking of coolness, I'm writing this blog entry using Windows Live Writer.  I was working on the API's to make it possible for people to post to their GuildPortal blogs with richer tools like WLW and others when I realized how long it's been since I updated mine.  It's neat -- you can save a draft locally and publish it to your GP-hosted blog only when you're completely done with it.  Even if you're offline.  The code that GuildPortal needs to make it function with WLW will be going live along with the framework upgrade, sometime over the next week (we're still ironing out the best time based upon bandwidth usage and the availability of caffeine if it ends up being like, really really late).

Makes me wonder about the possibility making other parts of GuildPortal able to disconnect and let you browse forums, post replies, send web-based mail, etc., and then upload what you've done the next time you're connected.  We had an offline forum viewer for a while back in the days of .NET 1.0, but it was a serious dog (the networking code wasn't all there and, honestly, XML containing all the information is too verbose -- we'll probably look at JSON or something more lightweight).

We have been extremely cautious in our moves to new versions of our development tools, servers, frameworks, and just about everything else.  We'd rather put off throwing shinies out there for a bit, if it's a trade-off between that or performance/reliability.  The new version of the framework is very stable, full of goodies, and ready to go. 

It'll also help us justify the ungodly amount Microsoft is charging for licensing! 

We're looking forward to supporting Age of Conan, Warhammer Online, and other hotly-anticipated titles (I only remember those two right at this moment because I'm going nuts waiting for them), enhancing support for games that have been around since the start, and yes, introducing a shiny or two.

As always, thank you for choosing GuildPortal as your guild's home on the web! 

Posted 6/26/2007 7:13 PM by Aaron Lewis. 90012 reads. Share:

To more fully explain exactly what we've been up to around here, I'm going to add a blog entry along with the accompanying news item

For starters, we've migrated to the latest version of the .NET framework.  For those of you in the field, we're not running "Orcas" or anything in beta.  We'll leave the testing of production applications on beta frameworks up to the Fortune 500-type companies.  For the end user, this doesn't mean a whole lot at first, but it does open up the GuildPortal platform to move in some pretty compelling directions.

For starters, the whole "Ajax" thing that's been circulating the web, annoying anybody with a low tolerance for the latest thing that some of the most ADHD people in the world latch on to (I'm talking about us programmers here), is now something we'll be able to integrate into the application. 

Now, before anybody gets dizzy or starts to feel their lunch coming up, we're not going to toss everything out and start from scratch with a ton of useless Ajax-for-Ajax's sake widgets. 

As an example of a (hopefully) not pointless implementation of Ajax into GuildPortal, you can see a bit of it at work with the image gallery control on your pages.  Of course, if you don't like the scrolling, you (guild admins) can shut it off by hitting the Edit icon and then clicking display options.  We'll try to provide as much user choice in any Ajax-y enhancements moving forward.

Next, security has of course been a continuing area of focus, eating up a lot of development time.  Of course, I can't disclose too much about the specifics, but I can tell you that the vast majority of the attacks we had a while ago took advantage of a misconfiguration (our bad) that has since been all sealed up into a little plastic tube and had the oxygen sucked out until it died.  

In completely unrelated -- heavy sarcasm -- news, several well-known hotbeds of hacker activity in certain Chinese provinces have been blocked from accessing the site for a bit, until their ISPs decide to cooperate a little bit in getting these people shut down.

A revamping of the style controls is coming up, with a whole lot more control over individual elements of your site, without the need to resort to doing up your own custom style sheet.  Of course, those of you who like that kind of thing (a lot of you are on the spotlights page!), will still be able to do so, and we'll be adding a few more classes that will give you an even finer level of control over the appearance of your site.

The Control Panel as a whole will be seeing some updates, with changes made to the applications system, content editing, and a few other odds and ends.  The effort will be to provide a more consistent user interface.

As always, thank you for choosing GuildPortal as your guild's home on the web!

Posted 7/23/2005 4:21 AM by Aaron Lewis. 136277 reads. Share:

We've recently finished our latest hardware upgrade -- this one affecting every bit of hardware we've got running over at RackSpace's data centers in Texas.  New database server (monster thing), web, and firewall upgrades are done and the migration of code and data took a total of about 6 hours.  The DNS stuff took a bit longer for those living in parts of the net where updating of name servers takes longer than others, but overall it was a smooth move to the new boxes and data center.

We can't express how grateful we are to the members of GuildPortal who are spreading the word in their games, directly leading to more people signing their guilds up for hosting here.  This is especially important to us in the new games that come out, when they pull in people who have played no previous MMOG and hence, have not heard of us.  World of Warcraft is a prime example of this.

That said, though the traffic is increasing, it's not necessarily leading to a proportionate increase in the subscribers compared to the sites being used.  In essence, our costs rose dramatically with the upgrades (check out RackSpace's prices for an idea -- they're one of the best, but their pricing reflects it), but our ability to cover the costs hasn't necessarily risen in proportion. 

That's OK!  As long as the service pays for itself (and for food, etc.), it's all good!

But now a shadow looms on the horizon.  Our old friend Sharbel at GuildWizard needed more time to focus on other business, and sold GuildWizard to IGE.  Well, actually, he sold it to OGaming, which is owned by IGE (info: 1, 2, 3).

Typically, when you have a new product (it's not new, but its ownership is), you have a couple options when you want to generate some traffic in an already-saturated marketplace.  1)  You make it SO good that nothing else compares or 2) You offer it for free for a limited period of time.  With IGE/GuildWizard, it looks like they've gone the route of #2.  It's clearly a market share grab, and while it might sound a bit repugnant to some, it's standard fare and commonly practiced.

Now, what's scary?  The best product doesn't always necessarily win.  If you have a major financial backer (like IGE), you can hire a huge staff of programmers and throw them at it.  The product itself doesn't have to be good enough, initially, to pay for its own development, because your other product lines (selling in-game items, currency, and accounts in IGE's case) can cover the costs for as long as necessary.  Offer it for free, and you're a double threat.

Add to that the other heavily-trafficked sites owned, such as OGaming.  Leverage the traffic there (by means of ad banners directing people to the GuildWizard service), and now you're getting people who've never heard of your competitor (GuildPortal).  If they're not the comparison shopper types, they may never hear of or visit any other product.  Grab a big enough market share, and you may never actually need to improve the product at all.  One day, turn off the free offering, start collecting the data that guild owners are entering (like quest or item information, including drop locations and frequency), and you've got a guild hosting product that will not only stand on its own as a revenue generator, but it could also act as a data source for your game information/news sites (OGaming), and as a pretty decent reference when your staff of item/currency farmers (IGE staff) are looking for good spots in the games to monopolize spawns in order to sell items for real cash.

It all sounds a bit like conspiracy theory, and maybe it us.  But it also sounds like good business, if "good" means "revenue generating" and nothing else.

Why is it scary to GuildPortal?  Well, if they've got unlimited resources to throw at grabbing market share, then we may have something to worry about.  As I said before, the new upgrades to the service are extremely costly, and we don't have other marketing channels that can fund GP -- it's been self-funding since the day it went live.  It had to pay its own bills, and it had to do so by being a good product.  MMOG players are some of the most technical, skilled, and demanding customers I could ever imagine.  They've led us to creating a product that meets their needs, and we're grateful beyond words for that.  Hopefully -- in this case and in spite of a plethora of examples to the contrary in every market -- the best product will win.

Anyway, this isn't a press release or official statement from GuildPortal.com or Axiom Shift, LLC.  It's just my blog.