Fixing the buildSystem Error When Installing SAP Commerce 2205 cx Recipe on Windows 11

2023/04/09

As of 2023-04-09 (Sunday), the Using the Installer Recipes guide for installing the SAP Commerce 2205 cx recipe on Windows 11 does not work properly.

When running the “install initialize” step, an error would be displayed:

BUILD FAILED
C:\cx2\hybris\bin\platform\build.xml:13: The following error occurred while executing this line:
C:\cx2\hybris\bin\platform\resources\ant\compiling.xml:95: The following error occurred while executing this line:
C:\cx2\hybris\bin\platform\resources\ant\compiling.xml:153: The following error occurred while executing this line:
C:\cx2\hybris\bin\platform\resources\ant\util.xml:13: The following error occurred while executing this line:
C:\cx2\hybris\bin\platform\resources\ant\compiling.xml:160: The following error occurred while executing this line:
C:\cx2\hybris\bin\platform\resources\ant\compiling.xml:360: The following error occurred while executing this line:
C:\cx2\hybris\bin\modules\platform\groovynature\buildcallbacks.xml:33: Error running forked groovyc.

Total time: 9 minutes 45 seconds

> Task :recipes:cx:buildSystem FAILED
:recipes:cx:buildSystem (Thread[Execution worker for ':' Thread 2,5,main]) completed. Took 9 mins 46.11 secs.

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\cx2\installer\recipes\cx\build.gradle' line: 603

* What went wrong:
Execution failed for task ':recipes:cx:buildSystem'.
> external process returned non-zero exit code, command: [cmd, /c, set "ANT_OPTS=-Xmx2g -Dfile.encoding=UTF-8 -Dpolyglot.js.nashorn-compat=true -Dpolyglot.engine.WarnInterpreterOnly=false --add-exports java.xml/com.sun.org.apache.xpath.internal=ALL-UNNAMED --add-exports java.xml/com.sun.org.apache.xpath.internal.objects=ALL-UNNAMED" & set "PLATFORM_HOME=C:\cx2\hybris\bin\platform" & set "ANT_HOME=C:\cx2\hybris\bin\platform\apache-ant" & set "PATH=C:\cx2\hybris\bin\platform\apache-ant\bin;%PATH%" & ant clean all]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 10m 9s
3 actionable tasks: 3 executed
Watched directory hierarchies: [C:\cx2\installer]
Problem with java process - finished with non-zero exit code (1)

The fix, before starting the setup and initialize process, is to create a “custom.properties” file under “installer\customconfiguration” with the following properties:

initialpassword.admin=changeThisAdminPassword!8
build.parallel=false
b2bocctests.groovyc.fork=false
b2bpunchoutocctests.groovyc.fork=false
configurablebundleocctests.groovyc.fork=false
customerticketingocctests.groovyc.fork=false
textfieldconfiguratortemplateocctests.groovyc.fork=false
odata2webservices.groovyc.fork=false
integrationbackoffice.groovyc.fork=false
integrationbackofficetest.groovyc.fork=false
webhookbackoffice.groovyc.fork=false
odata2webservicesfeaturetests.groovyc.fork=false
sapproductconfigfacades.groovyc.fork=false
sapproductconfigocctests.groovyc.fork=false
commercewebservicestests.groovyc.fork=false

NOTE: Disabling groovyc Forking for Selected Extensions is missing the “commercewebservicestests.groovyc.fork” configuration, and this is what causes the intialization process for SAP Commerce 2205.10 cx recipe to fail.

The configuration works with this set-up:

  • Operating System: Windows 11 Home 22H2
  • Java: SapMachine 17 (version 17.0.6+0-LTS, as of 2023-09-04) > https://sap.github.io/SapMachine/
  • SAP Commerce 2205.10 (CXCOMM220500P_10-80006942.ZIP is the latest, as of 2023-09-04)

This fix has also been shared on SAP Answers: groovyc errors on ant clean all with SAP Commerce 2205


Initial Thoughts on Mermaid JS, an open-source tool for Software Diagram as Code

2023/04/02

For the longest time, I’ve been annoyed at not having access to $$$ Microsoft Visio or Visual Paradigm for creating software diagrams like Class Diagrams or Entity-Relationship Diagrams. Some IDEs have built-in plug-ins that can generate diagrams based on existing code, but they tend to contain other information that are not so important when I want to highlight certain items only. So, I usually end up using Microsoft Excel or Microsoft PowerPoint.

I decided to test Mermaid JS (version 10.0.2, as of 2023-04-02), a JavaScript-based open-source tool for “Software Diagram as Code”: https://mermaid.js.org/. It’s not really limited to software diagrams, since it can also support other diagrams like Gantt Chart, Pie Chart, Mind Map, etc. For the code part, Mermaid JS diagrams are created using Markdown, a markup language.

Below is an example of an Entity-Relationship Diagram I created using SAP Commerce Cloud entities related to Product data models. This is using IntelliJ IDEA with the Mermaid plug-in installed. The ArjanCodes video I share later uses Visual Studio Code IDE. The IDE shows the code at the left side, which is automatically rendered at the right side when the changes are saved.

After watching a YouTube video by ArjanCodes – Mermaid JS: Finally There’s A Great UML & Diagram Drawing Tool – I share my initial thoughts:

  • Mermaid JS looks good enough for the basics I need: Class Diagram, Entity-Relationship Diagram, Sequence Diagram, and Flow Chart.
  • It could be a challenge to use if you’re used to paragraph-like pseudocode. So, you’re better off with Microsft Word or Microsoft Excel. We’ve all been there, right?
  • Sequence Diagrams for complex scenarios could be challenging (again) and look messy and difficult to refactor. I imagine you’d have to visualize the entire flow in your mind first before you write the design down, since you cannot visually create the items or relationships you need at the start.
  • I’m not OCD, but when I used Microsft Excel, I’d spend some time resizing, realigning, or rearranging items in diagrams. Mermaid JS does this for you automatically. But, that’s also it’s downside, since you can’t reposition the boxes to exactly where you want them.
  • The custom Markdown syntax can be confusing, since different diagrams can have different syntax. On the bright side, it’s all code/text. So, you can push the code to your source code repository. Other repositories like GitHub have features / plug-ins that can visually render these code. Neat.

Overall, Mermaid JS looks promising, and I’ll be exploring it more soon. Plus, it’s FREE!

Other references:


How I Passed the PSM I Certification

2016/02/23

I passed the Professional Scrum Master I (PSM I) exam last February 14, 2016, a consolation for not having a date on Valentine’s Day. Ha!

psmi_badge

So, here’s what helped:

  • Reading Scrum.org’s The Scrum Guide (FREE) over and over again, at least twice.
  • Reading Management Plaza’s The Scrum Master Training Manual (FREE). This is nearly double the size of The Scrum Guide, and provides additional explanation / context.
  • Taking Scrum.org’s Open Assessments (practice exams) over and over again until I got 100% each time. The Open Assessment is only 30 items each, randomized. It also helped that I took not only the Scrum exam, but also the Product Owner and Developer exams, enhancing my understanding of Scrum.
  • Reading through the Scrum.org forum, where I found some of the questions in the exam being discussed. Note that it is against forum rules to post the exact question and answer. So, some of them have been rephrased.

Some notes while taking the exam:

  • Make sure to have a really good internet connection. It was terrible judgement on my part to take the exam at home where I didn’t have stable internet. It would hang for a while, nearly causing me to have heart attacks! Take note the 80-item exam had to be finished in 60 minutes.
  • Read the questions, even if they look familiar. Some of the questions from the Open Assessments were repeated in the actual exam, but some of them were also rephrased or inverted, such that the answers were also inverted.

Other notes:

  • While I have not purchased them, some people have also recommended:
    • “Scrum – A Pocket Guide” by Gunther Verheyen
    • “A Pocket Guide to Passing Professional Scrum Master (PSM 1): Concise Scrum Master manual to pass the most meritorious Scrum Certificate” by Mohammed Musthafa Soukath Ali
  • If you are still not confident of passing the exam (minimum of 85%, or 68 out of 80 items), you can consider taking additional practice exams, such as the one from Management Plaza. The PSM I certification is USD150 and not reimbursable by Accenture. So, it might be better to invest in an additional USD41 for the practice exams.

If you’re planning to take the PSM I, I wish you luck!


Not so Ace with the Cherry Mobile Ace

2015/04/03

Now that my Samsung Galaxy S4 is officially dead, I feel like a sitting duck, a dude with an unlimited data plan, but with nothing to use it on. So, I got myself a temporary phone – a Cherry Mobile Ace, the first smartphone in the Philippines to use the Firefox OS platform.

cherry mobile ace

There’s a lot NOT TO LIKE, and let me count the ways:
1. Battery life doesn’t last very long. I had to charge just as often with the S4; about two times a day. But could it be because I had brightness on full mode?
2. Top non-WiFi speed is only 2G/EDGE. It feels 56K dial-up all over again. So yeah, you can throw the Ace away. Kidding, don’t do that. So if you have a SIM card with an unlimited data plan, put it on a mobile hotspot, and connect the Ace via Wi-Fi instead.
3. Wi-Fi signal is weak. (NOTE: Wi-Fi router is two walled rooms away) In comparison, my Intel Core i3 laptop picks up signal better, then my now-defunct S4 (or the Nexus 7 2013 tablet), then the clone PC with a Wi-Fi USB dongle, then finally… the Ace. However, the Ace keeps up when it’s in the same room with the router. 🙂
4. Keyboard is a hit or miss. It boasts of a capacitive screen, but it doesn’t detect keypresses correctly. A little retraining can fix that though. Hit a little bit on the sides, and you’re good to go! I was also hoping the QWERTY keyboard could be changed to 3×4 format, but NOPE.
5. It’s all HTML5. What did you expect? It’s Firefox OS after all! But what does that mean for app-addicted users like (you and) me? Well, there isn’t much in apps. For one, there is no Instagram. But don’t sweat it. The Ace has a non-zoomable 2MP camera. You wouldn’t want to take your #foodporn shots with that anyway.
6. No internal storage. So you can’t take photos with it out of the box. Oh, it supports up to 16GB microSD!
7. Power On lag. It takes about 2 seconds before the screen comes on. If you’ve been on powerful smartphones, it’s something you notice right away.
8. Low volume. Even with my hearing aid on, this phone just doesn’t cut it.
9. Home button vibration, and you can’t disable it.

However, it does have some GOOD POINTS, albeit fewer:
1. It’s CHEAP, like only PHP999 (USD22) cheap! So, you can drop it as often as you like, and it wouldn’t break your heart!
2. Surprisingly snappy for its price range. Sure, it hangs a bit when you scroll through Facebook, but even a poorly-configured Android phone does that.
3. More screen estate for SMS, at least versus my LG A275, which serves as a very good torchlight BTW.
4. Dual SIM, although I’ve never had to be on dual SIM. Ever.
5. MicroUSB port for power and data. Don’t you just hate Apple?

But just because the Ace doesn’t deliver, it doesn’t mean Firefox OS is crap. There are plenty higher-end Firefox OS devices with better specs. Also, you have to admire Mozilla for the work that they do with the Firefox browser and the open web in general. Send these guys a donation!


I was Pickpocketed in a 04L Jeepney last Saturday

2013/09/01

Last August 31, 2013 (Sat), around 10AM-ish, I decided to visit my hearing aid specialist for some adjustments. So, I took a 04L multicab. The illustration below is what the passenger seating looked like. It’s not entirely correct (I have terrible memory), but it should give you an idea.

pickpocket

Upon getting in, I wanted to sit beside B (the seat was vacant), but he cautioned me to sit elsewhere. The look and the gesture on his face told me there was something wrong with the seat to his left. I couldn’t see anything strange, but I decided to sit at A. I stared at B (he was wearing a sunglass) and looked closely to the empty seat beside him while squinting my eyes. I saw spit on the backrest. That must be why he wanted to move, but a lady sat on it a little later, and he cautioned her about the spit.

As the jeep neared towards the overpass in Salinas Drive (going to IT Park), D, wearing a white shirt and a gold watch on his left hand, told me, “Isulod na sa bag imong cellphone. Maraming magnanakaw doon.” ([In Bisaya] Put your cellphone in your bag. [In Tagalog] There are many snatchers there.)” I found his statement weird. First, he spoke in Bisaya, then suddenly changed to Tagalog. It was clear to me that he was not a local. Second, this was a road I crossed far too many times I can count. I walked this road. I ran this road. I biked this road. I ate in nearly all sidewalk carenderias (sort of like a caferia), and have even gotten a 30-peso haircut in a nearby barbershop. In short, I knew this road, day and night. So, why would he tell me about snatchers in this area?

Against my better judgement, I decided put my phone in my messenger bag. Nearing Cebu I.T. Park, D decides to pay a 20-peso bill to the jeepney conductor, who was near the entrance. B hands over the loose change to C, and manages to drop a coin or two. I decided to move my feet so he could see the coin. He picks it up, and gives it to D. However, he decides to go down again moving his hands forcely towards my feet, as if trying to retrieve more coins. It took too long. So at this point, I knew this was a laglag barya (drop coin) modus operandi. So I held my bag closely. Then, I looked towards E, who was trying to talk to me. “Gikuha imong cellphone” ([In Bisaya] Your cellphone was taken). So, I opened my bag, and found my cellphone gone.

Then, C goes out of the jeepney. I asked around who took my cellphone, and the people (including B and D) pointed to C (in red polo shirt and green bag). So I told the jeepney driver to stop. As I went out, I also told the jeepney conductor (an acquaintance) not to let the jeepney go. I approach C and asked him if he took my phone. He didn’t say anything. Confused, I looked back at the jeep, trying put the puzzle together. Then much later, somebody approaches me with my cellphone; it must have been one of the bystanders who was observing the commotion. And oh, the useless security guard from the under-construction Filinvest Cebu Cyberzone did not bother to mediate. I don’t blame him; it’s not his job, but the fact he didn’t call for police makes him useless. With my cellphone in hand, I let C go, while shouting loudly that he was a thief. Then, a habal-habal (a public motorcycle transportation) driver approaches me to get on his motor so we can look for a police nearby.

As C heads for The Walk, the driver finds two policemen near a restaurant. I hop into the police car, and we go around The Walk, but don’t see any trace of C. We drive towards the main road, but still don’t see C. So, I tell the police to just give it up, since the thief could have already taken a jeepney. They ask if I wanted to report it to the police station. I said no, since I couldn’t remember what they looked like (I have a terrible memory). So they just write down my name, so they could report it to the station. I get out of the car, still shocked by what just happened.

In the end, I’m glad I’m safe and was able to get back my phone, but I still defeated for not getting B, C, and D caught and jailed. I don’t know where the cellphone came from, but I assume witnesses inside the jeep confronted D,  made him give it up, and had the bystander give it to me. As the laglag barya happened, I wished I had a Google Glass (or a hidden camera) right there and then. I could have taken a snapshot of those pickpockets, and shown them to the police. I could have used my cellphone, but that could have been inappropriate (and I was busy holding on to my bag).

To E, whoever you are, THANK YOU! from the bottom of my heart. Please drop me a note; I would like to treat you to lunch or dinner, or at least thank you in person. Or if you were one of the passengers on that jeep, please let me know whatever happened to B and D.

To the rest of you, may this serve as a warning that laglag barya is back. Be wary of people who wear sunglasses inside jeepneys and act strange. As for cellphones, I think it wouldn’t have mattered if you took it out or not, although it would reduce the chances of being pickpocketed if they hadn’t seen it. In your hand, you’d have more control with your phone, and you’d know right away if somebody tried to snatch it. I think the front pocket of a polo is the best place to keep it. But, a pickpocket will always pick something. If he couldn’t get your phone, he’d still reach for your pocket or your bag. So, your best protection will be vigilance.


Save to Pocket with Dolphin Browser in 3 Steps

2013/06/13

While browsing with your ANDROID (yes, I’m picky like that) smartphone, did you ever come across an article that you wanted to read, but didn’t have the time to go through? Well, you could either bookmark the link, or send it to Pocket with Dolphin Browser.

What is Pocket? It is a FREE online service where you can put articles, videos, or pretty much anything, and have it downloaded on your phone, tablet, or computer for offline reading. And Dolphin? Your AWESOME browser that’s highly-customizable!

There are two ways to share to Pocket. First is the LONG, standard way in 4 steps (assuming you have the latest Dolphin):

(1) Click the phone’s left-menu to show the bottom menu bar.

01 left menu

(2-3) Click on More, then Share page.

02-a more

(4) Click on Add to Pocket. If you haven’t logged-in before yet, there’s another step.

03 add to pocket

Now, here’s the SHORTER way in 3 steps:

(1-2) Click the phone’s left-menu, then Add-ons.

01-b left menu

(3) Click on Save to Pocket. If you haven’t logged-in before yet, there’s another step.

02-b save to pocket

For the shorter way to work, you need to install the Pocket for Dolphin add-on found on their blog. This used to be available in Google Play, but was removed after the new Share page feature was introduced. However, you can use either way with the latest Dolphin. But since the add-on is an APK, it is for ANDROID only.


Greenwich unlocks Swarm Badge at 2nd Cebu 4sqDay

2013/05/04

The 2nd Cebu Foursquare Day at Greenwich (Ayala Center Cebu) last April 17, 2013  (Wed) was quite a SUCCESS! Ideally, this should have been an April 16 (four squared) event. But since the Western world celebrated a bit later, it was delayed. BAD DECISION, since it took the fun out of unlocking the 4sqDay2013 badge, which unlocks only on the 16th!

Still, over 40 folks came to celebrate and claim official Foursquare swag. Jumpers also checked-in to help unlock a Swarm badge.

Cebu Foursquare Day 2013 Swarm badge

THANKS to generous host and sponsor Greenwich, attendees were treated to FREE pizza, pasta, and drinks. AND of course, blue water bottles from Foursquare!

2nd Cebu Foursquare Day Greenwich pizza

There was no program for the day, just a simple meetup with old and new friends and super-friends.

As it stands, there is no official Cebu Foursquare community (with officers, etc). However, there is a Foursquare Cebu FB Group that is intended for Cebu-based SuperUsers, wanna-be-SuperUsers, and active Foursquare users who want to clean up Cebu. There is also a Foursquare Cebu FB fan page with pictures and status updates of Cebu Foursquare Day events.

Cebu Foursquare Day

This event couldn’t have been successful without the help of co-organizers @jerminix and @karissayu. So PROPS to these awesome guys… and to Greenwich and staff!

BY THE WAY, anybody is welcome to organize the next Cebu Foursquare Day event, or even just a Swarm event. Cebu still yet has to unlock the Super Swarm (250 check-ins) badge! Think you’d be part of that history? CHECK-IN NOW!


Greenwich to host Cebu Foursquare Day 2013

2013/04/14

Last year, Cebu City celebrated Foursquare Day with Bo’s Coffee. This year, we celebrate with GREENWICH, a popular pizza chain in the Philippines.

While Foursquare Day is celebrated every April 16, we’re doing this on April 17, so that we can celebrate together with the other side of the world. After all, this is an American GLOBAL thing.

We will be handing out OFFICIAL 4sqDay2013 water bottles, thanks to Foursquare. We will also be giving out Foursquare tip stickers from last year’s Meetup.  And if you’re feeling hungry, there’s also a slice of GREENWICH for the first 50 to check-in to their venue.

4sqDay 2013 water bottle

What do you need to do to get one of these? Not a lot.
1. RSVP at our Meetup page. Immediate freebie reservation.
2. Like our Foursquare Cebu page.
3. Show up at Greenwich, Ayala Center Cebu on April 17 (Wed) 8-9PM.
4. Check-in at Greenwich’s Foursquare venue.

NOTE: While the Meetup is on April 17 (Wed), the one-day-only Foursquare Day 2013 badge can only be unlocked on April 16 (Tue). So, make sure to check-in on April 16!

SPECIAL THANKS to Foursquare for the freebies, Greenwich for hosting the Cebu 4sqDay 2013, and to @karissayu and @jerminix for co-organizing this Meetup!

cebu foursquare day 2013


I Got FREE Stuff from Bitly and LightDims

2012/11/30

Some people don’t believe that you can’t get FREE Stuff on the Internet. You can. AND, two of them arrived in the mail last night.

bitly stickers

(1) Bitly stickers. Bitly, a URL shortener service, ran a sticker campaign last August to promote their bundle feature. A bundle is simply a group of links. AND as a registered user, you can have several of these bundles. In my case, I ONLY have a Java bundle.

bitly bundle

Don’t get me wrong. The bundle is a COOL idea, but I don’t like it. The screen just takes up so much whitespace. What I’d really like is just rows of links, in a compact format. That won’t stop me from using bit.ly as a URL shortener though. They do a good job with that.

AND, Bitly also does a good job with Customer Service. Aside from the stickers, they also sent a handwritten note talking about my Java bundle. I’m touched. Totally unexpected, but THUMBS UP, Bitly!

(2) LightDims stickers. What?! Stickers again? Yeah, there’s just something about stickers (especially brand stickers), that makes me want to collect them. BUT, this one is really, really special. They’re not your grandfather’s stickers. These are LED Light Blockers from LightDims, which I got for answering a survey. Yay!

lightdims stickers

You know LED? Those energy-efficient lights you see in nearly all gadgets like TVs, cellphones, and what-nots? They’re lovely, and they have a purpose – like telling you where they are in the dark. BUT these LED lights can be really annoying, especially when you’re trying to sleep. AND that’s what these LightDims stickers are for, so you can cover those lights. Brilliant, no? PERFECT!

I swear I found something like this in a mall in Cebu, but I’m not so sure. If you know where I can find them, PLEASE let me know. You can never have too many of them in different shapes! But if you can’t find them, and you really want them right now, try LightDims, or my favorite geek shop on earth, ThinkGeek.


CoderDojo Cebu Needs Mentors for Dec 1

2012/11/27

SO, WHAT’S HAPPENING IN FOUR LINES? THIS.
WHAT: CoderDojo Cebu v2
GOAL: Mentor / Advise on USC students’ projects
WHERE: University of San Carlos – Talamban Campus
WHEN: December 1 (Saturday), 2012. 2-5PM.

Unlike CoderDojo Cebu v1, which unfortunately has not been blogged about, v2 will not involve tech talks. Instead, Mentors (who could be you) will be advising around 12 teams on their projects, which are implemented either in: Android, C#, PHP, or something else.

If you join as Mentor, you will work with other Mentors to advise teams. You will go over their design, and see which areas can be improved. You can talk about their implementations (technology), or their functionalities. But you don’t have to be exhaustive; you don’t have all day.

If you join as Mentee (aka Student), you can ask anything (tips, questions, etc) from the Mentors. Heck, you can even ask for their numbers. Kidding. If you want to focus only on a specific area in your system, that’s also fine. Just come with an open mind. More importantly, don’t be shy to ask the Mentors. [Not to be racist, but this will be a USC-students-only event. So if you’re not on the list for v2, you can’t join. CoderDojo Cebu is working on similar events for other schools. So, watch out for it!]

While this event is meant to be serious, it is not “pressured”. For one, the students will not be graded. It’s just a venue for the “veterans” and the students to meet and talk in a casual environment, while learning from each other.

As amazing as CoderDojo Cebu v2 sounds, the group still needs more Mentors (YOU!). So if you’d like to volunteer, just go to their Google Groups, and post in the threads. If you don’t want to be a Mentor, but still want to help one way or another (or contribute to the discussions), just sign up all the same! Just tell them Geff Chang referred you, so you get approved. Unfortunately, there is no referral fee. DEADLINE to join Mentorship for Dec 1 (Sat) activity is Nov 27 (Tue)  10PM. SORRY for the really, really short notice!

And just in case you ask, CoderDojo Cebu also has a website, and a Twitter account @CoderDojoCebu.

Lastly, YES, there will be SNACKS.