Open Closed

ABP Suite - various #7003


User avatar
0
alex.maiereanu@3sstudio.com created

Database provider: EntityFrameworkCore UI framework: Angular ABP Version: 8.0.5 Generated through ABP Suite

Hi ABP team,

I'm posting here a couple of points related to abp suite. Could you assist us with them?

Will value objects be supported? And any time soon?

From the ABP provided documentation, it’s clear that value object type is not supported, but this can’t be achieved through custom code either.

As noticed from the figure, the custom code part indeed can be modified and changes won’t be lost. Or

After applying changes in DbContext class to register the properties from value object SupplierDetails, a new build done through APB suite will delete the custom changes. From the above figure it can be noticed that the value object mapping is lost, regardless of the registration approach.

This cand simply be reproduced by creating a new entity (master or child) and adding even just one property.

Why are empty “if” statements added in DbContext?

Another noticed thing that occurs with every build done from ABP Suite also at DbContext class level is that suite is adding the same empty if statement every time.

This cand simply be reproduced by creating/updating an entity and hitting the “Save and generate” button from ABP Suite.

Will child entities be handled through its master entity?

ABP Suite’s documentation specifies that for child type entities DomainService and AppService classes are created apart from master’s DomainService and AppService classes, meaning that child entities won’t be handled through master’s DomainService and AppService. Couldn’t child entities be handled along with master entity? When creating/updating/deleting master entities, child entities should be created/updated/deleted through master and not through child DomainService or child AppService.

Will there be checks added for create/update DTOs in order to specify which properties to add to each DTO?

While creating or editing an entity, base DTOs are automatically created/updated, but some properties that are not intended for create or update actions are landing in create/update base DTOs that are clearly not modifiable. This option should fall in the user's control.

ABP recommendations not respected in Domain Service

In the generated domain service, repository methods are used to insert / update entities. Based on documentation from ABP, this should happen in the appservice

Frontend angular:

Design:

Is it possible for me to design and implement new templates that can be utilized during the generation process?

CSS

Where should I write CSS for my specific component? Is it necessary to place all of my CSS classes within the global styles.css file, or is there an alternative approach? Regarding advanced filters, is there an option to disable them entirely? Alternatively, is it possible to select which filters are included?

Excel

For exporting to Excel, does the export include all fields from the entity? Can I choose which fields to be included?

General:

If we modify a template how do we maintain it when ABP ships out changes / bug fixing in the templates?


4 Answer(s)
  • User Avatar
    0
    EngincanV created
    Support Team .NET Developer

    Will value objects be supported? And any time soon?

    We have an internal issue for that but it's in the backlog and we haven't prioritized it yet.

    Why are empty “if” statements added in DbContext?

    I'll check this one.

    Will child entities be handled through its master entity?

    In the current design, as you specified, the child entity has its own domain service and application service implementations and we are not considering handling it through the master entity. Because we think this would give you more freedom and points for customization and you can use the child entity in another usage.

    Will there be checks added for create/update DTOs in order to specify which properties to add to each DTO?

    We have introduced the Filterable Properties feature in v8.1 and this is what you are looking for. It allows you to select which properties should be included in the search results/filters. Also, you can specify which properties should be included in the create modal and edit modals by checking the related checkbox while creating the property. (Show on the list page, Show on the create modal and Show on the update modal options)


    For Angular-related questions, please create a separate question. It's not easy for us to answer all of the questions in one thread, instead, if you create separate questions it would be easier for us to keep track of the issue and answer.

    Best regards.

  • User Avatar
    0
    alex.maiereanu@3sstudio.com created

    Hi,

    Thanks for your replies so far. I have created an ticket related to the angular questions

  • User Avatar
    0
    EngincanV created
    Support Team .NET Developer

    Hi,

    Thanks for your replies so far. I have created an ticket related to the angular questions

    Thanks 🙏

  • User Avatar
    0
    alex.maiereanu@3sstudio.com created

    Hi, before closing the ticket,

    any news on points:

    • Why are empty “if” statements added in DbContext?
    • ABP recommendations not respected in Domain Service

    Regarding your answer on: Will child entities be handled through its master entity? I understand that you want to provide more freedom and I suppose this is the 80% case, but at least in our opinion, by trying to adhere to DDD principles, the child entities should be updated over the AggregateRoot and not have customization points. In my opinion, it would be the best if ABP suite can provide both options to users in order to have freedom to implement based on the application needs. Also, if you automatically create the appservice, it's not possible to hide the api endpoints for the child entity.

Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11