Fork me on GitHub
Current releases are 2.1.4 (30 Oct 2014) and 2.0.18.13 (5 Aug 2014)

Ready for 2.1? Find out if your plugins are compatible. 2.0 will no longer be updated after Dec 2014.

IDShare

AprecheApreche
edited August 2007 in Vanilla 1.0 Help
I run a forum that is full of geeks. Geeks like to use social networks. Geeks also play lots of multiplayer video games. Because of this, our Vanilla forum has been cluttered with multiple threads that exist solely for people to share their Nintendo friend codes, Digg usernames, Steam usernames, Gamertags, etc. One solution that's pretty obvious is for everybody to add this information to their profiles. The MyGamerCard extension is a good example of this. However, typically what users want to do, especially with friend codes, is to systematically add every person in the community as a friend. Going around to all the profile pages, when most of them will not have anything on them, is not very efficient. We need a single page that makes it easy for someone to say, list all of the Steam usernames of forum members on one page.

Basically, here's my idea. I would have an add-on that creates a new tab at the top of vanilla that is visible only to users who are logged in. That tab will take you to a page that conveniently organizes, and perhaps allows you to search/filter the usernames and friend codes of other members of the forum. It will also have an interface by which users can add their personal codes and names. All the actual information could be stored in user's profiles, so that you see it as normal when looking at a user's profile page. Basically we just need a separate interface for more easily sharing this information and not cluttering up the forum with extra threads.

I'm not so much as requesting this extension, as I am announcing my intent to make it. I'm just looking to start some discussion about it to see if anyone else thinks this is a worthwhile extension, if there are ideas how to make it better, or if there is a demand for it from other forum communities.

Comments

  • Perhaps it would be worthwhile to be a tad broader in your implementation, however. I was thinking that what could be quite useful, is for profiles to be extended using various types in whatever way the user wants. So you have like: Add Service (for want of a better word, for like usernames for Digg, Facebook, Steam, other tags for other forums/sites) and you click add, and it will offer you a box to type in the name of the service, and your value. It could even use AJAX to auto-complete (so if you start typing Di... it will drop down with Digg as a suggestion if it has already been used before... so that you don't get loads of variations of the same thing). Then you could have another for IM: Add IM (this will offer for you to type in which type of IM it is... MSN, Skype, AIM, Jabber etc, and then a box for your username/email then you can have more ambiguous ones: Text field (then you can just let them free form enter in some text, and to give it a header like "About Me") Short text field (a small single line version of the above). ---- Anyways, you can see where I am going with this. It could be quite beneficial for the entire Vanilla community if something like this were implemented. I think a limitation Vanilla at the moment, is that it's ability to display information of users is quite limited, if the above were done, it would blow it wide open, as each user can define what they want their profile to be (you could even have it so that the Adminstrator defines what they want the User to be able to add, to stop users from abusing the system). It would be quite an undertaking to do, but I would be happy to lend you a hand (I have familiarised myself with Vanilla quite well these past few days). Sorry if it seems like I am sticking my oar in, I am sure what ever you decide will be beneficial. Adam.
  • I thought about doing that. Profiles in Vailla already have the ability for users to add any arbitrary information they want. At the bottom of the profile editing page there is a link that says "Add another label/value pair". The problem with that is there is no way to guarantee all users will use the exact same key. One user might put in Mario Kart DS, another user might put MKDS, or just Mario Cart. The main problem I am having is that the forum is cluttered. I want to solve this by centralizing this information into one interface. Having this information inputted as part of the profile is fine. The problem is the displaying of this information.
  • I like this idea.

    IMO, it would be much better to have an admin defined set of things that the users can fill out. Ideally (perhaps not version one) the form would be easily extendible from within the Vanilla admin interface so that should a bunch of users request a new item be added to the form, even a non-coding admin could do so.

    Then what you basically need is a tab which is a custom user search which would allow you the ability to drill down through all the user data as much as you like. Considering how much user data could be available from that I would also allow the admin to dictate which user items are available for view and also allow the users to hide things on an individual level as well - certainly it would be good to only allow regisitered users to view this tab at all.

    If you could add "friends" using this system then you could even allow certain things to be visible in this master list only to "friends".

    It would be nice to have list sorting done using javascript and remembered using cookies.

    If nothing else, this would be a great tool for admins looking at their user base :)
  • I don't see the necessity of allowing users to hide certain bits of information. Why would a user enter their facebook name, for example, if they didn't want to share it with the other users of the forum? If you don't want to share, just don't type it in.

    Admins probably should have some control over the fields, but having an actual system where users suggest new ones can get cluttered and messy very quickly. I can imagine a way to keep it from being messy, but I don't think it's that necessary.

    A friends system would definitely work in a larger forum of some sort and users could choose with a single checkbox to allow more than just the basics of their profile information to be visible to friends or to all users. On a small forum, I don't think it is necessary because everyone there will be friends by default. Right now we have users basically posting their names in threads which are publicly visible to the entire world, so they obviously don't care about that level of privacy. Having the tab and profiles only visible to logged in users will be more than enough.

    Basically I want this thing to be as simple and clean as possible. The problem at hand is excess threads an forum clutter. The solution is consolidation and organization of information. If that is achieved, the rest is not necessary.

    I started working on this, and my current problem is figuring out how to access information from all users. A user's profile attributes are stored in a data structure within the database, and I understand why. However, this makes things very difficult and inefficient when trying to read attributes from every single user. Anyone have an example of how this can be done efficiently in a Vanilla add-on?
  • I don't see the necessity of allowing users to hide certain bits of information. Why would a user enter their facebook name, for example, if they didn't want to share it with the other users of the forum? If you don't want to share, just don't type it in.
    I explained this later with the "friends" bit ;)

    The "system" for users suggesting new fields would just be them asking for it in a discussion - nice and unoffical - I don't see any reason to have something complex in place here.

    User info has been displayed in the Members Page addon, however Wanderer reported that it massively slowed down his entire forums when it was enabled, so you may want to bare that in mind when looking at how it works.
  • I'm beginning to the the answer to the performance issue will either be to have redundancy in the database or to have some sort of static page that is refreshed on a regular schedule. The way the database is presently structured it is just unreasonable to query for information about more than one user at a time, let alone hundreds of users. If a user reloading a page can trigger such a massive query, you know you are in for trouble. I'm thinking that a new table in the database will be the best way to go since that will not require forum administrators to fiddle with cron, and they will be able to install the add-on more easily.
  • I've gotten well underway on working this extension, and it's going much better than I expected. I even think I found some ways to improve performance, and maybe even Ajax it up. I think I'm going to call the extension IDShare. Anyone have a better idea?
  • Dunno till we see it :) Why don't you post up an unofficial link for the more daring among us to try - then perhaps we can come up with a name?
  • Ok, sure. I'll upload a tar of my current progress each night. The link will always be the same, I'll post it tonight. I have to warn you though, I've barely done anything yet.
  • That's cool - I'll give it a go for you when you post it.
  • Here is the link to where I will occasionally make this extension available until it is done and I obviously put it up on the Vanilla site.
  • I have users sharing Wii codes by using the predefinedattributes addon, but all it does is display it in their profile and make sure their Wii codes are all in the same place in the database so I can do something with it someday (such as display it on a single page like you said or somewhere in their post). So perhaps you could start with that addon and work off of it.
  • Now presenting version 0.1 of the IDShare extension. It's not much, but it works. All it does at this point is exactly what Kronok just suggested. It makes a new tab in the menu which aggregates data from the user's custom profile attributes. The list of approved attributes is currently a hard-coded array in the extension itself, but that will change. Please use this thread to report bugs or suggestions. I'm going to keep working on it until I am satisfied.
  • @Apreche: It works very well. It seems like this could have many uses.
  • I installed it on my forum at http://www.frontrowcrew.com/forum. I have my users testing it.
This discussion has been closed.