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 )

13531 put(a) pogledan, 10 odgovor(a) 13.11.2013. 6:56:24Kreirao(la) mmorozov
mmorozov

mmorozov

13.11.2013. 6:56:24
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.
Ovaj sadržaj još nije ocijenjen. 
95 Reputacija 10 Ukupno objava
khorvat

khorvat

13.11.2013. 10:58:48
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
Ovaj sadržaj još nije ocijenjen. 
15993 Reputacija 2214 Ukupno objava
mmorozov

mmorozov

13.11.2013. 11:06:38
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.
Ovaj sadržaj još nije ocijenjen. 
95 Reputacija 10 Ukupno objava
khorvat

khorvat

13.11.2013. 13:31:58
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
Ovaj sadržaj još nije ocijenjen. 
15993 Reputacija 2214 Ukupno objava
mmorozov

mmorozov

13.11.2013. 20:51:30
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.

Ovaj sadržaj još nije ocijenjen. 
95 Reputacija 10 Ukupno objava
khorvat

khorvat

14.11.2013. 23:10:23
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
Ovaj sadržaj još nije ocijenjen. 
15993 Reputacija 2214 Ukupno objava
mmorozov

mmorozov

15.11.2013. 0:08:28
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.

Ovaj sadržaj još nije ocijenjen. 
95 Reputacija 10 Ukupno objava
khorvat

khorvat

20.11.2013. 9:37:29
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
Ovaj sadržaj još nije ocijenjen. 
15993 Reputacija 2214 Ukupno objava
mmorozov

mmorozov

21.11.2013. 21:27:41
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?
Ovaj sadržaj još nije ocijenjen. 
95 Reputacija 10 Ukupno objava
khorvat

khorvat

26.11.2013. 14:00:26
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
Ovaj sadržaj još nije ocijenjen. 
15993 Reputacija 2214 Ukupno objava