abpframework / abp

Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
https://abp.io
GNU Lesser General Public License v3.0
12.94k stars 3.45k forks source link

asp.net zero or abp.io #1481

Closed mdissel closed 5 years ago

mdissel commented 5 years ago

We are investigating the apb framework features for a new project (asp.net core). Is the advice (at this moment) to use the mature asp.net zero framework or the new abp.io framework? Is there a feature overview between the two frameworks?

maliming commented 5 years ago

See https://blog.abp.io/abp/Abp-vNext-Announcement

mdissel commented 5 years ago

Yes, i've read the blog post (a long time ago), but it's 9 month old, is the advice still to use the mature asp.net zero framework?

maliming commented 5 years ago

I recommend you to use Zero.

cxs-mahendra commented 5 years ago

I am already using ASPNetBoilerplate and am very excited to know the release of abp.io. I am looking for a sample code to develop plug-in module using abp.io. Basically the requirment is something below.

  1. There is a multi-tenant application developed using abp.io
  2. A tenant subscribe to our application and running their business happily.
  3. Now the tenant wanted to make some business logical changes to the existing screen and also wanted to add a new screen.
  4. I am sure this can be achieved using extensibility feature that abp.io provides.
  5. Can you direct me to a link where I can find some help on how to modify/extend existing application.
ismcagdas commented 5 years ago

@cxs-mahendra would you like to make changes on specific pages or would you like to create a new module ?

KevinFarrow commented 5 years ago

Similar to this question https://github.com/abpframework/abp/issues/2006

cxs-mahendra commented 5 years ago

@cxs-mahendra would you like to make changes on specific pages or would you like to create a new module ?

Actually Both....

cxs-mahendra commented 5 years ago

@ismcagdas: Let me explain you the scenario in more detail. Lets say I have master screen (say product master) and a transaction screen say Goods Receipt. My application is being used by say 1000 tenants. My application is deployed on some cloud solution (say azure).

Now, Tenant 1, needs some custom logic to implement while saving the product. Tenant 2, needs to add some more fields in Goods Receipt (i.e. UI changes) and also wanted to change the logic of saving the Goods Receipt. Tenant 3, needs to add a button on product master and clicking on it opens up a new form.

I mean how can someone without having the source code of the main application can extend or modify the application that too for his tenant only.

I hope I am able to make myself clear.

Can all these be possible using abp.io. If yes, please help me guiding in the right direction. I am already a licensed user of ABP and now evaluting abp.io

bobingham commented 5 years ago

@cxs-mahendra , use Zero. It's great and you can change things, it's not monolithic like abp.io.

cxs-mahendra commented 5 years ago

Thanks for your recommendation. I know new modules can be added using IPlugInSource interface. But how can I change the business logic of existing module. Let's say there is a button in a form on my main application. How can I write my custom code on button click event. The code execution of button click could be My Custom Code Execution (i.e. Before Event) My main application click code execution My Customer Code Execution (i.e. After Event)

ismcagdas commented 5 years ago

@cxs-mahendra both ABP.IO and AspNet Boilerplate doesn't provide any built in feature for that. So, you have to implement it yourself.

cxs-mahendra commented 5 years ago

Hi,

I am referring to the following link : https://github.com/aspnetboilerplate/aspnetboilerplate/issues/1476#issuecomment-277330004

I downloaded the project from GitHub, Compile and rum, it runs successfully..

Now I am trying to run this as a plugin. So in the main application I did something like below: I removed the dependency of TodoModuleWebModule

[DependsOn(typeof(ModularTodoAppWebCoreModule))]
public class ModularTodoAppWebMvcModule : AbpModule
{
  ......
  .......

And in the Startup.cs file, I did the following: services.AddAbp(options => { options.PlugInSources.AddFolder(@"C:\MyPlugIns"); });

And in the folder C:\MyPlugIns, I put in all the compiled dll of ToDo Module.

When i tried to run this application now, it throws me the attached error. Could you please help me what is wrong that I am doing.

Error.docx

cxs-mahendra commented 5 years ago

can anyone please help me resolving issue in my above post. Many thanks

maliming commented 5 years ago

hi @cxs-mahendra Can you create a new issue here? https://github.com/aspnetboilerplate/aspnetboilerplate/issues/new If possible, please provide the code or project to reproduce the problem, thank you