Thanks. Understood :)
Thanks.
We've worked around KTCard for now. However for anyone who stumbles on this support ticket at a later date.
Please note the following issue with v13.1.0, which is a problem if you are using features and redis caching.
https://support.aspnetzero.com/QA/Questions/11899/Feature-Management-Not-Working-When-Redis-Cache-Enabled-In-v1310
I've also added a third item to the list above we are still working on.
https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/migrate-from-newtonsoft?pivots=dotnet-9-0#non-public-property-setters-and-getters
You can either mark it as [JsonInclude] or you need to remove the private setter.
Can you also please search the rest of the code for where this could be an issue. An urgent hotfix would be greatly appreciated as 13.1.0 is currently broken with features and redis.
Thanks Rick
The issue is the private setter on the TenantFeatureCacheItem FeatureValues property.
If I remove the private setter and make it public then System.Text.Json can deserialize it correctly to the object required.
With the private setter it does not work.
Further debugging has found this is a problem due to the updates to the serialization as well.
See this fiddle to show the issue. https://dotnetfiddle.net/SoyH6m
Hi,
HOWEVER the feature is enabled in the DB and in Redis itself. It's just that when you get that feature back from redis it won't be set to true for some reason.
We've tried debugging the aspnetboilerplate to find where this goes wrong and we couldn't narrow it down.
Thanks Rick
Thanks ismcagdas.
That works. Was trying to avoid it and stick to native metronic. Does that mean most of the metronic things that rely on native bootstrap won't work?
Hi,
We are on v13.1.0. Angular front end, .net core backend (separate projects).
We cut and paste the html from this page, into a simple component. https://preview.keenthemes.com/html/metronic/docs/base/cards#collapsible
The collapsing section doesn't work. It looks to be something to do with how the new Metronic uses bootstrap cards and bootstrap collapse.js
I can't figure out how this should work and be initialized etc. I notice plugins.bundles.js is never included which seems to include bootstrap so not sure if that is the problem.
I also notice that KTApp.init() is never called any more (it used be called by app.js in a DomContentLoaded but that is now gone), so not sure if that is the issue either.
Are you able to help with what is going on and why they don't work.
Thanks Rick
Hi All,
I'm going to document notes of frustration here on the upgrade from v12 to v13.
First thing is the change from Newtonsoft to System.Text.Json is massive and one to be very aware of.
Issue List
Oh boy where to start on this one. If you are storing json in the DB at all you're going to have a lot of fun. System.Text.Json doesn't use camelCase by default and our Json was all camelCase. That's easy enough to work around you can just use the JsonExtensions.CreateJsonSerializerOptions and pass in the correct parameters when you are using FromJsonString etc.
Next thing to note however is that CreateJsonSerializationOptions adds in a bunch of AbpConvertors. One of them doesn't play nicely with nullable objects. Eg: We have a nullable int. We want to also use the numberhandling options to allow for numbers to be strings. ~~ Except this doesn't work when you have a nullable int because the AbpConvertor takes over and doesn't respect the numberhandling options or attributes.~~
Ok the attribute doesn't work but the options on the seralizer do. However you need to note that the serializer options are cached and once they are setup and used once they cannot ever be changed. We had to modify our startup.cs to create the JSON serialisation options with all combinations of camelcase and write intended. Set the number handling options we want there to ensure the options were cached with our correct settings from the start.
To handle that we have to manually remove that convertor from our options after creation and then it seems to work.
~~3) Scrollbars in modals seem to disappear when the modal loses focus. This is in particular to scrollbars which exist within the modal and not full pages scrollbars. We're still investigating this one.~~ This is not an issue and was our own fault.
Hi MightyIt,
We also had this problem (happens with lots of different hosting proxies, including cloudflare, azure app services etc).
But the file we modify is in angular\src\assets\abp-web-resources\abp.js
This file doesn't change when we upgrade any node modules to my knowledge and when we upgrade aspnetzero we're just careful on the merge to make sure it retains our value.
Rick