Skip to Content
Technical Articles
Author's profile photo Markus Perndorfer

Semi-official tools to improve the life of a SAP Commerce developer

One of the issues I see in many SAP Commerce project is the lacking developer tooling, especially around project setup, packaging, deployment etc.

This prompted me to write and share various tools with the wider developer audience.

Everything is licensed under Apache License 2.0

Here are some highlights:

SAP Commerce Gradle Plugin

Update 2021-04-27: SAP Commerce Gradle Plugin is officially part of the SAP open-source GithHub organization since end of 2020

https://github.com/SAP/commerce-gradle-plugin

This plugin enables you to do the following with Gradle:

  • Bootstrap (Unpack, configure, …) your SAP Commerce project
  • Build SAP Commerce with Gradle
  • Use a CCv2 (aka “SAP Commerce Cloud in the Public Cloud”) manifest.json to configure the build
  • Validate manifest.json for common errors

The plugins are extensively documented in the docs folder of the project, please check it out.

With these plugins, you can fully automate the project setup (for new developers, or on your Continuous Integration server) and (ideally) reduce it to a single Gradle task:

git clone <project>
cd <project>
./gradlew bootstrap

ccv2-project-template – Start your SAP Commerce Cloud in the Public Cloud (aka CCv2) project the right way

https://github.com/sap-commerce-tools/ccv2-project-template

Opinionated starter template for any CCv2 project.

Stay tuned for a future blog post about this template!

ybp – Auto-navigate to hybris/bin/platform

https://github.com/sap-commerce-tools/ybp

Everybody that develops SAP Commerce projects knows how annoying it is to change the directory to .../hybris/bin/platform, source the ant configuration if necessary and then run the commands like ant or hybrisserver.sh, especially if you work on multiple projects.

This little helper script (available for Linux, macOS and Windows) automates that.

So instead of:

cd ../../../bin/platform
source setantenv.sh
ant clean all

you can just run

ybp ant clean all

With some shell aliases / additional helper scripts (on Windows) you can reduce that even further, for example:

ya clean all

Check the README of the repository for details.

envribbon – What system am I using?

https://github.com/sap-commerce-tools/environment-ribbon

We all have been there:
You run a quick script to delete some faulty data on your test system.
Script succeeds, changes commited, another days work completed!
And then you realize that you had the wrong tab open – It wasn’t the test system.
It was actually production.

The envribbon extension places a little ribbon/banner with the meta data of the current environment in the top left corner of the Administration Console and Backoffice.

Bonus: In CCv2, the meta data is provided automatically. Just add the extension to your project and you are ready to go. (Displayed information: <project>-<environment> (<aspect>))

Environment%20Ribbon%20in%20the%20Administration%20Console

Environment Ribbon in the Administration Console

 

hacvcsinfo – Display version control information in the administration console

https://github.com/sap-commerce-tools/hacvcsinfo

It really helps to see what commit/branch/tag was used to build the currently running server.

 


I hope these tools help everyone embarking on their SAP Commerce projects, as they already did for others.

And of course, Pull Requests, Issues, Ideas and maybe even a tool that you want to share are highly welcome!

Questions? Suggestions? – Leave a comment below!

Assigned tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.