EverQuest II Guild Roster Manager for Dragonfly CMS
About RM4DF
Roster Master for Dragonfly (RM4DF) provides a method to integrate the
Sony EverQuest II Guild Roster into your Dragonfly CMS site. Fully
integrated into the site, you can manage and view your guild's data right
from your portal. A block is also provided that displays guild statistical
data similar to that found on the guild summary page on the EQ2Players.com website.
Roster Master for Dragonfly is part of the Roster Master Project, which is
composed of a family of ports of the original Roster Master module
originally written by Rex "SaintPeter" Schrader. Significant enhancements
and exclusive features have been made for the Dragonfly CMS version, as
well as to accomodate changes in Everquest II and the EQ2Players.com
site.
The Roster Master development
thread on EQ2Players.com is a highly active and community supported
discussion focusing on debugging and introducing new features and ideas
into the Roster Master project.
General Features:
Roster Master: Guild Roster Manager
Allow
your CMS users to "Claim" his or her characters
Character "Type" Tracking
Compliments and expands upon the "Guild Rank"
feature
Users may specify if their character is Primary,
Secondary, or Utility
Option to list Primary characters only
Guild Roster Single and Double Column Sorting
Sort by clicking on a column header, or select two
columns from a drop-down (i.e. Class, then Level)
Reversible Sorting for both sort modes
Optional column sort indicators displayed in table
headings
Optional Grouped Listing
Quest Master: Quest Tracker and Query (Dragonfly Port Exclusive!)
Track Heritage, Access, and Timeline Quest progress for
your claimed characters
Links quests and rewards to online walkthroughs and
data
Query quests to list characters at each quest step
Features an exclusive scrolling/resizable JavaScript
Table
The table can be resized by dragging the horizontal
rule between the bottom of the table and the table footer
up and down
Signature Master: Dynamic Signature Generator
(Dragonfly Port
Exclusive!)
Dynamically create graphical signature blocks
automatically from information stored in the roster
database
Features a unique caching system to reduce wasted
server resources and poor client performance issues
Automatic Instantiation (Dragonfly
Port Exclusive!)
Multiple instances of this module can be created by making a
copy of the module directory and adding an underscore followed by
an integer to the name of the directory (e.g. "Roster_Master_2").
The module will detect this and automagically configure
itself
Blocks follow the same pattern
Guild Wall of Fame Block (Dragonfly Port Exclusive!)
Display guild statistics and information in your
Dragonfly CMS blocks
Many display configuration options
Guild Summary Information (Dragonfly Port Exclusive!)
Guild Level displayed in Roster
Statistics and other information available in
block
SQL Backend Cache
Fast display since you don't have to hit Sony's site every
time
Configurable cache refresh time
Update Logging
Have a record of changes in all fields, every user add,
and every user deletion
Log data update failures and retries
Configurable, log as much or as little as you wish
Error Messages
Explanatory error messages for common failures
Clean exits
Fully Documented, Clean Code
All functions completely commented
Advanced users have access to more advanced options and
configuration within the code source
Open-source, released under the GNU General Public
License
Completely Dragonfly Compliant:
Roster Master has been ported to Dragonfly with an expanded
feature set
Easy to Setup and Install
FTP, configure, set permissions and go
No .sql file to import, just run the installer
Install, backup, uninstall, and upgrade right from the
Dragonfly control panel
CMS Username to Character Name Mapping
Includes Dragonfly's localization support (English and French
language files included)
Leverages the CMS' features and security
Availability
Roster Master for Dragonfly is available free of charge from the
Clenched Fist Guild download site, as well as from the Dragonfly CMS
community site:
Current released version is: Roster Master for Dragonfly 6.3.1
(2008-04-22)
Fixed horizontal avatar margins when LEFT alignment directive is
used. Bug reported and fixed by Seagoat.
Added "Optimize Tables" administrative command to delete all
widowed and orphaned claims all at once.
Added Rise of Kunark Raid Flagging Timeline to the Access Quest
Tracker.
Added link to cached signature image (when it is present in the
cache) to the Edit Character Claim page. This is to help people work
around URL filtering that some CMSes perform.
The reap_sigcache() function now checks the cache for files that
are excluded by the $config['exclude_ranks'] array.
Added "Fill Signature Block Cache" administrative command to
pregenerate the signature block cache for all valid characters.
CONFIG CHANGE: Added $config['force_sig_cache'] directive to allow
the selective regeneration of the signature block cache to be forced
every time the roster data is updated. NOTE: Using this feature may
cause Roster Master to exceed the maximum script execution time (see
source for explanation)
CONFIG CHANGE: Roster Master no longer allows upgrades from
versions older than 6.0.0 (Any versions prior to 6.2.0 aren't
functional due to the EQ2Players structure changes anyway.) Users
upgrading from a version prior to 6.0.0 must uninstall the previous
version, then install 6.3.1. NOTE: Character claims will not be
preserved (as per a fresh install).
Previous version is: Roster Master for Dragonfly 6.3.0
(2008-01-02)
Fixed problem for new installs where the Access Quest Tracker list
would not including the character name, only the level. Bug reported by
Bloo and Kelfly.
CONFIG CHANGE: The default primary and secondary sort option and
direction are now settable in the config.inc file. If an invalid
configuration option is selected, the default fallback is still "r",
"d", "al", "d". Feature suggested by Seagoat.
CONFIG CHANGE: The default list grouping is now settable by
$config['group_by'] in the config.inc file. If an invalid configuration
option is selected, the default fallback is ungrouped. Feature
suggested by Seagoat.
Added A(bsolute) and I(nherit) modifiers to the size definition of
the TEXT sigblock directive. Using an A immediately after the font size
will mean turn off the text fitting and use the font size exactly as
written. Using an I will use whatever the last font size selected
(whether from auto-fit or as set). Feature suggested by Seagoat.
Fixed roster grouping when not displaying a groupable primary
sort.
Fixed incorrect quest link. Bug reported by Bloo.
CONFIG CHANGE: The formatted date string for the logfile and the
"Last Updated" display on the guild roster is now configurable by the
$config['updated_date_fmt'] and $config['logfile_date_fmt'] settings in
the config.inc file.
Changed include() to require() to protect against situations where
the open_basedir restriction is in effect. Bug reported by Apina.
NULL, "Unskilled", and "none" fields now sort last.
CONFIG CHANGE: Added $config['short_titles'] setting to specify if
short heading titles will always be used, never used, or only when
columns are grouped. Featured suggesed by Seagoat.
CONFIG CHANGE: Added $config['columns'] setting to control what
columns appear in the roster, and in what order. Feature suggested by
Seagoat.
CONFIG CHANGE: $config['show_avatars'] renamed to
$config['avatars'], semantics and default changed.
CONFIG CHANGE: removed $config['show_usernames'], option superseded
by $config['columns'] setting.
Row grouping is now enabled for Secondary Tradeskill Class in
addition to the already available Character Type, Rank, Adventurer
Class, and Artisan Class.
Fixed problem affecting guilds with "Anonymous" characters not
being added to the parse correctly. Changed $parsed_roster_data to
superglobal for storage consistency and indexed by characterId rather
than name. Bug reported by Lantis.
Fixed header row alignment problem. Bug reported by Seagoat.
Requirements
An operational Dragonfly CMS 9.0.6.1 (or later) installation.
Don't use Dragonfly? (Why not?) You may wish to investigate RM4DF's
sister ports in the Roster Master
Project.
The server on which Dragonfly is installed must have outbound Web
(TCP Port 80) access.
Your Guild ID number. It can be found in the guild URL (i.e.
http://eq2players.station.sony.com/guilds/guild_profile.vm?guildId=1013203).
The Signature Master feature requires GD 2.0.1 or later and the
FreeType library. It is highly recommended that Dragonfly be
configured with the LEO (Link Engine Optimization) feature turned on in
order for proper cache performance to be realized.
In addition, it is useful to have a working knowledge of a good FTP
program as well as a basic understanding on how to edit a PHP file in order
to change the configuration options.
NOTE1: This module requires outbound HTTP connectivity to
the eq2players.com Website on TCP Port 80. Make sure your server can
connect outbound, or the module will be unable to function (characterized
by "FATAL: Gave up trying to contact the guild summary page." and "FATAL
Gave up trying to contact the roster page." messages in the logfile).
Fedora Core users (possibly others) will need to edit the
/etc/selinux/targeted/booleans.local file and add
"httpd_can_network_connect=1" (without the quotes). Other systems may need
similiar changes. Read the httpd_selinux(8) man page for more information
on this if your system uses this feature.
Installation
The most up-to-date installation instructions are always included in the
distribution release in the INSTALL.txt file. Be sure to read the
INSTALL.txt file before proceeding with installation or before requesting
support! Additional notes and comments on new features and changes also
appear in the CHANGELOG.txt file.
NOTE2: Do not use Dreamweaver to edit the Roster Master or
Dragonfly PHP files, there are known issues with Dreamweaver that can cause
file corruption and complicate troubleshooting. Use a plain-text editor
(such as Notepad or WordPad), or a programming editor, such as jEdit.
NOTE3: The Guild Wall of Fame block stores a copy of its output
in the "content" field of the "{prefix}_blocks" table, and pulls from there
rather than re-run all the queries (until the block needs to be updated).
This works perfectly well until the stored block exceeds the TEXT field
type it's stored in which has a maximum length of 65,535 (2^16 - 1)
characters. This condition would pretty much only exists if
$config['breakdown_shownames'] = 1, since the block stays a constant length
that's within the limits of the TEXT field. Also, people with very small
guilds, can possibly duck under the limit, even with it enabled. To work
around this, the Roster Master installer will change the field type of the
table from TEXT to MEDIUMTEXT. This should have no impact on the operation
of the Dragonfly CMS core, or to database efficiency. However, please note
that if you subsequently upgrade the Dragonfly CMS core, there is a good
chance that the CMS installer will revert the field type back to TEXT, in
which case it would have to be remedied once again by hand (using whatever
SQL management interface that you are comfortable with).
NOTE4: To parse XML with PHP, you must configure PHP with the
--with-xml argument prior to make and make install. If you compile PHP as a
module for Apache 1.3.9 or later, PHP will automatically use the bundled
expat library from Apache.
The relevant command is (make appropriate substitutions):
ALTER TABLE {prefix}_blocks CHANGE content content
MEDIUMTEXT
Support
If you have problems with Roster Master for Dragonfly, please first read
the article "How to Ask
Questions the Smart Way" by Rick Moen and Eric Steven Raymond. Once you
have identifies the issue and framed your question, then choose your best
path of support.
If you believe that your problem lies with Roster Master for Dragonfly,
you best method of support is the Roster Master Development
Thread (archive prior to February 05, 2007, is located here). This is
also the best place to inquire about ports of Roster Master that are not
for Dragonfly CMS. As an alternative, you may contact the author directly regarding
questions or comments for Roster Master for Dragonfly. The author of Roster
Master for Dragonfly cannot assist with ports for other content management
systems.
If you have a general Dragonfly CMS question, or believe you have
discovered a problem with Dragonfly, your best support option is the official Dragonfly CMS site
Roster Master for Dragonfly logo created by Ronja.
EverQuest is a trademark of Sony Computer Entertainment America, Inc.
The names of actual companies and products mentioned herein may be the
trademarks of their respective owners.