Ep. | Date | Title & description with link to full video recording |
0 | Friday 18 Jan 2019 | Ep.0 - Getting our feet wet In this initial episode of the "Hands-on SAP dev with qmacro" series, we take a brief look at what using SAP's Cloud Application Programming Model in a Node.js context means for us JavaScript developers, and warm our brains up by solving some puzzles with a bit of ES6 flavoured code (with some functional aspects thrown in for good measure). Watch replay on YouTube Read annotations |
1 | Friday 25 Jan 2019 | Ep.1 - Setting up for the Node.js flavoured version of SAP's Cloud Application Programming Model While we warmed our grey matter up in the previous episode, in this episode we set up what we need to build with the Node.js (JavaScript) flavoured version of SAP's Cloud Application Programming Model (CAPM). This version allows us to build locally, with tools on our own machines, so that's what we'll be doing. Therefore, we use the SAP NPM registry to find & install the command line tool 'cds' that we can use to generate and manage Node.js based CAPM projects and also install the CDS language support for the VS Code editor, which comes in the form of an VS Code extension. Then we set up our Cloud Foundry environment on SAP Cloud Platform and install the 'cf' command line tool which we can use to interact with that environment. Watch replay on YouTube Read annotations |
2 | Friday 01 Feb 2019 | Ep.2 - Starting to build a bookshop backend service with CAPM In the previous episode we set up our tools and development environment ready for some SAP Cloud Application Programming Model (CAPM) action of the Node.js (JavaScript) flavour. So now we're ready to start exploring our first data and service definitions in the language of CAPM, i.e. CDS (Core Data & Services). We follow the "Create a Business Service with Node.js using Visual Studio Code" tutorial on the SAP Developers tutorial navigator and start to explore what CAPM and CDS can do for us. Watch replay on YouTube Read annotations |
3 | Friday 08 Feb 2019 | Ep.3 - Special guest edition: Interview with core CAPM developers from the mothership! This episode is rather special, in that I interview Christian Georgi from the core CAPM development team at the mothership in Walldorf. We talk CAPM, have some Q&A Christian shows us some cool live demos. Watch replay on YouTube Read annotations |
4 | Wednesday 13 Feb 2019 | Ep.4 - Debugging CAPM and a look at the cds REPL We take a look at how we can use VS Code debugging facilities to debug CAPM services, and also start to explore the cds command line tool's REPL (Read Evaluate Print Loop) environment. Watch on YouTube Read annotations |
5 | Friday 15 Feb 2019 | Ep.5 - Continuation of the CAPM Node.js bookshop tutorial We continue working our way through the tutorial "Create a Business Service with Node.js using Visual Studio Code" on the SAP Developer Centre. Watch replay on YouTube Read annotations |
6 | Friday 22 Feb 2019 | Ep.6 - Extending the CAPM bookshop tutorial - hacking & learning We're pretty much at the end of the tutorial as it stands. But there's always more to learn by hacking on it, to tweak and extend it. We do that in this episode, uncovering more features of CAPM and CDS. Watch replay on YouTube Read annotations |
7 | Wednesday 27 Feb 2019 | Ep.7 - Digging into the language server protocol, cds-lsp and Vim One of the things we looked at briefly in the previous episode was the language server protocol (LSP) implementation for the CDS language, in the VS Code extension. In this midweek episode we explore getting a Vim LSP client working and connected to the cds-lsp server. Watch replay on YouTube Read annotations |
8 | Friday 01 Mar 2019 | Ep.8 - Using Axios, ES6, promises & pure functions to grab data In Episode 6 we set out creating our mini Northwind service, called Northbreeze, and started to write some code to grab the Northwind data, exploring Axios as an HTTP client library that supports promises and (therefore) dot chaining. In this episode we continue on towards completing this code to produce CSV files as input to our CAP model, exploring pure functions along the way. Watch replay on YouTube Read annotations |
9 | Wednesday 06 Mar 2019 | Ep.9 - Continuing with data retrieval for Northbreeze In episode 8 last Friday we were constructing the data retrieval script using Axios and promises. In this episode we continue to build that out, and then convert the data thus retrieved to CSV for loading into the database with cds deploy .Watch replay on YouTube Read annotations |
10 | Thursday 07 Mar 2019 | Ep.10 - Finishing off the data retrieval mechanism in Node.js Following the previous episode there's a bit more work to do to finish off the data retrieval mechanism we have been building to extract data from the original Northwind service and turn it into CSV files that can be loaded into a persistence layer with 'cds deploy'. In this episode we finish this off and load the data. Watch replay on YouTube Read annotations |
11 | Friday 08 Mar 2019 | Ep.11 - A CAP project for "Geonames" & funcprog style with Chris Whealy In this episode we have developer Chris Whealy as a guest, taking us through his personal project making use of Geonames data and built using CAP with Node.js. Along the way we look at Chris's programming style which takes a lot from the functional programming world. Watch replay on YouTube Read annotations |
12 | Friday 15 Mar 2019 | Ep.12 - Exploring and understanding parts of @sap/cds JS - code & style I had an itch to scratch, in that I wanted to be able to filter out columns in CSV files. In this episode we take a look at some of the JavaScript within the @sap/cds module - what it offers and how it's written. We then see how some of that was useful in building a simple CSV filter mechanism. Watch replay on YouTube Read annotations |
13 | Wednesday 20 Mar 2019 | Ep.13 - Stdio-ifying the CSV filter mechanism In the previous episode (Ep.12) we looked at a simple CSV filter utility. In this episode we improve it by giving it the ability to read from STDIN and write to STDOUT so it plays nicely in pipeline contexts. Then we'll be ready to use it to finalise our data for our CAP based "Northbreeze" service. Watch replay on YouTube Read annotations |
14 | Friday 22 Mar 2019 | Ep.14 - Exploring CAP service level features and annotations After a pleasant detour hacking together some CSV related utilities with Node.js we return to our Northbreeze CAP project and take a look at some of the service level features, looking how they can complement the data model, and playing around with some of the annotations available to us, to see what effect they have. We also take a look at fixing the issue we had with the boolean property :-0 back in Ep.10. Watch replay on YouTube Read annotations |
15 | Friday 29 Mar 2019 | Ep.15 - Starting to look at a frontend for our Northbreeze app This session comes to you from the location of the SAP CodeJam event in the AOK offices in Frankfurt. In this episode we investigate at a few more cool features of CAP and CDS and start to look at a user interface for our Northbreeze app, and even get to serve it from the CAP runtime itself. Watch replay on YouTube Read annotations |
16 | Wednesday 03 Apr 2019 | Ep.16 - Getting to a basic frontend with Fiori Elements, and sandbox launchpad Following on from the previous episode broadcast from the SAP CodeJam in Frankfurt, we continue moving towards a first UI using a sandbox Fiori launchpad and a basic Fiori elements app driven by a small set of annotations. Watch replay on YouTube Read annotations |
17 | Friday 05 Apr 2019 | Ep.17 - Digging into the annotation driven UI We take a look at the simple UI that we created in the previous episode and look a little bit behind the scenes, to learn a bit more about annotations, OData calls and more. Watch replay on YouTube Read annotations |
18 | Friday 12 Apr 2019 | Ep.18 - A first look at CAP with Java In this episode we take a break from Node.js and JavaScript, and take a first look at the SAP Cloud Application Programming Model with Java. Developer Evangelist iinside is our expert for the episode, for an interesting and fun overview of what CAP with Java is all about. Watch replay on YouTube Read annotations |
19 | Wednesday 17 Apr 2019 | Ep.19 - Some fun with CAP related tooling This being a midweek episode, we allow ourselves a little bit flexibility and look into developer tooling; we look a bit more at syntax highlighting in Vim, some more LSP usage and try to come up with a workflow for setting up to answer CAP questions on the SAP Community Q&A site. Watch replay on YouTube Read annotations |
20 | Friday 19 Apr 2019 | Ep.20 - Continuing with CAP and Java Following on from Ep.18 where we took a first look at CAP with Java, in the SAP Web IDE, we continue our journey and look more closely at adding hooks and debugging. As a bonus, this is again led by our friend and my colleague iinside! Watch replay on YouTube Read annotations |
21 | Friday 26 Apr 2019 | Ep.21 - CAP, Java, Maven and the cloud This episode brings a selection of related topics. With iinside we continue where we left off in the previous episode and then dig a little bit into Maven tooling. After that we switch back to our Northbreeze service and look at deploying to the Cloud Foundry environment on SAP Cloud Platform. Watch replay on YouTube Read annotations |
22 | Wednesday 01 May 2019 | Ep.22 - Live stream community share - dotfiles and Google Cloud Run goodness In this midweek episode we enjoy a little off piste activity with two special guests from the #HandsOnSAPDev community. Ronnie Sletta describes his setup and takes us through his dotfiles for new machine setups, and Nabheet Madan shows us how he deployed a CAP project to Google Cloud Run. Watch replay on YouTube Read annotations |
23 | Friday 03 May 2019 | Ep.23 - Digging in to the sitregcapm project In this episode we take a closer look at the project to rewrite the SAP Event Registration app backend using CAP, in the form of the sitregcapm repo on GitHub. Watch replay on YouTube Read annotations |
24 | Friday 10 May 2019 | Ep.24 - Going from local CAP to cloud CAP with MTA based deployments In this episode we have mariusobert who takes us on a journey from our local CAP development environment to the cloud. Specifically he shows us how to deploy a simple CAP project to SAP Cloud Platform Cloud Foundry environment and gives us some tips and tricks along the way. Watch replay on YouTube Read annotations |
25 | Friday 24 May 2019 | Ep.25 - System reset The past week has been a little bit hectic and distracting, so I use this episode as a sort of “system reset” to figure out where things are, what we want to work on, and share some items that have come up recently. Watch replay on YouTube Read annotations |
26 | Wednesday 29 May 2019 | Ep.26 - Vim CDS plugin with new @sap/cds-lsp package Now that the @sap/cds-lsp package is published to the public SAP NPM registry, it's a good time to look how we can incorporate that into the Vim CDS plugin. Plus more SAP Cloud Platform Workflow goodness too! Watch replay on YouTube Read annotations |
27 | Friday 31 May 2019 | Ep.27 - Continuation of the Cloud Platform Workflow project In this episode we continue where we left off in Ep.25, to build out the workflow scenario on SAP Cloud Platform, exploring features as we go for service and script tasks, and more. Watch replay on YouTube Read annotations |
28 | Wednesday 05 Jun 2019 | Ep.28 - Digging into Workflow user task UIs Continuing on from the previous episode, we dig in a little deeper to user task UIs, looking at the Workflow API and task info, as well as the My Inbox API, to understand how the generic UI component actually works. Watch replay on YouTube Read annotations |
29 | Friday 05 Jul 2019 | Ep.29 - Restarting - catchup and stretching This is the first episode for a few weeks, so it's worth spending some time catching up with where things are, and having a bit of a warmup and stretch, brain-wise, so we can get back into things the right way, including a first look at mocked authorisations in CAP. Watch replay on YouTube |
30 | Friday 19 Jul 2019 | Ep.30 – More on CAP auth and Fiori Elements features Following on from the previous episode we continue with digging into CAP authorisations and start to take a look at the new built-in Fiori Elements rendering feature in CAP 3.13. Watch replay on YouTube |
31 | Wednesday 24 Jul 2019 | Ep.31 - Digging into CAP's fiori-preview With 3.13 we saw the appearance of a nifty little feature available in the services via HTTP - the "Fiori preview". In this episode we dig in a little bit to find out how that works. Express middleware? Yes please! Watch replay on YouTube |
32 | Friday 26 Jul 2019 | Ep.32 - Annotations to power the CAP fiori-preview Now that we're familiar with the fiori-preview feature in CAP, and understand (from the previous episode) how it actually works underneath, we now look a bit deeper at annotations that we can use to power the dynamically rendered Fiori Elements based displays. Watch replay on YouTube |
33 | Friday 02 Aug 2019 | Ep.33 - More CAP exploration Following on from the previous couple of Friday episodes, we continue to explore CAP features, to see what we can find. As an experiment this episode's description remains deliberately loose until we get down to it during the actual stream, so we can just follow our noses and see where we end up. Watch replay on YouTube |
34 | Friday 23 Aug 2019 | Ep.34 - Exploring actions and functions in CAP In this episode we explore the "dark side" of the otherwise RESTful OData protocol (that's fighting talk, I know!) and dig in a little bit to actions and functions. If you've encountered function imports in OData before, you'll feel right at home. Watch replay on YouTube |
35 | Friday 30 Aug 2019 | Ep.35 - More on actions and functions in CAP In this episode we pick up where we left off in the previous episode and continue to dig into actions and functions. Watch replay on YouTube |
36 | Wednesday 11 Sep 2019 | Ep.36 - Actions and value help in CAP We get to look a bit more at the orthogonal parts of OData V4 in the form of actions (remember: may have side effects and may (might) not return data) and perhaps investigate value help with code lists. Watch replay on YouTube |
37 | Friday 20 Sep 2019 | Ep.37 - Digging into annotations In this episode we dig into annotations to get closer to an understanding of how value help works. There's a long way to go, but we know the journey will be pleasant and interesting. Come along and enjoy the ride! Watch replay on YouTube |
38 | Friday 04 Oct 2019 | Ep.38 - Converting API EDMX metadata to CSN In this episode we take a look at how OData metadata information, in the form of EDMX, can be converted to Core Schema Notation (CSN), and take a look at some SAP API Hub features along the way. Watch replay on YouTube Read annotations |
39 | Sunday 06 Oct 2019 | Ep.39 - Looking at process substitution This is an impromptu live stream where we look briefly at process substitution in the shell, a powerful construct useful for command line processing. Watch replay on YouTube Read annotations |
40 | Friday 18 Oct 2019 | Ep.40 - Catchup from SAP TechEd We’re in the midst of the SAP TechEd season – in this episode we catch up with what’s been going on and dig into whatever takes our fancy. Watch replay on YouTube Read annotations |
41 | Friday 25 Oct 2019 | Ep.41 - Business Rules API on the BTP Continuing on from where we left off in Ep.40, we dig further into the Business Rules APIs and start our journey to the Cloud Foundry environment. Watch replay on YouTube Read annotations |
42 | Friday 01 Nov 2019 | Ep.42 - Impromptu stream on GitHub CAP Community work After being unable to stream well enough since the Catalina upgrade I took the opportunity to investigate Lightstream, a Chrome extension for streaming. In this impromptu, unplanned stream I work through an issue assigned to me on the CAP Community repository (please forgive the video quality, working on improving that). Watch replay on YouTube Read annotations |
43 | Tuesday 19 Nov 2019 | Ep.43 - SAP TechEd Functional Programming recap At SAP TechEd 2019 in Bangalore we had the session "Write Solid Code with Functional Programming Techniques" where, using JS, we covered some functional programming aspects such as higher order functions, composition and reuse, partial application and immutability. It was a popular session and was repeated the next day. This episode gives us all the chance to look at the content of this session, and some related FP goodness. Watch replay on YouTube Read annotations |
44 | Friday 22 Nov 2019 | Ep.44 - Business Rules in Cloud Foundry - setting things up In previous recent episodes we've taken a look at the Business Rules service on Neo, and kicked the tyres with a simple rules service. Now it's time to move to Cloud Foundry and set things up there. Let's go! Watch replay on YouTube Read annotations |
45 | Wednesday 27 Nov 2019 | Ep.45 - Cool initiatives and projects with CAP with Tom Jung In this episode Tom Jung is going to join us and show us some of the cool stuff he's been hacking on in the CAP area. Tom has always got some fascinating tech to share, so make sure you tune in! Watch replay on YouTube Read annotations |
46 | Friday 29 Nov 2019 | Ep.46 - The SAP Business Application Studio with Marius Obert In this episode we take a look at the new IDE from SAP - the Business Application Studio. We have an old friend of the stream Marius Obert to tell us about it and demo it live too. Don't miss this! Watch replay on YouTube Read annotations |
47 | Friday 06 Dec 2019 | Ep.47 - ABAP and SAP Cloud Platform functions for Advent of Code It's December and many of us are furiously hacking away on solutions to the excellent Advent of Code daily puzzles. We're using different languages, platforms and tools, for different reasons; in this episode we get hendrik.neumann and gregorw to show us how they're solving the puzzles with SAP tech. Watch replay on YouTube Read annotations |
48 | Friday 13 Dec 2019 | Ep.48 - Continuing with the Business Rules service on CF In this episode we continue on from where we left off in Ep.44 and dig further into the Business Rules service on SAP Cloud Platform Cloud Foundry environment. Watch replay on YouTube Read annotations |
49 | Friday 03 Jan 2020 | Ep.49 - Defining our first Business Rules project Now we have the admin "Manage Projects" UI (and understand how the magic works) it's time to create our first Business Rules project. Watch replay on YouTube Read annotations |
50 | Friday 17 Jan 2020 | Ep.50 - Calling our Business Rule via the runtime API We have a simple business rule defined - now it's time to use the runtime API to call it. As it's on Cloud Foundry and authentication is via OAuth, we're in for a fun and interesting episode! Watch replay on YouTube Read annotations |
51 | Fri 31 Jan 2020 | Ep.51 - More fun with Business Rules API and OAuth In the previous episode we got as far as staring at the OAuth Bearer token that we could use to authenticate calls to the API. In this episode we see how far we can get in using one of those tokens to do so. Perhaps even a bit of JavaScript with Axios might be nice to look at too - promises promises! (geddit) Watch replay on YouTube Read annotations |
52 | Fri 07 Feb | Ep.52 - Tidying up the JS script for Business Rules OAuth flow In Ep.51 we finished on a cliffhanger - having retrieved a bearer token by authenticating using the resource owner password credentials grant flow, we made the call to the runtime API endpoint, but got a 401. Find out why in this episode, and work with me on making the script neater and more reusable. Watch replay on YouTube Read annotations |
53 | Fri 14 Feb | Ep.53 - Starting to construct a HandsOnSAPDev info API In previous episodes, and particularly in Ep.52, we chatted about introducing a way to programmatically search for episodes of this series, by title, tag, date, or some other metadata. We talked about the possibility of an OData service (CAP-powered, of course) and / or an NPM module on the GitHub package registry. In this episode we'll make some first steps towards this goal. Watch replay on YouTube Read annotations |
54 | Fri 21 Feb | Ep.54 - Continuing with the HandsOnSAPDev API In the previous episode we took our first steps towards a multi-faceted API for this live stream series. In this episode we continue our exploratory journey into OData V4 options, conjunction tables with CDS and more. Watch replay on YouTube |
55 | Fri 28 Feb | Ep.55 - Getting set up with Workflow on Cloud Foundry Taking a quick break from our HandsOnSAPDev API adventure, we'll use this episode to take a look at how to get started with Workflow on SAP Cloud Platform, and specifically in the Cloud Foundry environment. There's a lot to cover, and it's all fascinating! Watch replay on YouTube |
56 | Fri 06 Mar | Ep.56 – Continuing our Workflow on Cloud Foundry setup journey In the previous episode we took our time over the juicy details of the Multi-Target Application that will give us our Workflow tools in a Fiori Launchpad. In this episode we continue that journey of discovery. Watch replay on YouTube |
57 | Fri 13 Mar | Ep.57 - Setting up our first Workflow definition on CF Now we have our Workflow tools set up on Cloud Foundry, it's time to put them to use, with a simple workflow definition that we'll create and deploy. What's more, we dive into a little OAuth 2.0 adventure of discovery! Watch replay on YouTube Read annotations |
58 | Fri 20 Mar | Ep.58 - Digging deeper into OAuth 2.0 for CF APIs In the previous episode we put the pieces together on how the Client Credentials Grant flow works with the API Hub and the CF Workflow APIs. Now it's time for us to dig even deeper and look into alternative flows. Buckle up! Watch replay on YouTube Read annotations |
59 | Wed 25 Mar | Ep.59 - Apple’s Mac Catalyst and the SAP Cloud Platform SDK for iOS 5.0 In this special episode we get to hear about and see the SAP Cloud Platform SDK for iOS version 5.0 and its Mac Catalyst support. Our iOS/Mobile advocate kevin.muessig takes us through creating a Mac Catalyst-ready Xcode project using the SAP CP SDK for iOS. There are important considerations of bringing your app to Mac which he covers too. Watch replay on YouTube |
60 | Fri 27 Mar | Ep.60 - App router and the "simplest thing that could possibly work" Now that we have a good understanding of how OAuth 2.0 is used in the context of CF APIs, we turn our attention to some other fundamentals - in this episode it's how we can access a remote SAP system using "the simplest thing that could possibly work" (with a hat tip to the great Ward Cunningham), causing us to explore the app router, and destination & connectivity services on CF. Watch replay on YouTube |
61 | Wed 01 Apr | Ep.61 - Continuing to dive into the approuter on CF In the previous episode we started to take a deep dive into how we could access a remote system from the Cloud Platform in Cloud Foundry. We ended on a wonderful cliffhanger – why is the “shopinfo” destination not recognised? Find out the answer to this, and more, in this continuation episode. Watch replay on YouTube |
62 | Fri 03 Apr | Ep.62 - What else can we learn about the approuter? As we've seen in the previous two episodes, the approuter is not only an essential component, it's quite an impressive one too. Let's use this episode to see what else we can learn about it. Watch replay on YouTube |
63 | Fri 10 Apr | Ep.63 - Tracing the OAuth 2.0 Authorisation Code grant type with approuter and CF Continuing with our deep dive into approuter we finally get to the part where we can see how it provides us with the Authorisation Code flow to allow users access to protected resources. Let's dig into that together! Watch replay on YouTube |
64 | Fri 17 Apr | Ep.64 - Providing CF comfort in the terminal We wrap up the approuter's OAuth flow with a bit more hard-core debugging, then turn our attention to some terminal skills that can make our lives in the Cloud Foundry more comfortable. Watch replay on YouTube |
65 | Fri 24 Apr | Ep.65 - Custom Workflow UIs on CF Riffing off what we saw briefly in Ep.63 with the cf html5 plugin, we turn our attention to how that might be useful in a practical context. So we start building a custom Workflow UI to deploy and use in Cloud Foundry. Watch replay on YouTube |
66 | Fri 01 May | Ep.66 - Continuing our journey to a custom task UI on CF We continue our journey towards getting a custom task UI up on the CF environment for our Workflow context, exploring juicy and interesting details of everything we see along the way. Watch replay on YouTube |
67 | Fri 08 May | Ep.67 - Hacking an existing Custom Task UI on CF At the end of the previous episode, we got to the stage where we were ready to take a look at the existing Custom Task UI from the sample project. In this episode we dig in further. Watch replay on YouTube |
68 | Wed 20 May | Ep.68 - Data pipelines and HANA HDI containers In this episode we have special guest vitaliy.rudnytskiy with his Data Engineer hat on, building data pipelines and connecting them to a HANA HDI container. This continues the journey he started over on Max's channel in Ep.8. Watch replay on YouTube |
69 | Fri 22 May | Ep.69 - Construction begins of our own custom task UI We've looked at an existing workflow definition and a related custom task UI, and now it's time to start to build our own. Let's go! Watch replay on YouTube |
70 | Fri 29 May | Ep.70 - Finalisation of our custom task UI In Ep.69 we started building a custom task UI for our Workflow definition on CF, using the Inbox API and the Workflow API. In this episode we finalise that. Watch replay on YouTube |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
21 | |
16 | |
13 | |
12 | |
11 | |
10 | |
7 | |
7 | |
7 | |
7 |