MonoX support board

Start the conversation, ask questions and share tips and solutions with fellow developers.

Non-registered users can only browse through our support boards. Please register now if you want to post your questions. It takes a second and it is completely free. Alternatively, you can log in without registration using your credentials at major sites such as Google, Microsoft Live, OpenId, Facebook, LinkedIn or Yahoo.

Block/Unblock users  (Mono Support )

Viewed 9442 time(s), 10 post(s) 11/13/2013 6:56:24 AMby mmorozov
mmorozov

mmorozov

11/13/2013 6:56:24 AM
I noticed there is a table called SnBlockUsers, which seemingly allows a user to ignore any other user(s) posts. But I cannot see a way to enable it or use it anywhere in the configuration settings.
This content has not been rated yet. 
95 Reputation 10 Total posts
khorvat

khorvat

11/13/2013 10:58:48 AM
Can you explain this a bit further, by "But I cannot see a way to enable it or use it anywhere in the configuration settings." do you mean enable the WebPart that will allow you to block / unblock users or ?

If that is the case you can take a look at the user profile page - Friends, there should be a "Block a User" and "My Blocked Users" WebParts. You can use these WebParts to accomplish what you need.

Regards
This content has not been rated yet. 
15993 Reputation 2214 Total posts
mmorozov

mmorozov

11/13/2013 11:06:38 AM
Ah, found it now!  

So what exactly does blocking the user do? I blocked a user and I can still see his posts in the discussions. I was hoping that this is like an "ignore user" feature, which makes it possible to ignore trolls and morons in forums. And as such I was looking for a way to block the user IN the discussion. I see a a post that I don't like and I block the author right there.
This content has not been rated yet. 
95 Reputation 10 Total posts
khorvat

khorvat

11/13/2013 1:31:58 PM
At this point you will only block the social wall posts form that user. You will still see the comments from that user on post that are made by non blocked users. Discussion topics are not blocked by the user block functionality right now.

I have put extended blocking functionality on our road map so check the release notes once we push the new version out.

Regards
This content has not been rated yet. 
15993 Reputation 2214 Total posts
mmorozov

mmorozov

11/13/2013 8:51:30 PM
Well, looks like the current implementation is not very useful. It someone wants to get to you, he will not hesitate to use comments to existing posts. In my humble opinion, the blocking should completely take that person out of all interactions on the site:

1. No posts on my wall
2. No comments to any posts on my wall
3. No comments to my blog entries
4. No comments to MY posts on someone else's walls or anywhere else
5. No private messages

But most importantly -

6. Make all posts of blocked users in discussions invisible to me. They can post, but I don't want to see them.

This content has not been rated yet. 
95 Reputation 10 Total posts
khorvat

khorvat

11/14/2013 11:10:23 PM
Yes I see your point, but I'm not so sure about the comments on posts, and comments overall because if you remove the comment on some comment then you will not have the whole transcript and you won't be able to read through the topic or post properly, thoughts ?

BTW - I have put your feedback to existing case so this should be considered once developers start working on this issue.

Regards
This content has not been rated yet. 
15993 Reputation 2214 Total posts
mmorozov

mmorozov

11/15/2013 12:08:28 AM
One possible behavior could be to have comments from blocked users collapsed (only name and date is visible). If I care enough to read it, I can click and expand. 

Usually, the candidates for blocking are not really participating in the discussion. They are just spamming and flooding. I am speaking from experience here. One idiot can be very disruptive to the whole community. They start posting ridiculously huge (and, sometimes, offensive) pictures or embed certain CSS that makes the whole page unreadable. Their whole goal is to drive normal users crazy and drive them away from the community. 

So what moderation tools exist in MonoX now? Can a user be banned or his posts are routed for moderation? How can I see the current moderation queue? I am logged in as an Administrator and I don't see any moderation screens.

This content has not been rated yet. 
95 Reputation 10 Total posts
khorvat

khorvat

11/20/2013 9:37:29 AM
Hi,

So what moderation tools exist in MonoX now? Can a user be banned or his posts are routed for moderation? How can I see the current moderation queue? I am logged in as an Administrator and I don't see any moderation screens.
there is an option to change the approval mode for the whole discussion board, by default it's Automatic approval mode which depends on the 3rd party services to determine if post is spam or not. You can switch that mode to Manual then all the posts will end up as unapproved and you will have to approve them via the daily report.

Another options will be to implement the MonoSoftware.Web.AntiSpam.IAntiSpamProvider contract and add your custom login inside (per user banning etc.). If this is the approach you want to take, let us know and we will prepare everything for you. This approach requires some modification on our end which are on the road map, so I can push the priority on them.

Let us know how would you like to proceed. 

Regards
This content has not been rated yet. 
15993 Reputation 2214 Total posts
mmorozov

mmorozov

11/21/2013 9:27:41 PM
The IAntiSpamProvider sounds like a really good idea. The IP addresses are already captured in the posts, so I can easily compare them to the blacklist, provided that there this information is accessible from the interface implementation. And then it is just a matter of adding an IP blacklist table and some UI control to manage it.

Is there a sample anti spam provider code that I can modify?

Also, is there a way to flag a particular user for moderation, so all his/her posts are ending up in the moderation queue?
This content has not been rated yet. 
95 Reputation 10 Total posts
khorvat

khorvat

11/26/2013 2:00:26 PM
Hi,

sorry about the delay, please find the sample code below:

Spam provider registration
<AntiSpam>
      <providers>
        <add name="Akismet" type="MonoSoftware.Web.AntiSpam.AntiSpamProviders.Akismet.AkismetAntiSpamProvider, MonoSoftware.Web" apiKey="" />
        <add name="Defensio" type="MonoSoftware.Web.AntiSpam.AntiSpamProviders.Defensio.DefensioAntiSpamProvider, MonoSoftware.Web" apiKey="" />
      </providers>
</AntiSpam>
using System;
using System.IO;
using System.Text;
using System.Net;
 
using System.Xml;
using System.Xml.XPath;
 
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
using MonoSoftware.Web;
 
namespace MonoSoftware.Web.AntiSpam.AntiSpamProviders.MyProvider
{
    /// <summary>
    /// Implementation of anti spam provider interface for Defensio.
    /// </summary>
    public class MyProvider : IAntiSpamProvider
    {
        #region IAntiSpamProvider Members
 
        #region Properties
        private IAntiSpamContent _content = null;
        /// <summary>
        /// Gets or sets content entity.
        /// </summary>
        public IAntiSpamContent Content
        {
            get
            {
                return _content;
            }
            set
            {
                _content = value;
            }
        }
 
        private decimal _spaminess = 0;
        /// <summary>
        /// Gets Spaminess factor.
        /// </summary>
        public decimal Spaminess
        {
            get
            {
                return _spaminess;
            }
        }
 
        private string _signature = string.Empty;
        /// <summary>
        /// Gets content signature.
        /// </summary>
        public string Signature
        {
            get
            {
                return _signature;
            }
        }
        #endregion
 
        #region Constructor
        /// <summary>
        /// Constuctor.
        /// </summary>
        /// <param name="apiKey">API key.</param>
        public MyProvider(string apiKey)
        {
        }
        #endregion
 
        #region Methods
        /// <summary>
        /// Checks spam.
        /// </summary>
        /// <returns>True if the comment is spam, false otherwise.</returns>
        public bool CheckSpam()
        {
            if (Content == null)
                return false;
             
        }
 
        /// <summary>
        /// Announces content post.
        /// </summary>
        public void AnnoncePost()
        {
            if (Content == null)
                return;
 
             
        }
 
        /// <summary>
        /// Reports spam.
        /// </summary>
        public void ReportSpam()
        {
            if (Content == null)
                return;
 
            
        }
 
        /// <summary>
        /// Reports ham.
        /// </summary>
        public void ReportHam()
        {
            if (Content == null)
                return;
 
             
        }
        #endregion
 
        #endregion
    }
 
 
     
}

"Also, is there a way to flag a particular user for moderation, so all his/her posts are ending up in the moderation queue?" - there is no such functionality at the moment, so you will have to implement this yourself.

Regards
This content has not been rated yet. 
15993 Reputation 2214 Total posts