GuildPortal Dev Blog

Updates from Aaron Lewis, GuildPortal Code Monkey

Posted 10/27/2012 4:38 PM by Aaron Lewis. 1640199 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:


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.


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/24/2012 6:49 PM by Aaron Lewis. 574748 reads. Share:

There are a couple releases rolled up in this:
  • Those who have topic update notifications sent to their mobile devices (via SMS) will now be able to click a link that will take them directly to the topic on the mobile version of their site (site.url/m).
  • Clicking on profile links now displays a context menu that provides the following options: Member Detail (displays the window that used to be the only option when clicking a profile link), Private Chat (if they're online), Visit Site (their personal site), Visit Wall, Send Mail and, if you're a roster admin of the guild, a link that will open up the member editor.
  • The voice server status widget now displays detail for both Ventrilo and Mumble servers. Previously, only Ventrilo server detail was available.
  • The Global Guild Bar can now have the foreground text of the main bar customized.
  • The Star Wars: The Old Republic server status widget was hanging when the SWTOR servers were slow to respond, so the duration the data is cached has been increased.
  • The Who's Online widget will now auto-update its list as members log in and time out.
  • Links to support videos in the Control Panel Dashboard have been fixed.
  • New CSS classes have been added for the Shouts widget for those who want to modify the appearance of it at a more detailed level. They are gp-shout, gp-shout-source, gp-shout-body and gp-shout-ally-link. They, along with full descriptions of where they appear and what they contain, are documented in the GuildPortal CSS class listing (available from many of the Custom editor sections of the Control Panel).
  • The Forums widget would stretch out beyond the boundaries of the page width style settings if any of the forums had a lot of sub-forums. This only happened in IE, but it's fixed anyhow.
  • The One-on-One Chat area that displays incoming chat was not scrolling far enough down when new items came in. This has been fixed, along with an overhaul of the One-on-One Chat UI.
  • The member editor grid in the Control Panel now offers the option to export to Excel, PDF, Word or CSV.
  • The member editor grid has also been enhanced with an easy-to-use filtering control that lets you build complex queries against your member listing. For example, you could easily build a query to return all members with an access level less than officer that haven't logged on for over a year.
  • The queries involved in reading posts in a topic have been optimized quite a bit, so your forums are a bit quicker.
  • The border color of Guild Global Bar sub-menus can now be customized.
  • The size of the content zones (left, center and right) on any guild page can now be dynamically resized by simply clicking and dragging when you are logged in with Designer rights. You don't even need to enter page edit mode.
  • When updating to the latest version of a widget-type mod, your settings for which page it appears on, the title, and the order were all wiped out. This no longer happens.

Posted 6/22/2012 1:38 PM by Aaron Lewis. 39606 reads. Share:

Today's update includes stuff and things! Namely:
  • Added the ability for forum moderators to merge topics.
  • A new right that you can grant members, called "Designer." Those granted this access will see a link to "Site Design" on guild pages, and when they click it, they will be taken to the Control Panel, but with only the design-related areas accessible.
  • Added ability to move images between galleries in the editor UI by dragging and dropping them from one gallery to another.
  • Fixed broken one-on-one chat.
  • Fixed icons in the WYSIWYG editor.
  • Fixed the "View" link in the gallery editor.
  • Fixed the Forum Moderator selection UI.
  • Fixed forums mass move functionality.
  • Fixed link to blog when viewing the pop-up profile for a member.
  • Fixed the gradient builder not saving widget header gradients.
  • Made the gradient builder open in a larger window, so IE users could see everything.
  • Updated GuildPortal to the latest non-beta .NET framework, including an update to our tools which should result in improved productivity. :)
  • Removed the forced delay that made you wait 10 seconds before going back to edit a post you just made.
  • Fixed the "No Signature" check box not working when adding a new topic.

Posted 4/7/2012 4:15 PM by Aaron Lewis. 26412 reads. Share:

GuildPortal has just been dramatically improved when it comes to using custom HTML + CSS. First, we've added a "Navigation" selection in the Control Panel (under Custom HTML). Clicking that takes you to three editors. You can modify the code that is output before navigation items (pages on your site), the code that is output for navigation items, and the code that is output after navigation items.

Once you specify the code, you can then use the Full Page custom HTML editor's new tag, $block[nav=html], and your pages will be rendered as the page loads, using your mark-up.

Also, three more tags have been added to the Full Page HTML: leftwidgets, centerwidgets, and rightwidgets. You no longer have to stick with designs that render the main widget body in a tabular format, and can control exactly where your widgets appear.

A new option has been added that prevents GuildPortal from rendering any style information based on your point-and-click settings in the Style Tools area of the Control Panel. This makes it so the only style info comes from your custom CSS, without any interference from GP, except for a few helper rules for margins and the like. You can enable this option in the Control Panel by expanding Custom HTML, selecting Custom CSS, selecting the Full Custom CSS tab, and checking the box at the bottom that says "Disable all GuildPortal CSS Output".

Finally, editors for all of the custom HTML, custom CSS and custom Javascript selections in the Control Panel have been enhanced with the CodeMirror editor, which provides syntax hilighting and automatic tag completion.

These enhancements, in combination with the already existing Banner, Footer, Widgets, and Full Page custom HTML and Custom CSS, provide complete control over how your site looks. Now you can bring your favorite templates from anywhere -- and there are a lot of free template sites out there. Oh, hey, and if you find any really great ones and port them to your GuildPortal site, share them, it's easy! Just open the Control Panel, expand Style Tools, and then click Share Theme.

Here's a snap of a theme developed using custom HTML and CSS from a freely-available one meant for a completely different system:

Posted 12/23/2010 1:30 PM by Aaron Lewis. 140434 reads. Share:

Guilds using side-nav for listing pages (instead of tabs) now have their login form inside the side-nav widget. Before, it would show a login bar across the top of your guild page for users who were not logged in, and often interfered with the design of sites where precise positioning of elements was important.

The WoW roster that integrates directly with Battle.Net has been fixed so that clicking on a character's name will correctly take them to the EU Battle.Net site if appropriate. Also, while not important to existing guilds, the site will now attempt to automatically configure Battle.Net integration for new WoW guild sites when they are created.

Finally, along with other support ticket fixes, application auto-posting to forums is now working correctly again.

Posted 12/16/2009 4:02 PM by Aaron Lewis. 11783 reads. Share:

We're pleased to present you with a new calendar front-end and new custom event categories! Here's what the new calendar offers:
  • Ability to switch between Month, weekly agenda, and daily agenda views.
  • In month view, ability for events admins to drag and drop events to a different day.
  • In weekly and daily agenda views, the ability for events admins to move events to a different day, as well as change the start and end times by dragging to an earlier time slow (to affect the start time) or resizing by using the drag handle under the event to modify the duration of the event.
  • Lots of options!  Highly customizable for non-technical admins via the new Display Options link (click the Edit button under your calendar, it'll appear along the top).
  • Many new CSS classes that give even more control over the appearance of the calendar to the more design-oriented, technical types.
In addition to the new front-end, you now have the ability to define custom event categories.  Click on the Edit button under your calendar and then click the Event Categories link along the top.  Once you have one or more categories set up, you can assign them to events when you're adding/editing them. For each category, you can define the following: 
  • The name of the category (appears in the drop-down list when assigning it to events). 
  • The background color of the event when rendered in the calendar. 
  • The foreground (text) color of the event when rendered in the calendar. 
  • The border color of the event when rendered in the calendar.
  • An optional URL to an icon that will be displayed after the time of the event and before the title of the event (keep in mind this icon will be squeezed down a bit, if necessary, for the calendar to appear correctly).

Posted 10/21/2009 2:37 PM by Aaron Lewis. 133801 reads. Share:

Quite a lot going out with tonight's code push:
  • Cookies!  We're not sharing them, though.  You can have the rest of the stuff on the list.  They're soft and gooey, by the way.
  • Sent items will correctly display read/unread status moving forward.
  • The topic tools drop-down menu will now work correctly for all items.
  • The WYSIWYG editor will no longer strip out script tags when moving between Design and HTML modes.  Keep in mind that it will strip out script tags if you are not editing an administrative-level item, such as a welcome message or Freeform Custom HTML box.
  • Forum searching will no longer only search the first forum in the drop-down list.  In fact, the drop down list has been tossed into the back of a van and... well... we probably won't hear from it again.  By default, forum searches now cover all forums the user doing the searching has access to.
  • The web-based mail center has had the UI updated some.
  • Problematic text in the descriptions of members contained in the GPHelper LUA file should now .. not be problematic.

Posted 9/15/2008 10:13 AM by Aaron Lewis. 11631 reads. Share:

Dear Game Company,

Thanks for the great game!  As you know from your numbers, people are, in great numbers, choosing interactive, virtual worlds like yours over static forms of entertainment like television.  As you also know, as the customer's computing power increases, so will your budgets for creating even more compelling, interactive, immersive and content-rich worlds to pull them (and their friends!) even more deeply in.

This is a good thing.  As is plastered all over research sites like this one (though it's not the only one; a person only need Google to find a plethora of research on the topic), the brain may actually be more active while sleeping than while watching TV.

However, there's a problem.  Your game runs on an operating system (or systems, huzzah Blizzard!) that is also used to download keyloggers, which, in turn, can send a player's login name and password to a database on the other side of the globe, which can then be used to login to the game in order to steal the player's virtual currency, items, and above all else -- the time spent working for it.

Now, keyloggers such as these do not appear on CNN or MSNBC.  They show up in "comments" areas of sites that provide anybody the ability to post their opinion on a quest, item, or something else pertaining to your game. 

Some sites take action to prevent this kind of thing (like GP does, after having been burned once a couple years ago), but as everybody knows, your general channels in-game are filled with people asking questions and being answered with "look it up at ..." followed by the latest info site.  These sites are popping up all the time. 

Some of them, if you take a look at the juggernaut of RMT (real money transactions for virtual items/characters/etc., which is against the EULA in the vast majority of games), IGE and their Zam/Wowhead/who-knows-who-else networks, are merely different skins wrapped around the same core engine. 

Some however, are start-up sites with little to no experience in the security realm, using open-source or other software with frequently exploited vulnerabilities, unable to protect their users.

Which of those two is a bigger threat is up for debate.  Some of them might even be in place solely to gather game logins and passwords, even though the percentage of people using the same login and password on a web site that they do to login to their game may be quite small (as was the case for a specific forum site that was just for players on a single server in a single game).

By the way: if you're one of the game companies that has your users login to your official web site using the same credentials they use to login to the game with, you might be contributing to the problem.  Just an FYI!

Now, let's consider possible reasons why people go to these 3rd-party database sites:

  • The official game web site you provide does not have the data they're looking for.
  • The official game web site is too hard to use.
  • The official game web site is too slow.

Any one -- or a combination of -- the above would be enough to provide a niche market for these sites to exist. 

Remedies include:

Providing data on items, quests, etc.  Open it up!  Either you will provide the data, or someone else will.  If you don't want to write an interface for all this, that's fine; provide it via an API and license sites you approve to use it.  Require that they only send a certain number of requests to your servers over a given time period, so that you don't get hammered, and the licensed sites will then only need to build a responsible request/caching system.  The licensing is there to ensure that sites you don't approve of, such as RMT sites, don't have the data.

The licensing is particularly important.  Demand full disclosure of company ownership, including parent companies, and parents of parent companies, until you know who's really running things, at the highest level, for your licensees.

The other two bullet points are purely design/scalability issues, to be addressed by your own web team.  The best search sites are Google-like in simplicity and minimal overhead.  AJAX is great, but if 1MB of slow javascript is in the header of every page, maybe a different approach is in order.

If the data comes from you, then third-party sites can only provide value-added features or integration with what they provide, that you do not.  Using GuildPortal as an example, the biggest overhead outside of the hardware and people required to make it run, is the amount of support required for a relatively complex web application with lots of customizable options.  Add on top of that the expectation that more features be added and the interfaces both for the administrators (guild/clan leaders) and members be updated to Web #.# standards as they emerge, and the additional support incurred by doing that, and you have something that goes well beyond the scope of what a gaming company's web presence department would want to -- or should have to -- support.  After all, do you make a game and have a web site that provides info/support for it, or are you in the business of making games and also in the business of hosting web sites?

Our members are constantly asking us to integrate with 3rd-party sites to provide game-specific data.  Usually, we can't, because we have a policy against any kind of integration or partnership with sites that are owned by or even advertise for (even through multiple levels of parent companies) RMT companies, since the very existence of their business is unethical -- they sell products and services that require the customer to break an agreement they've made, every time they login to the game.

So then, providing the data you have openly (with the only option being users needing to go elsewhere for it), with an API for sites you license (can we be one, pretty please?) to provide value-added content/functionality (again, using GP as an example, having an active guild web site that people can visit outside of the game does keep them engaged in the people they play with and the game they play), is the best option.

Mythic did it for Dark Age of Camelot, Blizzard did it for World of Warcraft, and Mythic is at it again with Warhammer Online.

Maybe they're on to something!