Hybris version upgrade - handle OOTB model's removed attribute - upgrade

What is the best way to handle OOTB model's removed attribute?
In hybris version 6.6, there is bundleNo attribute in AbstractOrderEntryModel, then we're upgrading our hybris version, and we found out that on 1905, bundleNo attribute is no longer there. So do we have to re-add bundleNo attribute to AbstractOrderEntryModel or should we use another OOTB attribute that's available, considering in 6.6 we have some data using that attribute?
Thanks

Indeed bundleNo attribute is deprecated since the 6.4 version, entryGroupNumbers should be used instead for the recent versions, it supports a set of ids now :
https://help.sap.com/doc/a4265d5ea8314eb2929e6cf6fb8e35a5/1811/en-US/de/hybris/platform/core/model/order/AbstractOrderEntryModel.html

Related

How to get a version of UI5 framework within the controller?

I want to retrieve an UI5 version (e.g. 1.97.0-SNAPSHOT) inside of controller. The simplest way is to get a value of sap.ui.version, but it's a global variable, which I want to avoid.
I thought, sap.ui.VersionInfo would be a right choice, but looking at its API, I can't find any method, related to the retrieval of the UI5 version.
I also checked the controller's internals (not too deep) and sap.ui.Device, but no version number.
How can I retrieve the UI5 framework version without using a global variable?
If you're using OpenUI5, require sap/ui/core/Core and get an instance of sap/base/util/Version via Core.getConfiguration().getVersion().
In case of SAPUI5, however, the patch version is not always same as the version of SAPUI5 core (sap.ui.core) since SAPUI5-exclusive libraries may contain patches in addition to OpenUI5 libraries. See this graphic SAPUI5 library patch versions (e.g. v1.96). To get the correct SAPUI5 version reliably, require the module sap/ui/VersionInfo. Its method load() will return a promise that resolves with an object - same as https://<host>/resources/sap-ui-version.json - containing all information about the current framework including its version.
// VersionInfo required from "sap/ui/VersionInfo"
// VersionUtil required from "sap/base/util/Version"
// Within an async function:
const { version } = await VersionInfo.load();
const versionUtil = new VersionUtil(version);
As you can see, it's also possible to combine the retrieved version string with the module sap/base/util/Version which provides methods such as getMajor(), getMinor(), getPatch(), compareTo(...), inRange(...), etc.
See section "SAPUI5 Version vs. OpenUI5 Version (Core Version)" from the documentation topic Versioning and Maintenance of SAPUI5.
⚠️ Known issue
When using the module sap/ui/VersionInfo in a standalone UI5 app (e.g. built with ui5 build self-contained -a), the top version value from the generated resources/sap-ui-version.json is the app version instead of the version of the framework. There is currently no reliable way for standalone SAPUI5 apps to determine the correct patch version.
See the issue SAP/ui5-tooling#353.

Is there a way to force user having an new password with TYPO3 felogin/femanager?

we'd like to implement an obligatory update of given passwords by frontend user.
Our setting is the follow: TYPO3 8.7 / femanager 3.3.0
Any ideas or do we just miss a feature?
Many greetings
Daniel
There is another TYPO3 extension dealing with this issue: https://extensions.typo3.org/extension/feloginforceupdate/
It depends on ext:femanager and is compatible with TYPO3 7.x but I got it running with TYPO3 8.7 without hassle.
There is an old extension (up to 6.2) which handles password expiration: ext:lwpasswordexpire.
Either you motivate the author to do an update
or you give the author a pullrequest
or you get the idea to implement it anew in your installation
or you extend ext:femanager with password expiration handling

Quickbooks Online REST API Minor Version 7

I'm trying to use the QBO Rest API to insert invoices into our system and want to use the BillEmailCc attribute of invoices. I've read on their site that these are only available for minor version 7. I've try setting the minor version in my queries but still I get errors saying this attribute is not valid. How can you access the minor version 7?
url: https:https://sandbox-quickbooks.api.intuit.com/v3/company/193514338926917/query?query=SELECT%20BillEmail%20FROM%20Invoice%20WHERE%20CustomerRef%20%3D%20%2760%27&minorversion=7
After doing some digging in the console, I deduced that the fields to set are as follows
"AllowOnlinePayment":true,
"AllowOnlineCreditCardPayment":true,
"AllowOnlineACHPayment":true,
Quickbooks support has said these attributes aren't supported, however.

How to specify SonarQube rule description as a markdown/html resource file instead of using annotation?

I have my custom rule, let's say with AEM-1 key. So, as it is done here, I make my AEM-1.html resource file with some simple html content and it does not get's picked up by SonarQube 5.1. It refuses to start, because no description is provided for the rule.
I tried different packages names, tried to look for convention in source code etc. What's missing? Is there any documentation on that?
The naming convention is org/sonar/l10n/{plugin key}_{language}/rules/{repository key}/{rule key}.html.
It was documented in http://docs.sonarqube.org/display/DEV/Internationalization at the time rule descriptions supported localization. That's not the case anymore since version 4.2, but these HTML bundles are still supported.
The correct way since version 4.3 is to use the low-level API org.sonar.api.server.rule.RulesDefinition. It allows you to implement any kind over layer over it (xml, json, annotations, ...).

Listen for EDMX conversion?

When re-targeting a project from .NET 4.0 to .NET 4.5 in VS2012 any EDMX in the project is automatically converted to EF 5, i.e., the namespaces are updated to match the target framework.
Is there a way, maybe via an extension to the EDM Tools, to "listen" for this conversion? We use custom annotations in the EDMX, and when the upgrade is performed also need to convert/update our annotations.
We currently implement IModelTransformExtension to perform custom logic when the model is loaded and saved, and in theory we can use the OnAfterModelLoaded to do the conversion of the annotations too, but since the conversion is needed one time only, and always specifically when the .NET framework is retargeted, it would be great if there's another option.
Any ideas?