Closed GoogleCodeExporter closed 8 years ago
Original comment by evlogimenos
on 9 Dec 2008 at 1:48
My thoughts on how best to implement this in a scalable fashion.
Goals:
1. support outsiders
2. scale beyond what you can stick in a single public/officer note or guild
info panel
3. identify and document unsupported edge cases
Rather than storing outsider info in the guild info block, I suggest making it a
requirement that any outside-of-guild members create a low-level alt strictly
for the
purpose of storing their EP. So if Foo (who isn't in the guild) wants EP/GP,
they
create Bar, a level one and join to the guild. Bar's officer note would
indicate
that they hold the EP/GP for Foo.
Because the current alt syntax is plain, this could be done by adding a sigil
of some
sort (so Bar's note might read ":Foo"). Ideally, I would like to see a sigil
added
to the current alts for expandability (so perhaps current nodes change from
"AltName"
to ">AltName" and the out of guild people would use "<Foo" to indicate clear
redirection of EP/GP to or from the named entity. This also allows for as many
other
characters which are not legal as the first character of a toon's name to be
used for
things in the future.
Obviously, this would require some major overhauling of LibGuildStorage so that
when
it encountered a "<Name" note, it would have find some way to a) display the
out of
guild name when looking at standings and b) remember the redirection so that
when EP
or GP are credited, the note gets updated for the level 1 alt.
Edge Cases: there are a couple of edge cases where this simply won't work, but
my gut
says that they are too isolated to worry about. For documentation purposes
though,
they are:
- guilds that are at the member limit can't use this (I'm not sure that there
is a
member limit, but I know people report all sorts of strange problems above 400
members, which I presume means that GetGuildRoster() and friends breaks
somewhere
around there, which would bork epgp)
- out of guild members who have reached their limit of characters on a realm.
I'm
not sure what the stats are like on this. I'm a bit of an altoholic and yet
have
never had more than 6 real toons on a server; if I ever hit the limit I was
stacking
bank alts for profession leveling. I don't think catering to people who have
10 real
guilded toons on a server is a concern - even if someone had 10 chars but one
was an
unguilded bank alt, that one could serve as the redirection toon because adding
them
to the guild is just adding one more row in the data table that LibGuildStorage
manages.
- guilds who have a rank structure such that they can't add a new unprivileged
rank
for the placeholder toons. This might be more of a concern; I know that I've
run
into this when I went crazy with
"GM/GM-Alt/Officer/Officer-Alt/Raider/Raider-Alt/etc" ranks in a guild once.
Re-organizing ranks in a large guild is a major PITA, so I wouldn't want to
force
this on people. I would just hope that the bottom rank of most guilds
(initiate or
similar) is sufficiently unprivileged that even if the placeholders didn't have
a
dedicated rank, they could share the initiate rank. If guilds were really
concerned
about not knowing who was a placeholder and who wasn't, they could enforce a
naming
standard (say PHName as a redirector for Name).
Just wanted to get these thoughts out of my head; I'm personally ambivilent
about
adding support for this, but if it was going in this is how I'd do it.
Original comment by james.fi...@gmail.com
on 4 Jan 2009 at 1:01
Mark all as New without owner.
Original comment by evlogimenos
on 8 Jan 2009 at 11:03
[deleted comment]
Just to make a comment on the "document edge cases" point:
This is actually a more widespread issue than you might think.
A LOT of raids especially on German realms do not share the same guild AT ALL.
Maybe
it's because of different views on social structures by German speaking people,
maybe
it's because a lot of German realms have few good players that might be
assholes but
you have to take them because otherwise you'd have to take scrubs, so you at
least
don't want to share the same guild with them, I don't know. What I do know is
that
there are a lot of raids like this on German realms.
Isn't there some way to make a user local database that could be shared by
multiple
people(e.g. raid leader and his XO, etc.)? I'd really hate to have to track and
calculate everything manually for my raid or write a webtracker. :|
(Sorry for deleting my earlier comment, it probably caused a bit of email spam,
but I
was logged into the wrong Google account and I don't want that one to be
webcrawlable.)
Original comment by sag.ich....@gmail.com
on 9 Jan 2009 at 11:16
This whole thing sounds like a PITA for Evlogimenos to implement.
Adding a few outsiders might be OK with the old 'name:outsider' implementation,
but
having to mix people from lots of guilds? I am not going to get into a
discussion
about problems in your server (I cant think its all the German realms as you
say),
but whatever realm you are on, getting 20-25 people together in the same guild
can't
be that hard, if it is that is surely outside the scope of EPGP to sort out.
Original comment by dingochavezz@gmail.com
on 9 Jan 2009 at 4:51
It is. Furthermore if you do not believe me that this is a widespread issue
feel free
to inquire other players from different realms about this on IRC or the forums.
And as I already said, some people don't WANT to be in the same guild just for
raiding.
Original comment by sag.ich....@gmail.com
on 9 Jan 2009 at 5:21
We would also greatly appreciate this change being implemented. We have 5-10
people who aren't in our guild
but who raid with us on a fairly regular basis. Pre-3.0 it was so easy to keep
track of their priority, now we keep
track of their EPGP by assigning them one of the officer's lowbie alts, but
have to manually update their values
after each raid, and even more frustrating - each time loot drops that they're
interested in. Despite not being in
our guild, these people are valued members of our raiding team, and we like to
be able to honor that. I know it's
low priority in the scheme of things to get this implemented, but would hugely
appreciate it if you could
eventually!
Original comment by smw...@gmail.com
on 9 Jan 2009 at 10:06
I might look into this when the webapp is done, maybe there is a way to support
them. But as it is right now the
cost to benefit ratio is very small.
Original comment by evlogimenos
on 29 Jan 2009 at 8:48
I am a german player as well, and i have to agree totally with sag.ich.nicht.
Its a
very common situation, that there are raids, with only a few members from a
single
guild, and the rest are random players.
This is currently the only issue with epgp which prevents our guild from using
it, we
don't have the member strength of having always 25 "good"-enough players for
raiding,
so we do work with freelancers, and we have to include them in the DKP system as
well, which would be a PITA with epgp as far as it works now.
Original comment by Patrick....@gmail.com
on 12 Feb 2009 at 1:51
Issue 310 has been merged into this issue.
Original comment by evlogimenos
on 16 Feb 2009 at 9:23
I played on several German servers and all of them had a problem with finding a
group to raid or to get enough
people in your guild which can raid (believe me, there are still many very
"untalented" players even if you try to
find good ones in your group). Almost all of the "good" players are already in
a few big guilds and most other
raids are just random PUGs which don't work well. And many (not all!) of the
"good" players are often people you
don't want to have in your guild because of their behaviour.
Original comment by the.bl4c...@gmail.com
on 22 Feb 2009 at 8:21
We're also having the issue with tracking outsider EPGP. I've tried using the
Main:Dummy trick in the Guild Info but it doesn't appear to work anymore. I've
had
to resort to keeping Excel open during raids for our few frequent non-guildies.
Has
anybody found a better solution since v3?
Original comment by jkbrooks...@gmail.com
on 25 Feb 2009 at 12:54
Original comment by evlogimenos
on 26 Feb 2009 at 12:29
My guild already has a 25-man run on a schedule I can't attend. I want to set
up a
second run at another time, and that's going to require attendance of people
from
other guilds. The EPGP software is useless for this.
Ultimately, officer notes are simply not flexible enough. The solution is to
store
the information on a database in the client variables. The database, and
perhaps the
transactions executed, can be distributed via some Peer-to-Peer system, as
GroupCalendar does. It would have to be secured so that it would only accept
updates
from people specified to be loot masters.
Yeah, that's a major rework, but it's the right way to do it. Once done, it
would
cleanly allow things like having multiple simultaneous loot systems, and would
let
the officer note field be used for things like, well, officer notes. More
importantly, it would let guild alliance and pick-up groups work much, much
better.
Original comment by dzer...@ztwistbooks.com
on 27 Feb 2009 at 1:31
I'm a fan of keeping the data in the officer notes. It allows for transparency
and
people aren't required to run the addon. Keeping the information in-game has
been a
good choice.
As long as Blizz doesn't wipe the officer notes, the data should be fine. And
should
they do it there's always the local backup.
Original comment by jkbrooks...@gmail.com
on 2 Mar 2009 at 2:46
That doesn't work with outsider support, which is what this Issue is about.
Original comment by sag.ich....@gmail.com
on 2 Mar 2009 at 2:49
Correct... If you read above, v3 used to allow you to associate a guild tagged
alt
with a non-guild main. Hence the officer notes worked fine for keeping data.
Original comment by jkbrooks...@gmail.com
on 2 Mar 2009 at 3:52
...which causes a lot of problems and extra maintenance. Yes. I know how it
works in
v3. Just because it worked, doesn't mean it was a very good thing, kind of like
the
difference between opt in and opt out systems(Bad metaphor, but it gets the
point
across I think).
Also, I'm pretty sure there's not a huge problem in implementing both systems.
Original comment by sag.ich....@gmail.com
on 2 Mar 2009 at 3:55
Oh, I have another serious problem with using officer notes:
I'm not an officer.
So, once again, the current software is completely useless for me.
Good point by sag.ich.nicht. Even if there is a proper client-side shared
database
eventually implemented, there's no reason to get rid of the officer note kludge
if
people like it. Just set an option for which data storage technique you're
using.
As long as officer notes are the only way to store the data, though, there will
always be problems with non-guild raids.
Original comment by dzer...@ztwistbooks.com
on 2 Mar 2009 at 9:17
In my opinion, having to PUG a raid is your problem not the problem with EPGP.
You
don't need to be an officer for the EPGP storage to work, you just need the GM
to set
it so that you can View Officer Notes, then your EPGP addon will show you
everyones
points.
Evlogimenos will come up with a solution in the future no doubt, but as well as
writing this addon he has a guild to run, and a career as well.
Maybe if you PUG a lot, you should just resort to Master Looter and make those
that
can benefit from an item roll. As long as the Master Looter is fair, there
should be
no problem. Or, try uniting all these players you raid with in the same guild,
then
you won't need to PUG. I don't see the attraction in being in a guild too small
to
raid, if you are PUGging all the time too raid, why not join forces. UNITE THE
TRIBES! ;)
Original comment by dingochavezz@gmail.com
on 3 Mar 2009 at 8:44
This isn't about PUGing, it's about not wanting people you raid with in your
guild.
You know, Guild, social circle, all that?
There are really good players out there who are total assholes you don't want
to talk
to while not raiding, but if you're on a small server, you don't have much of a
choice in terms of whom you raid with. So you make a "virtual" concept of a
Raidgroup.
It's not a PUG if it's always the same people and they just don't want to share
the
same guild.
Original comment by sag.ich....@gmail.com
on 3 Mar 2009 at 8:48
This is a topic for discussion elsewhere, but successful raid guilds actually
like
their members, thats why they raid together. The server I am on has serious
Horde
population problem (10 alliance to 1 horde), but we still manage to get a lot of
raids going and have 4 good raiding guilds.
Anyway, thats a topic for somewhere other than the EPGP forum.
Original comment by dingochavezz@gmail.com
on 3 Mar 2009 at 4:18
it's not about not wanting people you raid with in your guild...
people are in guilds because their friends are there or because it is a
roleplaying-guild etc. and these people don't leave a guild because of such a
thing
like raiding and this is the common situation on my server
sorry for my bad english :)
Original comment by wild_ca...@gmx.de
on 4 Mar 2009 at 9:03
The web app is most important thing left to finish imo. Revising the mod to
track
non-guildies could potentially break the transparency/simplicity that it
currently
has via viewable officer notes.
Original comment by PantsA...@gmail.com
on 4 Mar 2009 at 6:04
Sorry, I should have been more clear. I am not an officer. Therefore, I cannot
store information in the officer notes. Therefore, while I can view EPGP
information
in the officer notes, I cannot use this addon to store information about loot
when I
am leading a raid. Using a trick like adding a level-1 alt to my guild will
not help.
Revising the mod to track outsiders need not break the benefits of using officer
notes. The officer notes could still be used for guild members. Any other
storage
technique could be turned off for all-guild raids.
Comments along the lines of "Well, just raid only with your guild and you'll be
fine"
are not constructive. Tracking EPGP for non-guild raids would be very useful
for
some people.
Here are some thoughts about implementation and features:
* Track the EPGP information in a client-side database using the normal client
variables.
* Share the information via a hidden chat channel.
* The raid leader establishes (creates) the database and gives it a unique
name. He
can select different databases so that points can be tracked separately for
different
raids.
* By default, other people running the EPGP client accept information about a
particular raid only from the raid leader who established the database.
However...
* The raid leader can specify other members of the raid as "EPGP assistants".
These
assistants can also distribute EPGP information, for when the leader is not
online.
* Shared information consists of transactions (awarding points), summaries
(point
totals), and configurations. It could probably contain the actual drops, as
well.
* Information is shared via a "peer-to-peer" system on a special hidden custom
channel, probably unique per raid/database. Whenever a client connects to the
channel, it synchronizes the information it has with the other clients currently
connected to that channel.
* Only the EPGP leader and assistants are required to have the addon. Anyone
else
who wants EPGP information can whisper a lead or assistant with a particular
syntax,
and the addon will respond with the appropriate information. Players who do
have the
addon can view the shared information directly.
Original comment by dzer...@ztwistbooks.com
on 5 Mar 2009 at 12:01
It seems that you put a lot of thinking into this so maybe you can provide a
drop in
replacement of LibGuildStorage-1.0.lua which will store things in saved
variables
instead of officer notes. The said library is the only part of EPGP that
depends on
officer notes so by replacing that you get what you want.
This is an open source project, and as always, patches are very welcome.
Original comment by evlogimenos
on 5 Mar 2009 at 1:01
If someone does come up with this, it has to be optional. Officer notes are
super
secure - if my WoW crashes or Windows dies on me, my Officers notes are
perfectly
safe, and I don't want that feature to be messed up by a minority problem.
Original comment by dingochavezz@gmail.com
on 5 Mar 2009 at 9:03
Yes, the feature has to be optional. As noted above, it would be very possible
to
use *both* client variables and officer notes at the same time, too.
...and it sounds like I'm going to have to learn LUA. Well, thanks for the
invitation.
Here is an aside of academic interest (ignore if you don't care about
academics):
The ultimate solution to the security issues (integrity and availability) of
shared
databases in client variables is to use digital certificates to sign
transactions and
summaries. Ok, yes, that *is* probably overkill, especially considering the
computational requirements. But, academically speaking....
Obviously, the signature itself provides the integrity needed. Nobody but the
designated loot officers on the raid can provide legitimate signed
transactions.
Nobody is going to be able to fake anything. This has a beneficial side
effect, though:
Once transactions are signed, all sources of those transactions could be
considered
reliable. As such, every single client that subscribes to a raid would be a
reliable
backup repository. So, there's your availability. Even if someone's hard disk
gets
nuked, there will be 24 other reliable repositories containing the same
information.
The information won't get lost, short of several large-megaton airbursts or a really
nasty virus.
There are other techniques to provide security like this, but digital
signatures (and
public/private keys) are the academically rigorous way to do it securely.
Original comment by dzer...@ztwistbooks.com
on 6 Mar 2009 at 12:37
I worked on this issue way back in version 3, and I have given quite a bit of
thought. My two euro cents:
• It's possible to use the EPGP system without the add-on. We did so for a
while using Excel. The add-on was only used for its tooltip
feature, and even that is as a matter of principle unnecessary.
• The add-on already places constraints for those who want to use it to help
them manage their EPGP:
- the raid must be associated with a designated guild (it may seem obvious, but
it's not).
- RLs (or MLs) need to be officers
- Guild info must be used
- Officer notes must be used
Those raids/guilds who find these constraints incompatible with their structure
may choose either to relax their structure, or forego
using the add-on.
• Implementing support for Outsiders is possible with little to no additional
constraint for guilds, by requiring each outsider to create a
low level alt toon, which will be their surrogate in the guild. This will be
better than the current situation for the vast majority of raids,
the only exception being for high population guilds which cannot add additional
members.
• Using local storage begs for a lot of issues, including availability and
integrity, but also synchronization, performance, non-
repudiation, and possibly others, not to mention the amount of work.
• We have a working solution now: we have modified the add-on in its version
5.1.4 to support outsiders. The changes are very small
and easily ported to version 5.2. However the changes have been made on an
experimental basis and I believe our choice of storage is
not the right one for widespread use: we store EP,GP for Outsiders in their
public notes.
• Storing EP,GP in the Outsiders public notes is not appropriate because it's
too brittle and vulnerable to tampering. This could be fixed
through crypto ideas such as digital signatures, but the performance impact and
the heavy handed nature of such measures defeats the
simplicity of the initial approach.
• The most balanced way to work this out is I believe to introduce additional
syntax to officer notes, for example "MainName:ep,gp".
This could be parsed in code with a line like:
local mainName, ep, gp = string.match(note, "^([^%p%s])+:(%d+),(%d+)$")
The impact is probably limited to the following:
- testing if a toon is an alt can be done by comparing self.name ~= mainName
- reading EP,GP for any toon is as easy as directly using ep and gp from the
line above, applied to its first Guild Alt (where self is always
the first in its own Guild Alt list, if in Guild).
- consistency (equality of EP, GP across the sets of Alts) can be ensured and
checked at initialization time and change time
- setting EP,GP for any toon amounts to storing "MainName:ep,gp" across all its
Guild Alt list.
This rough outline implies some redundancy, which might be alleviated through
optimization if it turns out to be a significant
performance impact.
• modifying our working solution to adopt this storage idea is a moderate
endeavour at worst. If reactions to my message are
encouraging, I volunteer to do so.
Original comment by jdm...@gmail.com
on 12 Mar 2009 at 2:02
Hey folks,
Im not using the outsider support but i thought i'd go ahead and fix this for
you
guys. Attached is a patch for LibGuildStorage-1.0.lua. It looks for players in
your
guild with a ext:OutsiderName in the public note. Usage is quite simple... Let
the
outsider create an alt, invite the alt to your guild. Update the new alt's
public
note to ext:NameOfOutsider, set the officer notes to 0,0 and you're all set.
EPGPLootmaster has been tried and tested, no problems found so far. Only minor
thing
is that the EPGP window will show the alt, not the name of the outsider. It
might be
a good idea to have the outsider create an alt with a name very similar to his
current name. Hope this helps!
Original comment by mackatack
on 12 Mar 2009 at 2:58
Attachments:
BTW, this does mimic the version 3 solution. You still need to be able to edit
your
officer notes.
_Mackatack
Original comment by mackatack
on 12 Mar 2009 at 3:42
Hey your solution is very similar to ours, but smarter in that it's not
vulnerable to tampering.
We've gone a step further, as in our fix, the EPGP window does actually display
the Outsider Main, and not the
alt.
I'll loot into it and merge them.
Original comment by jdm...@gmail.com
on 12 Mar 2009 at 4:06
Cool, looking forward to seeing your changes. As said, my guild doesn't use any
outsiders, but I love the system and really want to contribute to it as much as
i
can. Our patches will make a lot of users happy, i guess.
Original comment by mackatack
on 12 Mar 2009 at 4:13
Putting the pointer to the main toon in the public note has a small issue:
Anyone can edit a public note so it is
open to breakages. Unless you disallow editing of public notes as well and have
EPGP take over all your note
storage. Some guilds will be pissed.
My major worry is with the webapp, on which outsiders bring extra complexity.
Original comment by evlogimenos
on 12 Mar 2009 at 4:35
Yeah, true... Public notes would also have to be restricted to read-only.
However,
the public note will only be used for EPGP when you have added an outsider
alt...
Perhaps you can make a config switch in the guild info to enable the outsider
parser,
which could be disabled by default. This will prevent tampering for guilds who
don't
use outsiders and have public notes editable for everyone. Im not sure how you
wish
to implement the webapp, but if you just export the member tables and not the
guild
roster it should not be a problem at all.
Original comment by mackatack
on 12 Mar 2009 at 4:52
It poses a slight problem now because I assumed (realm, name) pair to be a
unique key. Now I will have to
change this to a triple (realm, guild, name) because some member might have
different epgp pools in different
guilds. This adds some complexity in some cases.
Original comment by evlogimenos
on 12 Mar 2009 at 5:12
It depends alkis, do you wish the webapp to be freely distributable among your
users?
Or are you going to host the webapp yourself somewhere? If the users can
install the
webapp themselves on their own server you wouldn't have the unique key
problems. You
could also use the ingame GUIDs, i think those are immutable aswell.
Original comment by mackatack
on 13 Mar 2009 at 7:59
The webapp is going to be hosted by myself. I was thinking of using in game
GUIDs but I have to test if you can
get a GUID of anyone even if logged out.
Original comment by evlogimenos
on 13 Mar 2009 at 10:25
Is there any way I can do this without having those alts in my guild. My GM has
issue
with those extra alts. I've found the epgplootmaster system handy to distribute
the
loot but I need an epgp point management system that works with it and allows
non-
guildies.
If I store the data and can extract it so I can publish it to a website so
people can
read it. Then people can verify their scores and keeps me honest... neither
would
various people have local data.
Original comment by jacques....@gmail.com
on 14 Mar 2009 at 6:54
I ll have to agree with jacques here guys. Our guild allies with other guilds
for
raids and we dont want to fill with lvl 1 alts. Since EPGP is the fairest
system i ve
found so far,It would be awesome to be able to use it to keep track.
Please do your best!!! :)
Original comment by Blue.of.Egypt
on 16 Mar 2009 at 9:45
I'm going to use alts. However not of the outsiders? I'll use the alts that I
and my
other officers have that we don't use for Raiding. A compromise that my GM
could deal
with. Drawback is that it shows the alt names (which I now need to keep track
of). I
saw that someone build an adaptation to show the 'outsider' name. That would be
a
great addition.
Original comment by jacques....@gmail.com
on 17 Mar 2009 at 1:26
[deleted comment]
Is the outsider patch compatible with 5.2.4.?
Original comment by jacques....@gmail.com
on 19 Mar 2009 at 3:08
The outsider patch doesn't work with the latest (epgp-5.3) . It Errors out line
104
(pubNote doesn't return anything as far as i can tell).
Original comment by sh...@kraptastic.com
on 20 Mar 2009 at 8:33
With what version is the outsider patch compatible with? I tried matching the
dates
and came up with 5.2.3. but I noticed that no effects. When I activate the
screen it
doesn't show any of those alts as part of the raid (I can deal with the names
being
different). Then again I may be doing something wrong. I put 'ext:Joker' and
the like
in the public notes of the alts. Is this case-sensitive or did I need to put a
space
somewhere?
When I assign boss ep. Those people using alts aren't affected so I'm assuming
something isn't right.
Original comment by jacques....@gmail.com
on 21 Mar 2009 at 7:25
[deleted comment]
[deleted comment]
I think i have it! :-)
Be careful, not yet tested in a raid.
The line before the "outsiders hack" has to be changed, too.
As Comment 45 said, "pubNote" wasn't set.
So change:
----------------------------------------------------------------------------
for i = index, last_index do
local name, _, _, _, _, _, _, note, _, _, class = GetGuildRosterInfo(i)
----------------------------------------------------------------------------
into:
----------------------------------------------------------------------------
for i = index, last_index do
local name, _, _, _, _, _, pubNote, note, _, _, class = GetGuildRosterInfo(i)
-----------------------------------------------------------------------------
I have attached the "hacked" file: "LibGuildStorage-1.0.lua" from Epgp Version
5.3.2
Original comment by zaubertr...@web.de
on 1 Apr 2009 at 7:35
Attachments:
Original comment by evlogimenos
on 2 Apr 2009 at 9:21
Original issue reported on code.google.com by
evlogimenos
on 29 Nov 2008 at 2:41