BsonDefaults does not contain a defintiion for GuidRepresentationMode
Mongo Driver 3.0 change the GUID format, however, we need to make GUID using old format, no matter for insert new or reading existing, include ABP's entity Id column.
We used this code, but it seems have problem to reading existing Entity's Id
var conventionPack = new ConventionPack { new LegacyGuidConvention() };
ConventionRegistry.Register(
"LegacyGuidConvention",
conventionPack,
t => true); // Apply to all types
thanks, finally we make it works
We are using LeptonX, not LeptonX Lite. When we upgrade from 8 to 9, we found this: //ABP 9 Upgrade, this replacement doesn't work, use OVERRIDE_LEPTON_X_USER_MENU_PROVIDERS instead /** Right sidebar > user / / this.replaceableComponents.add({ component: AppToolbarContainerComponent, key: eThemeLeptonXComponents.Toolbar, }); */ not sure with ABP 10, replace Toolbar would work or not. Will have a try
if the code doesn't roll back, would it creates zombie transaction?
What about code style like below, when there is exception, could unit of work roll back or terminate gracefully? [UnitOfWork] public virtual async Task<SaveResult> UpdateDocumentsAsync(Guid id, Guid[] checklistDocumentIds) { try { some db operations
} catch (Exception ex) { _logger.LogException(ex, LogLevel.Error); } }
when a method has [UnitOfWork], should it call unit of work complete automatically by ABP?
still the same.
my app.config.ts
provideRouter(APP_ROUTES), APP_ROUTE_PROVIDER, provideSideMenuLayout(), provideThemeLeptonX(), OVERRIDE_LEPTON_X_USER_MENU_PROVIDERS, FOOTER_PROVIDER,
Somehow I made it working. It might because the upgraded component still depends some shared module? Not quite sure (too much code changes). I change it anyway.
Now I am trying to customize the menu items when click the profile icon on top right corner, but click it nothing happens: import { NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core'; import { UserMenuService } from '@abp/ng.theme.shared'; import { inject, provideAppInitializer } from '@angular/core'; import { Router } from '@angular/router'; import { eUserMenuItems } from '@volosoft/abp.ng.theme.lepton-x';
// This provider overwrites the right-side user menu when clicking the user profile icon. // ABP 10: The toolbar replacement via replaceableComponents breaks LeptonX rendering, // so we use this approach instead. export const OVERRIDE_LEPTON_X_USER_MENU_PROVIDERS = [ provideAppInitializer(() => { configureUserMenu(); }), ];
function configureUserMenu() { const userMenu = inject(UserMenuService); const router = inject(Router);
const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE); return () => { userMenu.removeItem(eUserMenuItems.LinkedAccounts); userMenu.removeItem(eUserMenuItems.SecurityLogs); userMenu.removeItem(eUserMenuItems.AuthorityDelegation); //userMenu.removeItem(eUserMenuItems.Logout); userMenu.removeItem(eUserMenuItems.MyAccount); userMenu.removeItem(eUserMenuItems.ExternalLogins); userMenu.removeItem(eUserMenuItems.Sessions);
userMenu.addItems([
{
id: eUserMenuItems.MyAccount,
order: 100,
textTemplate: {
icon: 'bi bi-sliders',
text: 'AbpAccount::MyAccount',
},
action: () => router.navigate(['/account/manage'])
//action: () => navigateToManageProfile(),
}
]);
};
}
And in app.config.ts add OVERRIDE_LEPTON_X_USER_MENU_PROVIDERS, to providers list;