Can we book a session to share screen?
NuGet package the latest version is 3.2.0 which is the version used in the solution. Angular side use latest version 3.2.1 When I upgrade the solution I use command line to upgrade the solution. ..Theme.LeptonX has no 3.2.1 in Nuget. Also, if I browser NuGet package, I couldn't find Theme.Lepton package but only Theme.LeptionXLite
I haven't read the migration guide, however for backend I compared the solution template generated by AbpSuite project by project. I kind of know the reason above reason, it's because we download account module to angular local and customize it.
After download source code between 7 and 8, I found that module has significant code changes. It seems I have to copy over Angular code of ABP 8 latest code and add on our custom code.
If compare Administration Db snapshot between 8.2.1 and 8.1.4, we can notice that FlagIcon column is dropped from AbpLanguages. After add Db Migration to Administration Db, we can see the following table schema changes: protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.DropColumn( name: "FlagIcon", table: "AbpLanguages"); }
However, after DbMigrator, if we try to launch Admin Service, the swagger is break complain about missing FlagIcon. I checked all Abp NuGet packages are upgraded to 8.2.1
I checked the Swagger UI for identity service. There is no new method. Plus, we have a separate app service: public class CustomIdentityAppService : ApplicationService, ICustomIdentityAppService { }
So in Identity Service, there are two controllers, the second controller doesn't show in swagger at all. Even I exclude first controller from project, the User APIs has no new method exposed. How could you make swagger can access the new method? If swagger APIs are all from ABP's build-in ones, when generate proxy, the new methods wouldn't be available.
[Dependency(ReplaceServices = true)] [ExposeServices(typeof(IdentityUserController))] public class AbcIdentityUserController : IdentityUserController { }
[Area("identity")] [RemoteService(true, Name = "AbpIdentity")] [Route("api/identity/custom")] [Authorize] public class BdoCustomIdentityUserController : AbpControllerBase, ICustomIdentityAppService { }
In Saas Service, we have additional controllers, those controllers APIs was shown on swagger though.
If my memory is correct while I compare ABP 8 generated template against 7, these two tables are drop from ABP 8 Volo.Payment.Plans.GatewayPlan Volo.Payment.Plans.Plan
Our project extend some app service in Identity service:
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IIdentityUserAppService))]
public class AbcIdentityUserAppService : IdentityUserAppService
{
//Some override methods
//Some new methods
}
When in ABP 7, when generate identity-service proxy, in angular side, there are two sub folder generated, one called abp, one called volo. After upgrade to ABP 8, the proxy for identity-service, only one folder volo generated, the new methods in class AbcIdentityUserAppService is not available for client side to call.
This is also fixed by import '@abp/ng.components/extensible' instead of '@abp/ng.theme.shared/extensions'