Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
Showing results for 
Search instead for 
Did you mean: 
This post originated from an idea to do an internal presentation about SAP CAP and SAP Fiori in my company.

The effort was to address the question "What SAP CAP is and how can we use it?" from both business and technical side.

Most of things are pretty trivial for anyone with sap/fiori background, but the target audience in my company were managers and ui/ux designers and devs not familiar with it at all.

Eventually, I made two videos: the main one with general stuff and a "short bonus one".

Source code as always available at

Slides of "presentation" with links used are here (was lazy to put it into proper sections)!Aq45msPLRNMRhYwQ0C0cqU3yEYmRRg

Hope it could be useful to someone.


Below are the youtube vids+chapters links (of course, watch speed 1.5x is recommended ).

00:00 intro

pt1: Demo

01:24 solution motivation

03:21 demo admin flow

04:29 brief mention of stanza nlp

10:38 demo user flow

11:33 mention of vocabulary and treebanks

12:53 translations and flashcards

14:27 second user

15:36 data access privileges

16:36 cards with multiple pairs of langs

17:33 manual parsing example

19:04 treebanks import

20:51 understanding user flow

pt2: Fiori UX

21:25 fiori ux / design system

23:17 floorplans and ux elements

25:49 cheap prototyping to backlog to scope

pt3: NPD

28:15 ideation phase challenges

29:14 brief npd approaches comparison

31:54 fuzzy frontend of npd

34:33 cheap prototype first?

pt4: CAP

36:55 where's cap? not yet )

37:20 fiori elements

40:59 odata as a protocol between fe and be

43:18 vocabulary annotations as metadata for metadata

44:03 cap/cds finally

46:47 cds ui annotations

49:18 low to full source code comparison

49:56 stanza nodejs to python full code case

51:23 runtime and platform

pt5: Frontend

54:38 fiori ux with react/angular

56:38 freestyle ui5 with fiori elements building blocks

57:54 broken custom page part )

59:59 custom ui5 view and controls

pt6: Outro

1:01:44 outro

1:03:03 capacitor/hybrid mobile apps mention

1:03:41 possible product directions and final words

00:00 intro and reminder of an issue we had

pt1: bootstrap and run with cdn or local resources and proxy

00:44 ui5 114 upgrade cdn rollout + cache as culprit

01:46 about cdn bootstrap2

02:49 cap preview generated index with default cdn

04:10 own index file as bootstrap for flp

05:02 about cache related parameters xx-viewCache and xx-cache-use

06:00 reproduce cache issue with fpm table

07:06 btp docs ui5VersionNumber for stable ui5 version

08:18 ui5 cli tooling that we do use (and fiori that we do not)

10:02 ui5 serve with local resources and proxy

14:20 libs as npm modules

15:26 bootstrap for custom cards app without proxy and relative resoures path

16:28 about componentData in bootstrap

pt2: build our app and run with cors

19:46 use ui5 build to get a distributable app

20:25 about serve/build dependencies like sap.ushell or sap.insights

27:29 default odata model replacement magic in init to have basic auth with cors

31:51 backend issue with auth header

33:41 cors enablement on backend side

35:07 dirty patch of cap/okra forbiddenHeaders

35:51 simple sentence import to recreate a card after backend restart

37:40 frontend issue with headers when using cors

39:32 and we will patch frontend as well )

41:45 finally works

42:18 "I start feeling that this video is already passed half an hour" - intended to be like 20 mins )

42:28 almost at capacitor part

pt3: "second part" about capacitor app build from our dist

43:50 setup capacitor project

47:17 running the apps finally in "run on mac" (ipad) and simulator (iphone)

49:07 ipad/mac app and issues (crashed with debugger + navigation)

51:20 "responsibility" (responsiveness) depending on form factor - menuButton example

53:16 run simulator to test the phone mode (scale/size issue as well)

p4: closing

58:52 final thoughts
Labels in this area