Skip to content

Limitations

Antonio Robirosa edited this page Feb 22, 2023 · 7 revisions

Political Limitations

  • Correction of data inconsistencies between the servers: The use of deployment scripts will identify differences in the existing data of the different servers. The customer and the project manager must see the correction of these issues as an investment in the stability and the prevention of bugs in production. If this condition is not met, the Areco Deployment Manager extension can't be used in your project.
  • Creation of test data for the integration tests: Deployment scripts allow the easy import of a complex set of data for your integration tests. This requires time and the customer and the project manager must consider integration and unit tests as valuable as double bookkeeping for corporations. If this condition isn't met, only basic integration tests could be written.

Technical Limitations

  • Only tested on SAP Commerce (hybris) 2205, 1905, 6.6.0.15, 6.4.0.23, 5.5.1 and 4.8.14 on HiperSQL, MySQL 5.6 and Oracle databases.
  • They are executed after Hybris updates the type system. They cannot delete instances of types which were removed in the last update running system using Beanshell or Groovy. A SQL script must be used.
  • Dependencies between scripts can't be defined. If you need to run a script before another one, you the ordering of the name of the scripts to get this. There isn't any need for dependency management in most projects: In a release with 300 SQL scripts using Powerbuilder, only six required a change in their names to make them run before their dependent scripts.
  • There isn't any support for environments running different databases engines. It is assume that any sql query runs in every environment. A beanshell script which runs different SQL statements based on database engine could be written.
  • All the impex, sql, groovy or beanshell files must use the UTF-8 encoding.
  • The English language is installed. All the impex files used in the tests import the description in English
  • The Areco Deployment Manager Extension must be turned on in the junit tenant. The integration tests run automatically and they don't check if the extension is active
  • If you want to override changes coming from impexes in Hybris extensions run during the essential or project data step, you have these alternatives: [FAQ]
  • If the execution of a deployment script fails, only the execution with the status "will be executed" for the next scripts in the current extension are created

Known Issues

  • After a SQL script is run, all the affected models must be refreshed. The models cache the values of their attributes. It is recommended to run the deployment scripts using ant which restarts the server. [#23]
  • Inside an integration test the changes made by an SQL script can't be seen. [#23]

SAP Cloud Readiness Check M1

The following issues won't be resolved.

  • File arecoDeploymentScriptsManager-items.xml
    • Line 50: Rule NoUniqueAttributesDefinedForType (affects ScriptExecution):No unique attributes defined for type. Won't fix because that type must not have unique attributes
  • Class org.areco.ecommerce.deploymentscripts.ant.DataCreatorAndDeploymentScriptsStarter
    • Line 21-23: Avoid using Jalo API since it is deprecated, where possible use the Service Layer instead.: Won't fix because this class uses Jalo as workaround to trigger the essential and project data creation when the junit tenant is initialized or updated. This Hybris' bug is described in detail on my post SystemSetup Annotation: When are the methods run?
Clone this wiki locally