Activities of "enisn"

Hi @thedatacrew Unfortunately, there is no best way that I recommend to you.

There is a lot of factors that affect while deciding mono-repo or multi-repo. For example, the most important one is your team. How do you develop software? Which services will have a dedicated team? There is a lot of questions, and source-control usage defines how you do that job in your way.

But I can highly recommend comparing the pros & cons between mono-repository and mono-repository.

Mono-Repo

Benefits

  • Lowers Barriers of Entry (onboarding new developers is easy)
  • Centrally Located Code Management
  • Painless Application-Wide Refactorings
  • More Difficult To Break Adjacent Functionality
  • Teams Share Development Culture

Issues

  • Slower Development Cycles
  • Requires Download of Entire Codebase
  • Unmodified Libraries May Be Newly Versioned
  • Forking Is More Difficult

Multi-Repo

Benefits

  • Independent Library Versioning
  • Independent Service Releases
  • Helps Define Access Control Across the Organization
  • Allows Teams To Work Autonomously

Issues

  • Libraries Must Constantly Be Resynced
  • May Fragment Teams

Disclaimer: I've just summarized some of the topics from https://kinsta.com/blog/monorepo-vs-multi-repo/#benefits-of-monorepo You can read more about it.

In a summary, I can't say exactly the right thing because there is no single correct answer. Mostly your development cycle and culture define it.

Hi wend0rlin

Can you please set dropdownParent parameter as your modal.

It'll solve the problem. Read more about: https://select2.org/dropdown#dropdown-placement

$('#mySelect2').select2({
  dropdownParent: $('#myModal')
});

Also we've solved that issue in the same way: https://github.com/abpframework/abp/pull/10734/files

Our ABP CLI and ABP Suite both are of version 4.4.3 , we are trying to create a new solution in the same version that is 4.4.3 however the version that we get is 5.0.0.

You can create a new project with-v parameter like below:

abp new Acme.BookStore -v 4.4.3

Now, the problem we are facing in 5.0.0 is that after migration when we update database an error regarding jsonb datatype occurs as we are using postgreSQL 9.1

We're using the latest version of EntityFramework and Npgsql, so if there is an error, it might be related to the implementation of Npgsql

Hi nhontran

You're on an outdated version currently. Can you please try on newer versions?


You can follow Migrations Guides: https://docs.abp.io/en/abp/latest/Migration-Guides/Index

asp-for property type is ModelExpression and it's not related to ABP.

You can create PropertyExpression on your own for your model https://docs.microsoft.com/en-us/dotnet/api/system.linq.expressions.expression.property?view=net-6.0

And you can create a new ModelExpression with that expression. You can pass that dynamic ModelExpression to asp-for property.


Or you can use the already implemented Dynamic Forms feature of ABP Framework

You need to add project references first.

Same project layers should be referenced by same project layer. For example:

  • YourApp.Domain -> YourModule.Domain

  • YourApp.Domain.Shared -> YourModule.Domain.Shared

  • YourApp.Application -> YourModule.Application

  • YourApp.Application.Contracts -> YourModule.Application.Contracts

  • YourApp.HttpApi -> YourModule.HttpApi

  • YourApp.HttpApi.Client -> YourModule.HttpApi.Client

  • YourApp.Web -> YourModule.Web

...

To do that operation, go to your .csproj file, for example YourApp.Domain.csproj and add following reference:

  <ItemGroup>
  
    ...
  
    <!-- Place correct path to your module -->
    <ProjectReference Include="..\..\modules\YourModule.Domain\YourModule.Domain.csproj" />
  <ItemGroup>

Then you should add the DependsOn attribute over your YourAppDomainModule class:

[DependsOn(typeof(YourModuleDomainModule))] // <-- Add this line.
public class YourAppDomainModule : AbpModule
{
    // ...
}

And make this step for each layer.

I can't provide a way that works perfectly in any situation. Each module has different parts and extensions (maybe), the current version of CLI cant guarantee your module will be installed properly if you replace the cache, but it's a way to try.


For the current version (v5.0), the best way to install module is manual installation. Adding dependencies to .csproj files and [DependsOn(typeof(...))] attribute over module class manually is the most consistent way.

You're right, Volo.Payment.Web is a MVC implementation of payment but that's what we have right now. Payment module has only Web implementation and you need to add that dependency to use PaymentGateway page. You can still configure the return URL and your users won't see those pages.

Even in an angular application, payment operations are running on server pages (MVC).


Payment gateways can't be provided by an API, it's implemented something like that:

  Gateways = _paymentWebOptions.Value.Gateways
            .Where(x => gatewaysDtos.Any(a => a.Name == x.Key))
            .Select(x => x.Value)
            .ToList();

If you still want to implement for blazor, you'll need to implement for each payment provider, currently, we have the following implementations:

  • Volo.Payment.Iyzico.Web
  • Volo.Payment.PayPal.Web
  • Volo.Payment.Payu.Web
  • Volo.Payment.Stripe.Web
  • Volo.Payment.TwoCheckout.Web

Firstly, it seems you're using a tiered application right? Is your solution tiered?

As I can see, you're using MVC UI with dynamic proxies at both js & csharp; So make sure your HttpApi.Host and Web projects include Volo.Payment.HttpApi dependency.

Hi @marketbus,

But I am getting a stripe exception stating that the sessionId is missing.

Can you please share what exception you got?


After a payment request was created, you need to redirect to/Payment/GatewaySelection?paymentRequestId=THE_ID_OF_PAYMENTREQUEST endpoint. If that endpoint doesn't exist in your application make sure your project has Volo.Payment.HttpApi and Volo.Payment.Web dependencies.

Also, when testing from within stripe, the default yourdomain.com/payment/stripe/webhook endpoint do not work. Events sent to this endpoint return an exception.

Volo.Payment.HttpApi includes webhook endpoints. If you add that dependency properly, the endpoint will exist in your application. Also sending a test webhook will always return an error because the application can't find any entry with a randomly generated id sent by test request.

Volo.Payment.Web includes web components and pages such as 'GatewaySelection', 'PrePayment', 'PostPayment' etc. If you add that dependency and configure it properly, your flow should work without an error.

If the project already has those dependencies and the exception is different than 404 not found error, please share your logs and which dependencies your project has.

Showing 281 to 290 of 381 entries
Made with ❤️ on ABP v9.2.0-preview. Updated on January 14, 2025, 14:54