Guild-View-Extended replaces the basic guild view with an expanded interface for World of Warcraft 3.3.5a (build 12340).
- Search the guild roster by name, class, zone, rank, or public note
- Filter members by class, rank, and online status
- Sort the roster using extended columns
- Review last-online information with configurable time filters
- Export all guild character names and guild ranks as a copyable two-column CSV
- Invite a selected guild member directly from the member detail window
- Leave the guild from the player's own roster context menu with confirmation
- Refresh member and guild-note changes automatically while the window is open
- Open member details and supported guild-management actions
- Access guild controls and member invitations when permitted
- View MOTD and Guild Information side by side at a glance
- Open the Guild Log on demand from the member toolbar
- Open synchronized, clickable profession links grouped by profession
- Synchronize profession changes automatically between compatible online guild members
- Detect newer Guild-View-Extended versions from other addon users and show a chat notice plus an in-window quest marker with a copyable GitHub release URL
The screenshots below are deterministic renders of the actual version 1.3 layout using example guild, player, and profession data. They do not show real guild data.
- World of Warcraft client version 3.3.5a
- Interface version
30300 - A guild membership for roster features
Guild-View-Extended checks versions through other addon users because a WoW 3.3.5a addon cannot query GitHub over HTTP. It announces its installed version to compatible guild members and uses a filtered, rate-limited player-created version channel to discover newer releases from other users on the realm.
When a higher version is detected, the notice appears once in chat and a yellow
quest marker appears beside the close button in GuildView. Clicking the marker
opens an Escape-closeable window containing the official GitHub Releases URL,
already selected for copying with Ctrl+C. The addon never attempts to open a
browser or write to the clipboard automatically.
- Download or clone this repository.
- Copy the
Guild-View-Extendedfolder intoInterface/AddOns/. - Confirm the final path is
Interface/AddOns/Guild-View-Extended/Guild-View-Extended.toc. - Restart the client or reload the UI.
/gveor/guildviewopens the extended guild view./gve logopens the copyable diagnostic log.
The compact member table uses original 3.3.5a class icons and displays class icon, name, level & class, zone, rank, and public note. Rows are 32 pixels high so large rosters remain easy to scan without becoming oversized. The roster scrollbar stays inside the member page. Clicking a member opens a compact centered detail card rather than a full-height drawer; rank, public note, officer note, group invitation, removal, and guild-leader transfer keep their existing permission checks and behavior.
- Left-click a guild member to open the existing member detail window. The Invite GRP button directly above Remove sends an immediate group invitation. It is disabled for the player's own character.
- Right-click the player's own character in the roster and choose
Gilde verlassen or Leave Guild. A confirmation dialog must be
accepted before
GuildLeave()is called. - While Guild-View-Extended is visible, it requests the complete roster every
five seconds. The existing
GUILD_ROSTER_UPDATEpath then refreshes members, public notes, officer notes, filters, counts, and an open member detail window. Offline members remain enabled.
For guild leaders and officers, the Last Online in-window view uses a wider, three-column layout for character name, guild rank, and last-online time. The name-or-rank search updates immediately while typing and is combined with the existing minimum-offline-duration filter. Clear resets only the member search; Reset resets only the duration filter. The result count shows the number of matches alongside the complete roster size.
Changing a search or time filter returns the list to its first row. Escape closes the window even while the search field has keyboard focus. Opening the window requests fresh roster data, including offline members.
Version 1.4 identifies itself in the addon list and in the login chat message.
If the message still shows an older version (or no version), the game is loading
a different addon copy. Install the current release ZIP into the active
client's Interface/AddOns/ directory and use /reload before testing.
- Open Guild-View-Extended with
/gveor the normal guild shortcut. - Click CSV exportieren on a German client or Export CSV on another client in the member toolbar.
- If the complete roster is not ready yet, the addon requests it and waits for
GUILD_ROSTER_UPDATE. Offline members are included. - In the export window, press
Ctrl+C; the complete text is already selected. - Open the Raid Helper web interface, select its character-name CSV import,
paste the copied text (or save it as a UTF-8
.csvfile), and start the import. Map thecharacter_nameandguild_rankheaders if the interface asks for column assignments.
The export contains exactly two columns named character_name and
guild_rank. It does not contain level, class, zone, online state, public
notes, or officer notes. Names are exported without realm suffixes,
deduplicated case-insensitively, and sorted deterministically. The guild rank
from the first retained name entry stays paired with that character. Both
columns use standard CSV escaping. No HTTP request or automatic clipboard
access is used, and no export data is stored in GVEConfig.
Example:
character_name,guild_rank
Arthas,Guild Master
Jaina,Raider
Thrall,OfficerThe Berufe / Professions tab groups synchronized players by profession. A player with multiple professions appears in every matching category. Players without synchronized data remain available in the Not synchronized group. Categories use a shared profession identity across WotLK training ranks and sender languages. For example, Cooking and Kochkunst appear together; the category name follows the receiving client's language while each player's original clickable trade link and skill remain intact. English/German profession searches find all players in the corresponding category.
The single search field accepts player and profession names. Professions are shown as full-width expandable rows with their 3.3.5a spell icon. Expanding a profession lists every synchronized player with rank, exact clickable WoW profession hyperlink, skill, snapshot age, and synchronization status. Several professions can remain open at once; online and snapshot-age filters help keep large guilds readable.
This is a request-based snapshot system:
- Guild-View-Extended scans the player's own 3.3.5a spellbook and uses the
second return value of
GetSpellLink()for each linkable profession. It also refreshes immediately when a profession is Shift-clicked from the spellbook. - The complete client-created hyperlink is retained byte-for-byte. Other guild
members see one clickable link such as
[Schmiedekunst]; clicking it opens WoW's normal linked-profession window, where the client displays the complete profession contents. GetTradeSkillListLink()remains a guarded fallback while the player's own profession window is open.- Direct fresh requests use the online owner when available. Compatible peers also exchange catalogs of their newest cached guild snapshots, so a newer offline-player snapshot can propagate through several online guild members.
- Relays retain the original owner's capture timestamp and the complete trade link. A snapshot is accepted only when that owner timestamp is strictly newer than the local copy; equal or older copies stop automatically and cannot loop.
- Relayed entries show the last forwarding player as
via Name. A later direct owner response replaces the relayed copy when it is at least as recent. - Account-wide SavedVariables keep each own character separately. Consequently, an online main character can advertise the last self-captured snapshot of an offline guild alt, provided profession sharing remains enabled.
- Compatible clients discover each other automatically after login. Requests are queued and rate-limited, and a changed profession link triggers a fresh synchronization without requiring a click. Request data remains available as a manual refresh action.
- Only validated profession links, skill values, and snapshot times are transferred. Guild notes and unrelated character data are not.
- Individual recipes are never merged. The validated, internally consistent profession hyperlink always moves as one complete snapshot.
- Profession sharing is enabled by default and can be disabled with the checkbox at the bottom of the tab.
Transfers use the legacy SendAddonMessage/CHAT_MSG_ADDON APIs, targeted
whispers, throttled chunks, strict size limits, guild-member validation, and an
atomic cache update after a complete transfer. No Retail, Battle.net, HTTP, or
clipboard APIs are used. Cached synchronization data is stored in
GVESyncData. Received snapshots expire after 30 days. Realm/guild caches
are stored separately and restored when returning to that guild; character
changes retain captured professions and received guild snapshots.
Saving the stock 3.3.5a Guild Control dialog no longer opens the old guild
window. Guild View suppresses only the GuildStatus_Update() call made during
that GVE-owned save operation; Blizzard's permission-saving logic remains
unchanged. Its outer frame follows Guild-View-Extended's flat design while its
original controls remain intact. Guild Control follows the original 3.3.5a
rule and is available to the guild leader.
Before replacing an installed copy, close World of Warcraft and copy the
current Interface/AddOns/Guild-View-Extended directory to a safe location.
To roll back, replace the addon directory with that copy and start the client
again. Development backups are intentionally not included in release archives.
From the addon directory, run lua tests/csv_export_test.lua with a Lua
5.1-compatible runtime. The test loads the production addon source with small
WoW API stubs and verifies empty, single-member, Unicode, escaping,
deduplication, sorting, 5,000/5,001-member, dialog, Escape, offline-roster, and
asynchronous event cases. It also verifies group invitations, the confirmed
guild-leave action, and the automatic roster refresh timer.
Run lua tests/sync_snapshot_test.lua to verify profession serialization,
UTF-8 profession names, authentic 3.3.5a trade links with short owner IDs and
opaque recipe bitmaps, timestamps, and rejection of malformed snapshots.
Both production Lua files and both test files are also parsed explicitly as
Lua 5.1 before a local test package is built.
The addon targets World of Warcraft 3.3.5a build 12340 and uses the legacy guild, trade-skill, hyperlink, and addon-message APIs available in that client. It replaces the global guild/friends toggle behavior, so compatibility with other addons that replace the same interface should be tested. It does not use Retail guild, club, or Battle.net APIs.
The repository contains addon source only. Do not publish files from WTF/Account/.../SavedVariables, because those files may contain account, character, or guild-specific data.
No open-source license is currently granted by this repository. All rights are reserved unless the repository owner states otherwise.
Guild-View-Extended is an independent community addon and is not affiliated with or endorsed by Blizzard Entertainment.


