A new attempt to copy the Nop Ajax Filters

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
8 years ago
Hi Everyone,

You may or may not know that Nop-Templates.com as a nopCommerce vendor has a flagship product called Nop Ajax Filters.

In the past there were several attempts by nopCommerce vendors to copy this product, which we duly reacted to and stopped. In all these cases we decided not to make the information public because this would have been bad publicity for the nopCommerce eco-system.

Unfortunately the attempts to copy our plugins continue with the Nop Ajax Filters receiving the usual focus. So we have decided from now on to make every single case public in the community.

Who is in the spotlight this time:

http://dev-partner.biz/

They just released their new Product Ajax Filters plugin. And here is their demo website:

http://edost.dev-partner.biz/hp]http://edost.dev-partner.biz/hp

Just briefly inspecting the html code of the filters on the left panel we can see html classes that has a one to one 1:1 correspondence with the Nop Ajax Filters.

1. filtersGroupPanel
2. filterItemUnselected
3. data-option-id
4. data-optionsgroupid

But most blatantly here is what is also in the HTML:

specificationFilterPanel7Spikes
priceRangeFilterPanel7Spikes

They did not even bother to remove our 7Spikes brand suffix.

Now opening the CSS file of their filters:
http://edost.dev-partner.biz/Plugins/Widgets.PriceFilter/Themes/DefaultClean/Content/AjaxFilters.css]http://edost.dev-partner.biz/Plugins/Widgets.PriceFilter/Themes/DefaultClean/Content/AjaxFilters.css

It starts with:

/*
* Copyright 2014 Seven Spikes Ltd. All rights reserved. (http://www.nop-templates.com)
* http://www.nop-templates.com/t/licensinginfo
*/

The javascript code of the filters heavily depends on all these classes so opening the script:

http://edost.dev-partner.biz//bundles/scripts/tsdd7657psdlk1sfvjq5jjt851e0b_wi8xlliflafza1?v=xp0uUjqxmLAkmjNZ0YdnqlSg48s5n2YJQT0Ye6fcC5M1]http://edost.dev-partner.biz//bundles/scripts/tsdd7657psdlk1sfvjq5jjt851e0b_wi8xlliflafza1?v=xp0uUjqxmLAkmjNZ0YdnqlSg48s5n2YJQT0Ye6fcC5M

and just searching for the word 7Spikes finds us 35 occurrences.

So these guys did not even make the effort to rename not theirs, but our code.

Right now I can see that the plugin has already been removed from the Extensions section of nopCommerce so I hope http://edost.dev-partner.biz/ will remove it from all public websites before we take legal actions.

You must be wondering why we are making this public in the forum?

We are doing this because we believe that the attempts to copy our plugins will go on and that there must be at least history in the community of the vendors who blatantly tried to do so.
8 years ago
I am sure Dev-Partner.biz will be removing their demo website soon. So here is some screenshots of their code as of right now:

http://www.nop-templates.com/help/evidence1.jpg

http://www.nop-templates.com/help/evidence2.jpg

http://www.nop-templates.com/help/evidence3.jpg
8 years ago
As far as I know you don’t sale the source code and you minify your JS. So we could not copy your plugin and use your code. It’s just impossible… Also I saw the demo of your plugin and I absolutely sure that we have developed our one plugin because we have a totally different admin panel and even different features in our plugins. You can buy our plugin with source code and review our code or you can review our http://edost.dev-partner.biz/Plugins/Widgets.PriceFilter/Scripts/Filters.js js code. I’m absolutely sure that it will not be a problem for you to figure out that we used our own code and you will save some time & money for any legal actions.
8 years ago
Then please explain just one of the things I have list in my previous post!

Why does your CSS file start with these lines?

http://edost.dev-partner.biz/Plugins/Widgets.PriceFilter/Themes/DefaultClean/Content/AjaxFilters.css

starts with this:

/*
* Copyright 2014 Seven Spikes Ltd. All rights reserved. (http://www.nop-templates.com)
* http://www.nop-templates.com/t/licensinginfo
*/

Andrei, would you mind stepping into this because I do not have the nerve and time to deal with such infinite impudence?

The other vendors who did this before, at least had the decency to admit they did something wrong.
8 years ago
Yes, I suppose the developer copied your CSS. He was punished already and we redeveloped html layout and CSS. Thank you for your help in finding this issue.
Please let me know if you would like to compare your code with our code. I will be happy to assist you with this task. It can be easily done by using any merging tool.
8 years ago
The HTML and the javascript files are all full of references to "7Spikes"!

http://edost.dev-partner.biz//bundles/scripts/tsdd7657psdlk1sfvjq5jjt851e0b_wi8xlliflafza1?v=xp0uUjqxmLAkmjNZ0YdnqlSg48s5n2YJQT0Ye6fcC5M1

So obviously it is not just the CSS file.

And you of course have no idea what your developers are doing!!?

All other vendors before you have made the exact same excuses. "It was the developers who did it."

But you as a company are one whole and you should act as one.

Andrei, I think vendors like this should be removed from the partnership program and never be allowed to participate in the nopCommerce eco-system again.

Because if companies like this remain in the eco-system, it would be clear to all that you can get away with just "It was the developers", which is extremely discouraging to the vendors who are investing time and resources to create their own products, only later to compete with their own codebase.

I will more than appreciate for all nopCommerce vendors, forum moderators and stakeholders to comment on whether such vendors should remain in the nopCommerce eco-system?
8 years ago
Sorry that we copied your CSS and we have redeveloped it already and I absolutely sure that it will not happen again.
Please open the js file which you refer to or which I have provided you with and try to find your code. Did you do it? You said that you know each line of your code in this case it takes just one minute to understand that we have different code.
It's technically impossible to copy your plugin even if we wanted...
And I will be happy to help you to compare your code with our to show that it's a totally different code.
8 years ago
Hi guys,

This is not the first case (even not the second one) when somebody cloned plugins of nop-templates. Previously we made some discussions between three parties in such cases: nopcommerce & nop-templates & a vendor who cloned. We always resolved it in a friendly way without publishing information about illegal action on these forums. Such vendor always deleted a cloned product and made excuses. Looks like nop-templates team is tired of it now. And I understand and support them in this case. I also wouldn't like if some gets nopCommerce source code with violation of our license terms (we all know about legal case vs smartstore which is still open).

It's quite obvious for me that Product Ajax Filter (by dev-partner.biz) is a clone of Nop Ajax Filters (by nop-templates). It's definately was cloned. No doubts. And it's unacceptable. All posts about this plugin on our social pages and these forums have been deleted. It also has been removed from our extenions page. I also ask dev-partner.biz to delete it from its official site.

It'll skip the part about removal from the partnership program and eco-system now and will comment it a bit later.
8 years ago
Andrei, as far as I understand you are not going to remove us from partner list. please confirm it
We have removed our clone of Filters plugin on May 08, 2015. This plugin contains just CSS(html) of the plugin nop-templates. We have developed this plugin because of our client's needs and we didn't have a possibility to buy this plugin with source code.

1). You will find the beginning of nop-templates JS below
nop-templates
/*
* Copyright 2014 Seven Spikes Ltd. All rights reserved. (http://www.nop-templates.com)
* http://www.nop-templates.com/t/licensinginfo
*/


var nop7SpikesAjaxFiltersGridClass = "nop7SpikesAjaxFiltersGrid"; $(document).ready(function () { "function" !== typeof String.prototype.trim && (String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, "") }); var a = new FiltersManager; a.addProductPanelAjaxBusyToPage(); $(".nopAjaxFilters7Spikes .block .title a.toggleControl").on("click", function () { !0 == $(this).hasClass("closed") ? $(this).removeClass("closed") : $(this).addClass("closed"); $(this).parent().siblings(".filtersGroupPanel").slideToggle("slow", function () { $(this).css("overflow", "") }) }); $(".nopAjaxFilters7Spikes .block .title a.clearFilterOptions").each(function () { $(this).click({ filtersManager: a }, a.clearFilterOptions); $(this).hide() }); $(".nopAjaxFilters7Spikes .filtersDropDown a.allFilterDropDownOptions").each(function () { $(this).click({ filtersManager: a }, a.selectAllFilterDropDownOption) }); var b = $(".nopAjaxFilters7Spikes .filtersTitlePanel a.clearFilterOptionsAll"); b.click({ filtersManager: a }, a.clearAllFilterOptions); b.hide(); a.replaceSortAndViewOptionsDropDowns();


Our code:
$(function () {
    var price = {
        categoryId: $("#parentPane").data('category'),
        manufactId: $("#parentPane").data('manufacturer'),
        priceFrom: 0,
        priceTo: 0,
        minPrice: parseFloat($("#priceMin").val()),
        maxPrice: parseFloat($("#priceMax").val()),

        pageSize: getParameterByName($("#products-pagesize :selected").val(), "pagesize"),
        pageIndex: 1,
        orderBy: getParameterByName($("#products-orderby :selected").val(), "orderby"),
        viewMode: "grid",
        manufacturers: "",
        productSpecAttr: "",
        firstFilter: ""
    };
    var element = "<div class=\"product-selectors\"><div class=\"product-viewmode\" style=\"width:200px; padding:0px; margin:0px\"><span>View as</span><select id=\"products-viewmode\" name=\"products-viewmode\"  style=\"width:100px\" onchange=\"setLocation(this.value);\"><option selected=\"selected\" value=\"/asus?viewmode=grid\">Grid</option><option value=\"/asus?viewmode=list\">List</option>" +
      "</select></div><div class=\"product-sorting\" style=\"width:230px; padding:0px; margin:0px\"><span>Sort by</span><select id=\"products-orderby\" name=\"products-orderby\" onchange=\"setLocation(this.value);\"><option selected=\"selected\" value=\"/asus?orderby=0\">Position</option><option value=\"/asus?orderby=5\">Name: A to Z</option><option value=\"/asus?orderby=6\">Name: Z to A</option>" +
      "<option value=\"/asus?orderby=10\">Price: Low to High</option><option value=\"/asus?orderby=11\">Price: High to Low</option><option value=\"/asus?orderby=15\">Created on</option>" +
      "</select></div><div class=\"product-page-size\" style=\"width:250px;margin:0px;padding:0px;\"><span>Display</span><select id=\"products-pagesize\"  style=\"width:60px\" name=\"products-pagesize\" onchange=\"setLocation(this.value);\"><option value=\"/asus?pagesize=4\">4</option><option selected=\"selected\" value=\"/asus?pagesize=8\">8</option><option value=\"/asus?pagesize=12\">12</option>" +
      "</select><span>per page</span></div></div>";


As you can see the code was developed by our developers.

2). Just if someone think that our JS contains fragments of nop-templates files I  compared those file and they are totally different.
http://clip2net.com/s/3ibnvIL

3). As for the image below
http://www.nop-templates.com/help/evidence1.jpg

I have tried to find those CSS selectors in their code.
http://clip2net.com/s/3ibnOK3 - I wasn't able to find .priceRangeFilterPanel7Spikes .filtersGroupPanel  
http://c2n.me/3ibopjw - I wasn't able to find .manufacturerFilterPanel7Spikes .filtersGroupPanel ul
I think I will not be able to find other selectors because our JS files have different structere and have been developed by our developers.

4) Admin parts of nopTemplates - http://clip2net.com/s/3ibphbR
Our admin - http://clip2net.com/s/3ibpoDZ
The admin interface is different

Also as far as I know we didn't do Product attributes filters. nop-Templates have declared that they have this feature so the Public interface was different too.

We published our plugin because we had seen other similar plugins.
https://www.nopcommerce.com/p/1661/quickfilter-widget-with-sourcecode-nop4youcom.aspx
https://www.nopcommerce.com/p/1448/catalog-accelerate-and-multicheckbox-filters-updated-free-trial-to-14102014.aspx

Also I have seen many other popular clones:
Product PreView
https://www.nopcommerce.com/p/1566/bs-quick-view-plugin-free.aspx
https://www.nopcommerce.com/p/1533/product-preview.aspx
https://www.nopcommerce.com/p/1415/quickview-widget-nop4youcom.aspx
https://www.nopcommerce.com/p/1128/simple-quickview-product.aspx
https://www.nopcommerce.com/p/867/nop-quick-view-nop-templatescom.aspx
Checkout
https://www.nopcommerce.com/p/1249/single-one-page-checkout.aspx
https://www.nopcommerce.com/p/1265/simple-checkout-v4.aspx
https://www.nopcommerce.com/p/1749/nop-one-page-checkout-nop-templatescom.aspx
Menu
https://www.nopcommerce.com/p/1747/xtreme-mega-menu.aspx
https://www.nopcommerce.com/p/1709/roasted-menu-roastedbytescom.aspx
https://www.nopcommerce.com/p/1645/nop-menu-manager.aspx
https://www.nopcommerce.com/p/1612/responsive-mega-menu.aspx
https://www.nopcommerce.com/p/1015/nop-categories-header-menu-nop-templatescom.aspx
https://www.nopcommerce.com/p/1013/nopcommerce-mega-menu-responsive-plugin-280-350.aspx
https://www.nopcommerce.com/p/955/eshiply-menu-plugin-v214.aspx
https://www.nopcommerce.com/p/592/nop-mega-menu-nop-templatescom.aspx
and etc.

We wouldn't developed this plugin if we had opportunity to buy this plugin with the source code and we usually recomend to buy theme of Nop-Templates.com and 5-7 our customers have used those themes.
I think it will be better not to argue and try to improve nop ecosystem as friendly environment and work together on creating new products. We also have spent time and money to develop the Filters plugin and we have removed our plugin from our site(because of CSS) and I am asking nop-templates resolution to remove this topic.
8 years ago
ivinsky wrote:
Andrei, as far as I understand you are not going to remove us from partner list. please confirm it

Right. As I've already replied by email it won't happen this time. But it should be clear for all other vendors that it's definately not acceptable to clone plugins (source code) of other vendors.

I won't comment anything about the rest part. I think nop-templates will comment your reply.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.