Already sent on Friday. Please confirm receipt or provide update on findings.
Hi, I sent you an email with our project attached as it would probably be easier. I believe everything we've done is standard and per ABP recommendations, but let me know.
Sorry, yes, "ExtraProperties". All projects were updated to 9.0.3 but our database does not have the column. We tried creating a migration, but it was empty. We also tried running the dbmigrator with a new database name (to generate a new database) and still did not get this new column.
To confirm, is your demo using the angular front end? I found a few things that seemed to imply that this worked for the MVC front end, but not for Angular.
I'd also like to clarify: is it possible to upgrade to ABP 9.x and use .NET Core 8? My team would like to stick to LTS versions of Core.
Thanks, we've got this working now!
Sorry, I'm not quite following your meaning. I'm less concerned about the breadcrumbs and more so wondering if I could define a navigation item that behaves as a sort of "catch-all":
*app-routing.module.ts*
{
path: '/module1/page1/**', // Something to denote a wildcard/catchall
name: 'M1P1',
// etc,
isActive: (activatedRoute, itemConfig /* this node */) => isPathOrChild(itemConfig.path, activatedRoute); // Or something like this
}
And have this item selected for any of: /module1/page1 /module1/page1/list /module1/page1/details
We would like to avoid that as it's too granular for the menu and the detail page has a dynamic url (based on selection from the list page). Any options for this work as I described?
Ok, I think I understand. Our custom contributor and localizer will be responsible for caching the texts from the database and then we can do one of a few options: 1. We can create a custom resource class per lookup:
public class CompanyTypeResources {
}
...
Configure<AbpLocalizationOptions>(options => options.Resources.Add<CompanyTypeResources>());
2. We can create a single resource class instead (ex: LookupResources) and have our localizer cache all text for this resource
3. Or we can just use the existing MyProjectResources that's created as part of the default template
Does this sound right? I'd like to avoid creating a resource class per lookup, so I'm thinking option 2 or 3 would suit best. Any recommendations on best practices?
Hi, I've looked at the code you've sent me, but I'm still not sure how this should be used for our use case. These classes you've shared expect a LocalizationResourceBase to be passed in via constructor/parameters and it's not clear to me what generates the LocalizationResourceBase and how they get passed in. My suspicion is that these are generated based on code (possibly classes decorated with LocalizationResourceNameAttribute?) and it's not clear how to tie this class that's dependent on something baked into the assembly to instead look for a dynamic list of texts from the database. Do we need to create an empty resource class for each of our lookups and have the custom contributor go to the database for these?
Ah, that makes complete sense. Thank you!
I wonder, though: is there any ability to highlight the menu item for child routes? As in my example, we usually have /list and /detail child routes. It would be nice to be able to set a menu item "Page 1" with a path of "/module1/page1" and have it be marked as active if we're at either "/module1/page1/list" or "/module1/page1/detail".