GuildPortal Dev Blog

Updates from Aaron Lewis, GuildPortal Code Monkey

Posted 10/10/2012 9:59 AM by Aaron Lewis. 723479 reads. Share:

Many enhancements have been incrementally rolled out since the last release announcement. I'll summarize what's been going on, minus a lot of the minor bug fixes:
  • New Feature Promotion Letters. Whenever a member is promoted to a higher level, you can replace the default system-sent mail with your own custom one, and you can have a unique letter for every level. For example, you can have a different letter sent when someone is promoted to member versus when someone is promoted to officer or council. Get started with promotion letters in Control Panel General Promotion letters or Guild Bar Admin Member Management Promotion Letters.
  • Enhancement New World of Warcraft roster with in-game WoW Guild Achievements. Configuration-free, fast sorting and filtering, more frequently updated, real thumbnails of your characters.. Stay tuned, more new stuff for WoW is on the way.
  • Enhancement WYSIWYG editor file selection/uploading. The editor tool for selecting an image has been revamped to function much like the file manager in the Control Panel. However, you now have additional buttons: one to add media (sound, video, etc) and another to add Flash content. All three tools allow for direct upload while editing your content.
  • New Feature User uploads from WYSIWYG Editor. Previously, there was no way for members to upload images or any other media for use in their forum posts. Now, they have access to the three tools mentioned above, but all of their uploads are stored in a special sub-directory off the guild root with the format /MemberUploads/memberid. That is their root directory, and they can create sub-directories, drag-and-drop copy files, and directly edit images (add text, skew, rotate, crop, etc). They cannot, however, see the guild root folder or navigate to the root of other guild member folders.
  • Enhancement Page Footer. The old page footer had a pretty low limit on the number of characters it allowed. This limitation has been eased up, and you may now also specify a background gradient fade and the top edge color and size for the footer area. If you want a solid color instead of a gradient, just select the same color for both the start and end colors. Control Panel Style Tools Page Footer or Guild Bar Admin Site Customization Footer.
  • Css For those who use custom CSS, the class for the new footer area is gp5-footer.
  • Enhancement 8 new GuildWars 2 themes have been added.
  • Maint Some of you may have noticed the new error reporting form you are taken to when you encounter a run-time error. Many of you who have, have filled out the "what were you doing when the error happened" field, and I just wanted to drop a quick "thank ya" for doing so. The details you provide, along with the actual error details, are both put together to automatically create a new support ticket, which is assigned directly to -- waaaaaaaait for it -- development. Anyway, it makes getting to the cause of a problem much easier and has resulted in many hotfixes over the past month! Oh, and to the individual who typed in "I was sleeping".. lol
Finally, a bunch of bugs were fixed.

Posted 9/4/2012 12:02 PM by Aaron Lewis. 312329 reads. Share:

Hey all! Please, feel free to rate the dev blog service updates (using the star rating thing), and leave comments! Let me know what you liked about any update, what you didn't like, what you'd like to see more of, and all that good stuff. So far, most of our feedback comes from admins who post in the Help Community, and while they provide many of the feature suggestions that are pushed out every week, they represent .78% of all active guild leaders -- and .13% of all recently active members -- on GuildPortal.

Now, I'd love to get more guild leaders (and even their members -- we know they have ideas, too) into the Help Community, but if you don't want to join that, feel free to leave any comments on any release here on the blog at the bottom of any post, and I will read them

I know a lot of people might not expect much along the lines of responsiveness from SaaS (software as a service) providers when it comes to listening to their ideas. Even fewer people expect to actually see their feature requests implemented any time in the foreseeable future. It's totally understandable, and I empathize.

For example, I've had ideas for things I'd love to see added to Facebook, Hotmail, GitHub, and many other SaaS providers. But I didn't send them in because either 1) they didn't even bother putting up a form or forum where I could submit my request, or 2) I had absolutely zero faith that any human being that was capable of making the decision to implement my idea would ever actually see it.

Now, the guild leaders who know this isn't the case with GuildPortal are the ones who frequent the Help Community. They make feature requests all the time. Here is how we break down feature requests, and how long it usually takes before each category of request is live on production (keep in mind that providing support for existing functionality takes up the bulk of our time, and that maintenance, upgrades, tuning, and refactoring must also be constantly done to keep GuildPortal speedy and clean):

 Who Benefits from Feature Complexity ETA (Cycles) 
 Many Guild Leaders Low  1-2
  Medium  2-4 
  High 4-8+ 
 A Few Guild Leaders Low  2-4 
  Medium 4+
  High 8+
 Many Guild Leaders, Many Guild Members Low 
  Medium  1-4 
  High  4+ 
 Many Guild Members Low  1-2 
  Medium  2-4 
  High 4-8+ 
 Few Guild Members Low 1-4
  Medium 4+
  High 8+ 

Behind the scenes, our "cycles" are milestones. Every week has its own release milestone. But sometimes single features -- or a combination of related features -- will have their own milestone and branch of the code, so that it can be worked on without its changes (especially if there are a lot of core, architectural changes) interfering with the regular support/feature update milestone code bases. This is a fairly recent addition to our toolset, and it makes the entire development and release process -- including adding new features -- much easier to manage.

Every feature request that is made is reviewed by both Sandy and I, whether it comes in via a post on the Help Community, in a Support Ticket, or a comment on the Dev Blog. It is then entered into our issue tracking system, which is a ticket system developed in-house that integrated with GitHub, where bugs, feature requests, and a lot of other things are stored in a way that allows us to link fixes and enhancements to the actual lines of code that were affected.

Feature requests with no ETA are internally assigned to a milestone specifically for those types of feature requests, and it is regularly reviewed to see if anything in there can be squeezed into the next actual release milestone. Not all feature requests are implemented. For each of them, we need to balance the benefit versus the impact to GuildPortal overall. Also, we have to consider the amount of time each request would take to develop.

But no feature request is ever deleted or ignored.So please, for the many guild leaders out there who haven't asked for anything because you don't think anybody's listening, please, talk to us. We're not Microsoft -- we're entirely family-run by a married couple with a dog who forces us to go outside every couple hours to throw the ball for her. We do listen. Most of the features you see us adding to the service, week after week, are the direct result of a guild leader asking for it either on the Help Community forums or by sending in a support ticket. I'd like to see that extended to commenting on development blog service updates, as well.

Posted 8/31/2012 2:15 PM by Aaron Lewis. 304999 reads. Share:

The following went down during this release cycle (some of the more urgent items were deployed as hotfixes):
  • Enhancement You can now customize the names of the access levels (Public, Associate, Member, Council, Officer, SuperAdmin). They appear in the forums and other places. From any guild page, click the Admin item on the Guild Bar, hover over Member Management, and then select Custom Level Names. You can also get there from Member Management in the Control Panel.
  • Enhancement The paging while reading posts has been enhanced a little.
  • Css A div has been added that wraps around quotes (previously, the quote titles and bodies were all on their own). The class name is quoteWrapper.
  • Css Widget and forum category headers now stretch their background images vertically to match the height of the container. This was done to remove the need to regenerate your images/gradients whenever you changed the font size or the padding.
  • Css The ForumCategoryHeader class had rules with !important in them, making it difficult for those who dig into CSS to customize it. The !important directives have been removed.
  • Bug When mod authors update their mods, the "details" will now save properly.
  • Bug The edit dialog for voice server status widgets has been set back to the correct one.
  • Bug For IE users, the voting poll results were sometimes not displaying. Fixed.
  • Enhancement Auto-suggest has been added to the public GuildPortal page search (along the top). It'll make it easier for people to find your guild more quickly -- it displays things like your game, server, and even more detail if they hover over / select it via arrow keys.
  • Enhancement Tooltips from GuildHead have been incorporated and will now automatically work on any GuildWars2 site.
  • Bug The new, less-intrusive widget admin "thingy" (technical term) was sometimes making IE go into convulsive fits, playing with its mind, attempting to get it to give up the location of the rebel bases. I told it that IE does not know the location of the rebel bases, so now it's all better.
  • Enhancement Member admin tools have been added to the Guild Bar.
  • Enhancement The shout box was displaying uglier than a dirty monkey at a fancy dinner party. Well, I've never been to a fancy dinner party, but I imagine a dirty monkey would look pretty ugly at one. Anyway, it's been cleaned up (pretty much to spec with what Pinstripesc suggested). Thanks!
  • Bug The ability to disable paging, and to select page size when it's enabled, has been restored to the admin member editor grid. Now if too many of you guilds with over 1000 members disable paging and refresh the grid a whole bunch, I'm going to know about it and I'm going to do something really mean. I'm not sure what  yet, but you're not going to like it one bit!
  • Maint Some enhanced debugging tools have been added, so it'll make problem resolution faster and all that.
Thanks for choosing GuildPortal! We am u!

Posted 8/28/2012 5:44 PM by Aaron Lewis. 282003 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 12/9/2011 7:10 AM by Aaron Lewis. 18981 reads. Share:

  • Widgets sometimes only adding to the home page (regardless of what page you select) has been fixed.
  • Newest Members widget displaying incorrect data has been fixed.
  • You can now specify a custom favicon (the icon that appears in the browser when people are visiting your site) to be used instead of the default GuildPortal ones. The place to specify the icon to use is in Control Panel > Style Tools > General > Layout.
  • Story chapters will now display in order of chapter number instead of the order in which they were entered.
  • New widget: Torhead Search goes live! For those using the Mod, you no longer need to (but you still can).
  • In the forum display options, you may now specify that the most recent posts to show should be 0. If you do, the most recent posts will not be displayed at all. Some may find this useful, especially if used in combination with the Most Recent Topics widget.
  • Bank items with "Display to Members" un-checked no longer show in the bank widget.
  • Guilds with subscriptions expiring soon will now receive a more informative e-mail reminder.
  • Guild Events/Raids can now be set to "Block Signups" when entering them. Doing so prevents members from signing up to the event.
  • Application Questions may now be edited, although once the type is saved (multiple choice vs. text entry), that cannot be changed.
  • The maximum number of Recent Posts to Show in the forums has been raised from 20 to 50.
  • The signature generator should now always update your profile with the new image.
  • A new page in the Control Panel, called Raid Points Tools (under Member Management), provides quick and easy ways to mass adjust everyone's raid points/DKP by a set amount (either deducting or adding), reset everyone's DKP to 0, and individually edit member DKP without having to enter an adjustment.
  • ATT/AP were dropped from the Raid Points Standings widget. The data was essentially meaningless, and became only moreso over time.

Posted 10/7/2011 1:45 PM by Aaron Lewis. 16886 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 8/5/2011 10:20 AM by Aaron Lewis. 13994 reads. Share:

* Updating attendance/awarding DKP will now immediately update the totals on the Raid Point Standings widget, instead of showing cached data.
* The Silverlight gallery has been replaced with an entirely javascript gallery that has similar functionality, but does not require a plug-in.
* Animated GIF thumbnail images uploaded in your Profile settings will no longer be converted to PNGs (ripping out the animation in the process).
* Files with multiple periods in the name will now upload without error.
* Setting the URL for your banner in the General Style Settings will now save correctly.
* Saving your profile settings after canceling out of uploading a new thumbnail will no longer error out.
* The "Select from guild files" globe icon on image selectors in the control panel now works correctly with Firefox 5.

Posted 6/1/2011 12:54 PM by Aaron Lewis. 17699 reads. Share:

  • New: "Newest Members" widget now available. By default this is included below the forums on new guild sites.
  • New: "LOTRO Server Status" widget now available for Lord of the Rings Online guilds.
  • New: Fade animation for background color of grids with alternating colors for odd and even rows. Can be disabled in Control Panel > Style Tools > Content Boxes > Grids.
  • New: It is now possible to add a comment when adding a transaction using the guild funds widget (previously, you had to edit the transaction after creating it).
  • New: Setting the margins at the top and bottom of your banner image is now possible in Control Panel > Style Tools > General > Banner.
  • Updated: "Latest addition" column in the guild bank widget made wider.
  • Updated: Signups table in event view of the calendar now shown with slightly smaller text.
  • Updated: "Edit/Delete" link added to the beginning of each transaction in the guild funds widget.
  • Fixed: When importing drop from a list of previous drops for an event, the description was not being brought over.
  • Fixed: WoW Integrated Rosters were unable to parse for EU guilds.
  • Fixed: Add New Forum window in the forum editor was appearing above the top of the editor in FireFox.
  • Fixed: When posting, the option to subscribe to replies was being ignored.

Posted 11/9/2010 10:30 AM by Aaron Lewis. 14194 reads. Share:

Forums can now have their own icons, in addition to the ones indicating read/unread status. For example, if you have a "Rogue" class forum and a "Paladin" class forum, the rogue forum could have a dagger icon, and the paladin forum could have a tombstone (sorry -- EQ1 joke!). In order to use this, click Edit under your forums, then edit under individual forums. The form that pops up has a new field for setting the icon.

Also, profile links (the links that appear when you see a user's name) now show online/offline indicator images. The images are customizable, and may also be disabled completely. To set these options, go to Control Panel > Style Tools > General > User Links.

Posted 9/2/2010 9:07 AM by Aaron Lewis. 11181 reads. Share:

Guild admins now have the ability to enable RSS feeds for their guilds that will provide more than just public-level data. Whenever a member of a guild site clicks on any of the RSS links, they are presented with a list of available feeds. If guild admins have checked "Allow Authenticated RSS" in the Control Panel > General Settings > General, the links will contain a key specific to that user, so that when they paste the RSS link into their reader, they will be able to see information that they would be able to see when actually logged into the site.

The reason RSS links now display a page with available feeds instead of directly opening the feed is to prevent accidental copying and pasting of an entire page with the sensitive links in them. Also, when this functionality is enabled, users are warned to never share their specific key with anyone else. Admins who are concerned about this should simply not enable "Allow Authenticated RSS," and all RSS feeds will only display public-level data.

In addition to this new functionality, two new types of feeds have been added: Shouts and Upcoming Events.

Posted 4/9/2010 3:09 PM by Aaron Lewis. 7030 reads. Share:

The Login Bar can now be styled in in the Control Panel, under Style Stools -> General Style Settings -> Login Bar.  It's the area that lets your users log in or invites non-logged in visitors to join your site, and contains links to their blog, chat, mail, and settings.  Previously, it adopted style settings from your widget style.  It will continue to do so, however, if you do not give it a style of its own.

Also, three new videos have been added. One's about changing your site's name, game and/or server (game-wise), including re-generating a dynamic banner if you want to.  Another's on adding sound to your web pages.  The last covers creating a new Ventrilo voice server for your guild.  To see the videos, head to the GuildPortal home page, scroll to the bottom, and click the Videos link.

Posted 1/12/2010 7:33 AM by Aaron Lewis. 5900 reads. Share:

Links now show underlining by default, but it can be disabled in the Control Panel under Style Tools > General Style Settings > Text > Disable Link Underlining.

Tooltips have been removed from certain site elements where they were only serving to clutter, and where the purpose of the item they were "tipping" the function of was obvious.  For example, "Click to visit the Forums page" would previously appear over the tab for "Forums."

Member links -- instead of showing an ever-growing collection of icons before them for interacting with the member -- now simply display a link that opens a profile viewer.  From there, you can visit the member's blog, wall, send a message, and view other details.

Posted 11/24/2009 1:13 PM by Aaron Lewis. 10310 reads. Share:

Instant Messaging goes live with tonight's code push!  Wherever user links are seen (with the icons for sending a private message and viewing their blog), a new icon will appear for starting a chat session.  Especially useful when used in combination with the "Who's Online" widget, the Instant Messaging functionality is, of course, fully integrated with your site and requires no configuration on your part.  It requires no java or other plug-ins, and will not require any special firewall tweaks.

The chat icon is, of course, customizable to guild admin tastes in the Control Panel, under Style Tools, General Style Settings, under the "User Links" tab.

Posted 10/4/2009 10:05 AM by Aaron Lewis. 146800 reads. Share:

A small disclaimer: I'm speaking solely from the perspective of the early levels, with no knowledge of the end game content.  There are people, I hear, who have reached the latter levels of the game, but I'm nowhere near that. Now let me say, this game is amazing.  In my personal opinion, it is what every RPG MMO that has been released since WoW (and one released slightly before WoW) should have been.  No further details on that, since I'd have to list specific titles in doing any type of compare/contrast.

However, the biggest problem to me as a player is the inordinate amount of Kinah seller spam I see immediately upon logging into the game.  It's unbelievable.  The general channel, the LFG channel, and private whispers immediately fill up your screen with garbage ads, some of which lead to key logger sites.

I won't pretend to know how difficult (or trivial) it might be for the developers to implement an on-the-fly, configurable, timed-cache string pattern matching system to detect the spam -- perhaps based on the sites they're telling people to visit -- in order to auto-ban accounts (or at least mute for, say, an hour).  Instead, I'll just tell you what I did to cut down on the mass of garbage for myself.  Many will say you should just block the spammers individually, but that only works for about a day.  Next day you login, there will be a host of new spammer accounts at it, all over again.

  1. Open the Chat Preferences menu to the left of the chat window by clicking on the little sun-looking icon.
  2. Click Add Tab.
  3. Call it something like "No Spam" or whatever.  An options window for the new tab pops up, where you can check the channels you want visible in the new tab.
  4. Check the root Chat box.  Then check group, alliance, legion and alert.  Optionally, expand the Combat - Self node and select things like My Critical Hit and Critical Hit against.  Finally, check the root node for System Information.
  5. Click Change.
If the new chat tab isn't selected for you, hover over the chat area and select it (along the top). 

Three things to note: Under the root Chat tree, there is a Shout option.  I haven't seen the spammers use shout yet, but they might, and if they do you may want to disable it.  Also, they do use whisper, but not nearly as frequently as General and Trade.  But if you un-check whisper, you'll miss tells.  Finally, the "Find Group" channel is useful for group quests.  If you need to find a group, just pop into the "All" channel, do a /3 LFG [quest name/link/whatever], then pop back into the "No Spam" tab.  Odds are good you'll get picked up if others need to do the same quest.

I hope this helps!

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!