OrchardCMS / OrchardCore

Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework.
https://orchardcore.net
BSD 3-Clause "New" or "Revised" License
7.36k stars 2.37k forks source link

OpenCart integration 2 #6310

Closed aprokopyev closed 4 years ago

aprokopyev commented 4 years ago

Dear developers,

Regarding to issue:

https://github.com/OrchardCMS/OrchardCore/issues/6309

AllOne SSO could be used to integrate with other useful software too, not only commerce.

And your commerce module looks too poor and unusable for me, if looking at amount of plugins of OpenCart: https://www.opencart.com/index.php?route=marketplace/extension

You notice that even nopCommerce is not a competitor for OpenCart.

And look at their forums: https://forum.opencart.com/

There are more than a half of a million of posts, it is super popular and functional.

And even if it would not be, I just need AllOne SSO integration, could you please ignore exactly commerce specific subject in our discussion and continue it in terms of SSO integrations?

Btw, when are you going to release your CMS?

May be it is easier to integrate into Piranha CMS at this point of time?

https://github.com/PiranhaCMS/piranha.core/issues/1210

hishamco commented 4 years ago

And your commerce module looks too poor unusable for me

@aprokopyev as I told you before the Commerce module is still in progress, so don't expect too much until a stable release ;)

could you please ignore exactly commerce specific subject in our discussion and continue it in terms of SSO integrations?

In terms of SSO, there's already an issue create by someone suggesting such thing, I will try to send you the link to follow up

Btw, when are you going to release your CMS?

We're plan to release an RC2 soon, but believe me at this stage the Orchard Core is powerful and more architect one, it contains many many modules and feature, beyond the imagination

hishamco commented 4 years ago

Please have a look to #2900

aprokopyev commented 4 years ago

@aprokopyev as I told you before the Commerce module is still in progress, so don't expect too much until a stable release ;)

May I know, when is it going to come?

We're plan to release an RC2 soon, but believe me at this stage the Orchard Core is powerful and more architect one, it contains many many modules and feature, beyond the imagination

Waiting for release, and please let me know, what is the best way to have a custom page integrated with Orchard using server side Blazor controls (razor components) like:

https://blazor.syncfusion.com/demos/datagrid/inline-editing?theme=material or https://demos.devexpress.com/blazor/GridCascadingEditors

It would even be acceptable if CMS structure is lost on it (header, footer, menu, etc.), but at least session would be needed. Actually I am still not good in razor components concept, did not try it and used only old WebForms where Session object was present. I guess something described at this page: https://docs.microsoft.com/en-us/aspnet/core/blazor/state-management?view=aspnetcore-3.1

shall be available to my custom page to allow it to access current logged in user environment. Though keeping current CMS template structure would be better of course.

hishamco commented 4 years ago

May I know, when is it going to come?

@bleroy

what is the best way to have a custom page integrated with Orchard using server side Blazor controls (razor components)

Orchard Core hasn't built-in support for Blazor, there's already issue logged, please if you have any question other to the one you asked, feel free to log an issue

aprokopyev commented 4 years ago

May I know, when is it going to come?

@bleroy

I have asked him already a few months ago: https://github.com/OrchardCMS/OrchardCore.Commerce/issues/59

He suggested me to make it by myself :) Getting ready something popular like OpenCart most likely would take me hundreds of years alone and without a budget ... Though I am not sure anyone else can do such task alone sooner especially taking into account all the addons and extensions in the OpenCart marketplace.

And OpenCart architecture is a shit: https://web.archive.org/web/20200531165701/http://www.techchattr.com/never-use-opencart

May be integration of Orchard with nopCommerce would be a better idea than working on your own commerce module?

https://en.wikipedia.org/wiki/NopCommerce

Orchard Core hasn't built-in support for Blazor, there's already issue logged, please if you have any question other to the one you asked, feel free to log an issue

I have already seen that issue, and they suggested to use client side Blazor which I am not interested in. Looking for a workaround though.

According to Piranha CMS developers it shall be possible to customize CMS (templates if I understood correctly) to get some Blazor functionality separately from the default CMS template: https://github.com/PiranhaCMS/piranha.core/issues/1199

bleroy commented 4 years ago

Yeah, since I'm being summoned, and without sounding too dismissive, here's some additional info and perspective from the Core Commerce viewpoint.

If you have a commerce project big or small that needs to go into production soon, you have two responsible options, none of which is Orchard Core Commerce at this point:

As for Core Commerce, you can expect a minimum product by September, but I want to manage expectations.

My objective is twofold:

My objective is not and probably never is going to be to compete with well-established platforms. They have the maturity, the codebase, and the community. Those things take a very long time to build, with no sure path to success.

Also, and this is very important, this is mostly me plus a few talented contributors. I can't speak for other contributors, but I'm not doing this for a customer (I don't have customers at this point and no plans to get any). Orchard Core Commerce is a work of love made on my own free time (of which I have little) because I love coding and apparently my day job is not enough. So yeah, whether it would be a "better idea" to integrate nopCommerce (or OpenCart, or whatever) than to working on a new commerce module is your call as far as your own time and projects are concerned, but for me personally and Core Commerce that is a completely irrelevant question because you won't make me work on integration as I don't see the fun in that. Your mileage and business requirements will undoubtedly vary.

Finally, I want to ask, because I'm confused: what would Blazor support specifically mean and what is non-client-side Blazor? Isn't that just Razor, which Orchard Core has always supported?

aprokopyev commented 4 years ago

Finally, I want to ask, because I'm confused: what would Blazor support specifically mean and what is non-client-side Blazor? Isn't that just Razor, which Orchard Core has always supported?

Please look at:

https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models?view=aspnetcore-3.1 https://www.grapecity.com/blogs/intro-to-blazor-and-web-assembly https://www.telerik.com/blogs/difference-between-blazor-vs-razor

Actually I did not code anything except WebForms and WinForms, but IMHO server side Blazor looks for me like an advanced Razor page with a permanent signal connection between client and server. I am interested in Blazor components only because DevExpress is going to make their XAF App framework available in Blazor too, and right now they even provide a free subscription for their Blazor controls: https://www.devexpress.com/blazor/

You can also find a huge amount of free components including Blazor at Syncfusion: https://www.syncfusion.com/products/communitylicense

Can the Community License be used for open source projects? The Community License can be used in open source projects, but we require that you first contact us to register.

Demos to compare Blazor grids: https://blazor.syncfusion.com/demos/datagrid/inline-editing?theme=material https://demos.devexpress.com/blazor/GridCascadingEditors

bleroy commented 4 years ago

I see, it's all about state, it seems, thanks for the pointer. Damn, the more I learn about Blazor...

aprokopyev commented 4 years ago

Most likely I will try Wordpress with Woocommerce both of which are free of charge directly from their authentic authors, it takes about 30% of the whole amount of sites with their own shopping carts. Not sure how good its architecture is: https://web.archive.org/web/20200511003412/https://kinsta.com/blog/is-wordpress-code-really-a-mess/

, anyway I am not going to code anything in PHP, so I will use it just as a black box though it is open source. I do not need a big shop, just a small shopping cart to sell virtual goods - custom scripts. Though for a big shop (which I do not need) nopCommerce looks better than Woocommerce: https://www.nopcommerce.com/en/nopcommerce-vs-woocommerce-differences-in-functionality-and-performance

Wordpress CMS on which Woocommerce is based has a lot of authentication plugins, most likely it will be easy to find a reliable OAuth plugin to connect it to any DotNet CMS, where I can do some custom coding if needed.

Also Woocommerce offers a RESTful API for a better integration with anything custom.

Almost any payment gateway providing CMS integrations has a ready option for Woocommerce: https://web.archive.org/web/20200531205437/https://www.cryptomorrow.com/2018/05/02/cryptocurrency-payment-gateways-for-your-business/

Another interesting point about Wordpress it is a GPL software and most addons are GPLed too. Therefore even the best expensive plugins like extensions for Woocommerce and many more are available almost free of charge (except a little subscription fee to handle distribution) from other distributors thanks to a GPL: https://woocrack.com/club/ No any support of course. Though it spells with a not nice word crack it is not illegal because of GPL nature. Sure it is better to purchase addons from their authentic authors with a support and warranty against trojans and other malware, but it can be a good idea to try to verify your choice before purchasing.

There are a lot of e-commerce addons for Wordpress: https://web.archive.org/web/20200601224447/http://wpscoop.com/comparisons/wordpress-ecommerce-plugins-comparison/

http://wpscoop.com/comparisons/wordpress-ecommerce-plugins-comparison/woocommerce-vs-easy-digital-downloads-comparison/

https://wp-rocket.me/blog/best-ecommerce-plugins/

Skrypt commented 4 years ago

Ok this post turns into an apology of Wordpress and Woocommerce. My opinion is that it's the worst path that you could get into. Sorry for sharing my thought. I think @bleroy summarized and explained pretty well his opinion and I agree with him. If you need a mature .NET Core ecommerce platform please look at alternatives as OrchardCore.Commerce is not ready yet.

I'm not advertising any other solution. If you planned investing time on Orchard Core you should maybe use it for what it is : a .NET Core framework with a Content Management System.

If you need a complete ecommerce solution now then there is no perfect system and you should pick the system that will suit your needs the most by defining what you require first and look afterward the time it will take to implement this with different systems if the requirements you have are implemented or not.

Personally, I would not have any problem using OrchardCore.Commerce starting from now. Also, having a different subdomain with a different system for a ecommerce app is a good practice so there is no issue using Orchard Core and a different system together.

If the issue is about having a Single Sign On with NopCommerce for example then I'm pretty sure this is something that would be achievable with some few extra work time on your side.

OC has a GraphQL and standard REST API that can be used to share data between both systems.

aprokopyev commented 4 years ago

Woocommerce looks nice for me because it has a ready working plugin almost for any payment gateway if such gateway offers plugins at all.

nopCommerce has very few plugins for accepting coin payments.

As I told nopCommerce looks nice for a big shop, but for a small site with a few of pages which I need only for a few of scripts sold it is an overkill also missing ready needed plugins.

Skrypt commented 4 years ago

Every paiement processor have their own documented API's which are most of the time easy to implement. Stripe for example has a documented javascript API which would take around 2 or 3 days of work time to implement in the current OC Commerce module. Maybe I'm wrong but you should look into those bitcoins processors and open an issue on that topic in the proper repository.

As for WooCommerce, I'm warning you that it is not a proper secure solution if you want to make a quick reliable ecommerce website. Everyone has stories to share about having issues with Wordpress but I don't want to get into that.

Nothing done quick and easy is reliable most of the time.

hishamco commented 4 years ago

I think this enough for this topic, we are not comparing WooCommerce, OpenCart .. etc to OC Commerce module, as I said it's still in progress, furthermore that guys mentioned that it's enough for eCommerce - not fully feature -

So my advice to start with OC and you could do some contribution to Commerce module if you like, I will close this for now, if there's anything else related to OC, please don't be hesitate

Thanks

aprokopyev commented 4 years ago

I see, it's all about state, it seems, thanks for the pointer. Damn, the more I learn about Blazor...

For me server side Blazor looks like Terminal Services or VNC with following differences:

1) Instead of keeping on the server a screen framebuffer Blazor keeps a rended tree of components. 2) Instead of sending to the client sprite diffs Blazor sends diffs of HTML DOM applied on a light client browser site.

In both cases application runs the whole time on the server (Blazor, RDP, VNC, etc.) and client used only just to display visual diffs of the application output, logic is not present on the client unless old style JS is used together with Blazor which is not required, it is just an option. Light client can be used to display very heavy applications running on the server. Blazor application can run on client or server, server side Blazor is just an option, the same application can run on the client side if the browser is capable to run WebAssembly, sure there can be other issues like connection to layers of business logic and data access which may be firewalled from external standalone clients and available only for server application.