• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Perspective API Integration by AddonsLab [Paid] 1.3.0

No permission to buy ($19.99)

AddonsLab

Well-known member
#1
AddonsLab submitted a new resource:

Perspective API Integration by AddonsLab - Post moderation and live feedback about post quality using Google Perspective API

Add-On Information
Google Perspective API is the next generation AI tool for automated content moderation and quality control.

Google Perspective API is still in beta and you need to request API access to use the add-on. Please visit https://www.perspectiveapi.com/ for more information

This add-on integrates XenForo and Google Perspective API. The key features you get with the integration are:

  1. Independently configurable scores to check...
Read more about this resource...
 

AddonsLab

Well-known member
#4
Does this work also with other board content languages than English?
The API provided by Google works for English only for now. The add-on will support other languages as well as soon as they are supported by Google Perspective API.

The demo are not show message about level of message. Its show me server error message.

Thank you for the report, it is fixed now.

Thank you!
 

tajhay

Well-known member
#5
Are there callbacks in the addon?
Screenshot of the branding?
Does it show the toxicity of the post as the user types? Cant see a screenshot that shows that.
 

AddonsLab

Well-known member
#6
Are there callbacks in the addon?
Screenshot of the branding?
Does it show the toxicity of the post as the user types? Cant see a screenshot that shows that.
Yes, there is a callback validating the license when you edit product options and set new license code, as well as periodic callback for license expiration check and domain/ip check. License key, domain name and IP are the only information sent in the request. As it is mentioned in release notes, these remote requests happen in admin interface and deferred tasks only, so they will not affect board performance.

Please see https://addonslab.com/forums/ for branding message. It is styled exactly as XenForo branding, using the same color and font size.

It shows the toxicty as user types, the time interval for the checks being configurable in Admin Panel. Feel free to test the product at https://addonslab.com/threads/testing-perspective-api-integration.25/ The screenshot at https://xenforo.com/community/attachments/results-of-the-check-in-quick-reply-png.155042/ shows how the message looks exactly. This works both in quick reply and full editor.

Just let us know if you have any further questions.

Thank you!
 

tajhay

Well-known member
#7
Suggestions:
Allow control of which nodes to activate this addon on. Additional control via prefixes will be even better.

Whitelist/blacklist certain words/phrases.

Show user toxicity level as they type on the perspective demo. This helps them make better choices.
 

AddonsLab

Well-known member
#8
Suggestions:
Allow control of which nodes to activate this addon on. Additional control via prefixes will be even better.

Whitelist/blacklist certain words/phrases.

Show user toxicity level as they type on the perspective demo. This helps them make better choices.
Thank you for the suggestions. We will definitely consider implementing the most requested features in upcoming releases.

Thank you!
 
Last edited:

AddonsLab

Well-known member
#10
AddonsLab updated Perspective API Integration by AddonsLab with a new update entry:

New feature - enable checks in particular forums only

In this release, we have implemented forum filter to enable each type of check in particular forums only.

We have also fixed the issue with "Auto Moderate" link being shown even if there are no checks enabled.

The new version is available for all licensed customers at https://customers.addonslab.com/marketplace.php/my-services/

Thank you!
Read the rest of this update entry...
 

AddonsLab

Well-known member
#11
Look forward to purchasing when the filtering of posts is implemented :)
The feature is implemented now. Here is a screenshot showing the new node-based filter - https://xenforo.com/community/attachments/product-options-png.155211/

Additional control via prefixes will be even better.
We will consider implementing this feature in upcoming releases.

Whitelist/blacklist certain words/phrases.
Unfortunately, this does not seem to be something we can implement in the add-on. Of course, we could have an option with a simple list of words or phrases to exclude, and these words and phrases would be removed from the message before it is set to Google for quality check. However, this list of words would not be useful, if your users use practically the same phrase, but with small differences in spaces, punctuation or word spelling. Another issue is that removing the words from the text might alter the meaning of the message, which would result in lower quality of message analysis on Google's side. We will definitely consider implementing it once Google API has the option to specify phrases/words to be excluded from the check.

Show user toxicity level as they type on the perspective demo. This helps them make better choices.
We have planned several UI enhancements, this one being one of them, however, we have some other enhancements to implement before we will start working on this one.

Feel free to inform us, if there are any issues or you have any further suggestions.

Thank you!
 

tajhay

Well-known member
#12
Hi @AddonsLab has this been implemented?

"This will allow implementing per-user configurable options, that allow users to automatically hide from all threads the posts with lower than pre-defined "quality" level. The control could also be implemented in thread page itself allowing live hiding/unhiding posts based on their quality." That is what im referring to when i mention filtering of posts "
(Via a slidebar as per the reading demo on the perspective site)
 

AddonsLab

Well-known member
#14
Hi @AddonsLab has this been implemented?

"This will allow implementing per-user configurable options, that allow users to automatically hide from all threads the posts with lower than pre-defined "quality" level. The control could also be implemented in thread page itself allowing live hiding/unhiding posts based on their quality." That is what im referring to when i mention filtering of posts "
(Via a slidebar as per the reading demo on the perspective site)
I see. It is not implemented yet but will be implemented soon. You can expect this in the upcoming release in about a week.

How long does an API key from Google usually take?
At least a month it seems, for us to it took up to 4 months.

Thank you!
 

tajhay

Well-known member
#15
At least a month it seems, for us to it took up to 4 months.
So if anyone purchased this addon today, they wouldnt be able to use it until they get their API key which would take over a month? I plan on buying this addon when the base featuresi require are in, so perhaps i should apply for the API now?
 

AddonsLab

Well-known member
#16
So if anyone purchased this addon today, they wouldnt be able to use it until they get their API key which would take over a month? I plan on buying this addon when the base featuresi require are in, so perhaps i should apply for the API now?
Exactly, make sure to apply as soon as possible. Right now we are working on the next update, that will allow users to set their own filter and do not see any content with toxicity score higher than that.

We will update here once the feature is ready.

Thank you!
 

Alfa1

Well-known member
#17
Yes, there is a callback validating the license when you edit product options and set new license code, as well as periodic callback for license expiration check and domain/ip check.
A lot of people have had very bad experiences with callbacks. Not just because one author was banned for malicious practise including callbacks, but also because once the callback server went away our sites stopped working.

Please read the history with callbacks which made the popular addon 'best answers' abandoned, after customers came to realize the problems with callbacks. The author said it was no problem and would not affect customers websites. A very long time later after many customers left, the callbacks were removed. Ironically customers received emails warning that their sites would stop working after a certain date unless they upgrade to a new version. This is just one example in a long history of callback problems.

I will never use addons with callbacks again, except for temporary use. It just is not safe.
Having such callbacks has a significant effect on your sales. Which is a shame because you release very interesting addons.
 
Last edited:

AddonsLab

Well-known member
#18
@Alfa1, thank you for your concerns.

We are working with web applications and particularly add-ons for about 8 years already, and we already met the problem you highlight here, so we have built our licensing system having this in mind.

The reasons we chose this model are numerous, one of them is providing of different types of licenses, especially completely free trial mode and fully automated branding removal. Our licensing system was built from ground-up, with server-side handled by WHMCS and our in-house addon for it, and the part included in the products is a module carefully developed by us, tested and included in the packages automatically, so there are no bugs associated with the implementation of the licensing system itself.

The biggest number of problems we saw with licensed add-ons and callbacks was connected with the fact, that the provider unavailable, temporarily or permanently, and of course, it is not in our plans to become unavailable :) We are thankful to everyone doing business with us, and we will definitely consider making the products open source in case we are not planning or just unable to keep them updated and developed and provide the level of customer satisfaction we target.

We did, however, consider the possibility of servers being temporarily unavailable. Local licensing information is updated only when we actually succeed connecting to the server. Any type of failure (wrong SSL certificate, connectivity issue, any response from our server except 200 OK ) is considered our server's error and does not affect the already available local license data.

As we mention in all our add-ons, licensing check is done only via admin panel (when you save the licensing key), and in a cron job. We consider this the most important part of our implementation, as any license check on front-end is prone to race conditions and is guaranteed to cause issues on boards with high load. On the other hand, one call to a remote server per hour, with any possible errors being handled (they are not even stored in XenForo Server Errors, but only locally with licensing information), is hard to imagine to cause any technical issues.

Of course, we are aware of malicious use of the licensing system, but I guess we can do nothing if a developer decides to include any malicious logic in the code, no matter connecting with licensing or not, with or without callbacks. Of course, we don't run any such code in our add-ons, do not interfere with uninstallation etc. Feel free contact us at https://customers.addonslab.com/submitticket.php?step=2&deptid=2 and we will provide you with the product package and licensing system code to review it.

The discussion you have linked to about licensing errors in Best Answer add-on is very interesting, and I definitely like the idea of requesting info from our side instead of a callback. We will definitely consider implementing this. This may be in a form of XML file or some other format. We may also consider implementing this as a PHP script, that would give us better control not only to be notified about invalid add-on usage but also be able to take action (for example, notify the admin via email and disable the add-on). Please let us know your thoughts on this, and if you foresee any issues with this approach.

We will update all products with the new system soon.

Thank you for your considerations one more time, we will be glad to discuss this further and resolve any possible issues.

Thank you!
 

Alfa1

Well-known member
#19
The method of using a XML that you can spider is unobtrusive and does not pose the risks that callbacks to your server pose. You simply spider the XML file and take action if the site is unlicensed. You can indeed automate that to alert you and the unlicensed webmaster. I think the only concerns with this approach is not to poll the site too often, but enough to be aware of it. For example once a week. And of course to only have neccesary license data in the XML.

No matter how hard you try prevent your server becoming unavailable, the reality is that we have already seen various developers claiming the same and the end result was that our sites stopped working. This is why any form of callback to your server is a no go for us. But a ping from your server to ours to read an xml is no problem.
 

AddonsLab

Well-known member
#20
The method of using a XML that you can spider is unobtrusive and does not pose the risks that callbacks to your server pose. You simply spider the XML file and take action if the site is unlicensed. You can indeed automate that to alert you and the unlicensed webmaster. I think the only concerns with this approach is not to poll the site too often, but enough to be aware of it. For example once a week. And of course to only have neccesary license data in the XML.

No matter how hard you try prevent your server becoming unavailable, the reality is that we have already seen various developers claiming the same and the end result was that our sites stopped working. This is why any form of callback to your server is a no go for us. But a ping from your server to ours to read an xml is no problem.
Thank you for the clarification. XML is indeed enough to take action on our end, for example, deactivate the license so the customer can not access further updates of the add-on. It does not, however, allow to take action on customer's website, particularly to disable the add-on which is used with license violation. As we know from our experience the largest problem is not with the users here on XenForo.com, that are ready to pay for a valid license, but people who purchase the add-on only to download it, install it and immediately ask for a refund and keep using the current version. Of course, technically skilled users can overcome any licensing limitations anyway (unless we go with stronger encryption solutions like IonCube, which we don't want), but we need some mechanism not to allow this type of misuse of our services at least by majority of people who don't hack the code of the add-on, but just purchase it, activate and immediately ask for refund.

So, we consider adding a PHP script to the product package, that would get requests from our server instead of an XML file. The server would not only ask for licensing information but also provide the current state of the service. The script would check the information stored locally, synchronize it with the information received from the server, and if the license is invalid (wrong IP, wrong domain etc.) we are planning to notify the admin via email and disable the product. The only action we are going to take against invalid license usage is disabling the addon, without uninstalling it or removing any other data.

I hope this solution does not pose any risk you foresee with callbacks. Please let us know your thoughts on this as well and we will proceed with the development.

Thank you!