APB Team; The reason I believe this to still be a bug is because: A: The ABP Suite generates the .extended.cs class for existing projects when you check the Customizable Code checkbox. But, it's only half complete. It does not regenerate the pages and javascript files correctly. The .cshtml pages get regenerated but there are no @//<suite-custom-code-block-x>@ @//</suite-custom-code-block-x>@ tags. Why regenerate the main class and create the .extended.cs file if you are going to neglect to regenerate the cshtml and javascript code without the custom code blocks? The same for the javascript files.
//<suite-custom-code-block-x> //</suite-custom-code-block-x> blocks are not generated in the freshly regenerated javascript code. It leaves the solution half-baked. Can this issue be fixed? Also, it really shouldn't be counted against my support questions.
Thank you for looking into this.
Thanks for the explanation. I will create an internal issue for this and I have refunded your ticket. Closing the issue...
Best regards.
Hi, currently this is not possible by editing templates. Instead, if it's possible you can update your application to v7.4.0, re-generate the related entity with custom code support, and make the related customization in your *Entity.Extended.cs
class in your domain layer.
See the blog post for more information (Suite: Custom Code Support section).
In the article you describe: < > In this version, ABP Framework provides base classes and events to migrate the database schema and seed the database on application startup. This system works compatibly with multi-tenancy and whenever a new tenant is created or a tenant's database connection string has been updated, it checks and applies database migrations for the new tenant state.
This system is especially useful to migrate databases for microservices. In this way, when you deploy a new version of a microservice, you don't need to manually migrate its database.
You need to take the following actions to use the database migration system:
Create a class that derives from EfCoreRuntimeDatabaseMigratorBase class, override and implement its SeedAsync method. And lastly, execute the CheckAndApplyDatabaseMigrationsAsync method of your class in the OnPostApplicationInitializationAsync method of your module class. Create a class that derives from DatabaseMigrationEventHandlerBase class, override and implement its SeedAsync method. Then, whenever a new tenant is created or a tenant's connection string is changed then the SeedAsync method will be executed.
I like to see a practcal implementation how to implement the described steps in a MVC application.
Hi, here is the issue of this feature: https://github.com/abpframework/abp/pull/16862
You need to do the steps mentioned in the issue and then execute the CheckAndApplyDatabaseMigrationsAsync
method of your class that derives from the EfCoreRuntimeDatabaseMigratorBase
class in the OnPostApplicationInitializationAsync
method of your module class:
Hi,
We will check it.
OK, do you have a view on when you will have reviewed this?
Hi, I will test the bug today and let you know about the status of this bug.
hi,UI type is MVC. Is it possible that there is a problem with adding an existing solution? When importing the old project, the **type **was automatically set to 5. After I manually changed it to 2, the Guid type can be selected normally.
I'm glad that you can select the Guid
type now. I will test this scenario, thanks.
Thank you for your followup. I will await documentation. Meanwhile, I will also wxplore templates as well.
Thanks for understanding. Regards.
Hi, we are providing some hook points, and even if you change those placeholders' locations the next time that you generate it will move them to the related places in the template. You can update the template and change the location of the placeholders if you want to put them in a different line.
So, yes they are being waited in certain points for now, but it's possible to change their places by updating the related custom code templates.
We will prepare a documentation to describe the custom code support asap. Thanks for your understanding.
Regards.
the tag <suite-custom-code-block-1>...</suite-custom-code-block-1> is never generated when I choose to generate the page without creating a new entity in the database. This is an existing project upgraded to the 7.4 rc-4. I am trying to get the suite-custom-code-block-# tags to generate in the existing page, which does get regenerated. However, the custom code block tags are not created in the page. If I create a new entity, the suite-custom-code-block-# tag comments are sprinkled throughout the .cshtml page. seems to be ignored when I regenerate code wrapped in this tag in a .cshtml page. I have checked the customizable checkbox in ABP Suite. The .cshtml page is recreated completely, wiping out any change wrapped in the custom code block tags for existing pages that I manually add these tags to, since APB SUITE does not add them when regenerated.
Hi, I have re-checked it again and it seems there is not any problem here. You should have added the code block as follows:
Correct ✅
@*//<suite-custom-code-block-1>*@
<h1>customizated content</h1>
@*//</suite-custom-code-block-1>*@
Wrong ❌
@*<suite-custom-code-block-1>*@
<h1>Custom Code</h1>
@*</suite-custom-code-block-1>*@
Our placeholder is //<suite-custom-code-block-n>
, please try with this placeholder and you will see that it's working as expected.