Personal " Ignore" list

Author Message
gene
  • Total Posts : 37
  • Reward points : 30
  • Joined: Jul 08 '02
Personal " Ignore" list - Thu. Aug 15, '02 10:31 AM
Hi Samuel,

Let' s create a hypothetical situation: a forum has one particular user that drives the rest of the members *nuts* but is within the limits of the rules and the site admin doesn' t want to ban the user because of the furor that would erupt (" censorship" accusations from supporters, etc.)

The only practical solution is to implement a personal " ignore" list for each member to maintain. The hypothetical forum admin can do this on his own, but this might be a really cool feature to have in ASP-PGD.

BTW, since performance is an issue for the hypothetical forum, the ignore feature would need to be implemented using a cookie or session variable (you' re the performance pro, you tell me which is better ).

It might work like this:

1) User logins to site, check to see if they have the " ignore" feature enabled in their profile.

2) If " ignore" is enabled, concatenate the users (with either the member ID or username) in the ignore table into a single delimted string (ie. " #username1##username2##username3#" , etc.) and save as a cookie or session variable.

3) When user visits tt.asp, if they have the ignore feature enabled in their profile, compare each member name/ID with the ignore list before writing the HTML. If " #username1#" is found, then print " IGNORED: " next to their username. Keep the link to the topic.

4) When an ignored user' s topic is found in tm.asp or m.asp, show the message with the user' s name, NO avatar, and put this in the message area:

This user is on your ignore list and the text is blocked.

Click here to remove them from your ignore list and display this post.

Click here to turn off the ignore feature and display this post (you can turn it back on later within your profile).

Whadya think?

Thanks,

Gene

Samuel
  • Total Posts : 10752
  • Reward points : 85350
  • Joined: May 23 '01
RE: Personal " Ignore" list - Thu. Aug 15, '02 3:50 PM
thanks Gene for this suggestion. This can be done by integrating the block list in address book, and store the member ID in cookies (session variable is not a good idea here)

I will think about this and see if I can put it into our 1.9 feature list.

Thank you again!
ASPPlayground.net Developer

gene
  • Total Posts : 37
  • Reward points : 30
  • Joined: Jul 08 '02
RE: Personal " Ignore" list - Thu. Aug 15, '02 8:54 PM
Thanks for the suggestion about using the existing " Block List" -- I went ahead and did it, it works well. I couldn' t wait for 1.9, too many " Report Abuse" messages hammering away at me everyday . Perhaps I should just get rid of the " Debate It!" forum...

Gene
< Message edited by gene -- 2002-08-15 20:56:14 >

Samuel
  • Total Posts : 10752
  • Reward points : 85350
  • Joined: May 23 '01
RE: RE: Personal " Ignore" list - Thu. Aug 15, '02 11:03 PM
Nice work! So you just store everything in cookies? Was it easy to write for you?

Last time you asked for report abuse enhancements and now the ignore list. I guess it would be a good idea to switch off that " Debate it" forum.
ASPPlayground.net Developer

gene
  • Total Posts : 37
  • Reward points : 30
  • Joined: Jul 08 '02
RE: Personal " Ignore" list - Fri. Aug 16, '02 11:09 AM
Yes, I' m using cookies and it was easy to do, your code is easy to follow. Here' s what changed:

session.asp: Immediately after you retrieve the mem ID, I call a create-cookie function that' s in a separate include file that we use for our custom functions. The create-cookie function pulls data from a new stored procedure that lists everyone in the user' s block list and writes the data into a cookie using a delimited string.

address.asp: Added two new " case" statements for your " mode" querystring variable: block, unblock. The " block" code simply calls an existing stored procedure to add a user to the block list, the " unblock" code runs a " delete" SQL statement. These case statements also call the create-cookie function and rewrite the ignore cookie. I also call my create-cookie function to rewrite the cookie when a user adds/removes someone from his list via the address book (in your other case statements).

tt.asp: I check the mem ID of the poster against the delimited cookie string, if it' s found, I alert the user by displaying ***ignored*** above their name in the message list. Everything else in tt.asp remains as it was.

tm.asp, m.asp: I compare each message' s mem ID with the cookie string and if the ID is in the block list, I blank the avatar, the location, the signature, etc. and replace the body variable with a message telling them the user is on their ignore list and provide a hyperlink to unblock. I also created two icons ( and ) that display next to the user name in avatar area of the post that serve as on-the-fly methods to add/remove members on a user' s block list (by calling address.asp?mode=block&mem=nnnn and address.asp?mode=unblock&mem=nnnn). Here' s what it looks like:



Gene

Samuel
  • Total Posts : 10752
  • Reward points : 85350
  • Joined: May 23 '01
RE: RE: Personal " Ignore" list - Fri. Aug 16, '02 2:54 PM
Thanks Gene for your demonstration! I will add this feature in our version 1.9.
< Message edited by samuel -- 2002-08-16 14:56:08 >
ASPPlayground.net Developer

Saud
  • Total Posts : 48
  • Reward points : 30
  • Joined: Apr 21 '02
  • Location: Kuwait
RE: Personal " Ignore" list - Fri. Aug 16, '02 5:59 PM
Samuel,

I just visited Gene' s forum. I liked the " Display Message URL" option .. and the block/ublock icons next to the member name.

Also, I noticed in the same forum, that " Member Details" is vertically centered rather than being top vertically. For members with longer than average signatures the display of members details is not quite right. Check this member' s profile for example. http://www.tcoyf.com/forum/showProfile.asp?memid=16010

gene
  • Total Posts : 37
  • Reward points : 30
  • Joined: Jul 08 '02
RE: Personal " Ignore" list - Fri. Aug 16, '02 9:57 PM
Hi Saud,

Careful on using my forum as an example... we' ve modified a few things, including the display message URL and signature length (4000 characters -- EGADS! But let' s see somebody complain about not having enough sig room NOW! )

Gene

Saud
  • Total Posts : 48
  • Reward points : 30
  • Joined: Apr 21 '02
  • Location: Kuwait
RE: RE: Personal " Ignore" list - Fri. Aug 16, '02 10:05 PM
Hi gene,

4000?! Who would need that much space for a signature?! You are just too generous I guess

I know you have modified your copy of ASPGD .. but still it can work as an example in the vertical alignment of the mebers details section.

The other two things (display message URL & block/unblock) were pointed out to recommend them for the next update. I think you are doing a good job at your forum.