Skip to content

Commit

Permalink
Merge pull request #29 from tobiashofmann/voting-2024.6
Browse files Browse the repository at this point in the history
Voting 2024.6
  • Loading branch information
tobiashofmann authored Jun 3, 2024
2 parents d90e5f3 + 88eb25a commit 6e56e50
Show file tree
Hide file tree
Showing 17 changed files with 268 additions and 5 deletions.
18 changes: 18 additions & 0 deletions definitions/frameworks/abapunit.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[page]
title = "ABAP Unit"
description = "ABAP Unit is a unit-testing framework that is integrated into the ABAP language.<br/><br/>In unit testing, a developer ensures that the correct behavior of the smallest testable units – such as the methods of classes – of his or her code is verifiable. Unit testing makes it easier to verify quality, to refactor code, to perform regression testing, and to implement according to the test-driven development model."
reason = "The way to do unit testing in ABAP"
support = "Supported"

[links]
"SAP Help" = "https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/4e/c18be06e391014adc9fffe4e204223/content.htm"
"Unit Testing with ABAP Unit" = "https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/4e/c4a6e06e391014adc9fffe4e204223/content.htm"
"ABAP Keyword documentation" = "https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/index.htm?file=abenabap_unit.htm"
"Wikipedia (de)" = "https://de.wikipedia.org/wiki/ABAP_Unit"

[config]
label = "ABAP Unit"
ring = "USE"
quadrant = "Frameworks"
active = true
moved = 0
16 changes: 16 additions & 0 deletions definitions/frameworks/cleanabap.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[page]
title = "Clean ABAP"
description = "Programming languages enable us to say the same thing in different ways. While all of them may be correct, some may be more efficient, easier to understand, and more robust than others."
reason = "Clean code guidelines for ABAP"
support = "No real support. Best practice for writing ABAP code."

[links]
"Homepage" = "https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md"
"Blog: ABAP Tools for Clean ABAP" = "https://community.sap.com/t5/technology-blogs-by-sap/abap-tools-for-clean-abap/ba-p/13577378"

[config]
label = "Clean ABAP"
ring = "USE"
quadrant = "Frameworks"
active = true
moved = 0
18 changes: 18 additions & 0 deletions definitions/technology/soap.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[page]
title = "SOAP"
description = "Simple Object Access Protocol (SOAP), provides the definition of the lightweight protocol for XML based information, exchanged between parties in a distributed environment. SOAP version 1.2 supports major features, required for communication with other Web service vendors."
reason = "SOAP failed to deliver on the promises and expectations. It is still widely used, also by S/4HANA public cloud.<br/><br/>As it was once regarded standard, many tools are available to develop apps that use SOAP. For new developments, it is recommended to use OData (v2/v4) as API. When possible, SOAP APIs should be replaced with RAP services."
support = "Supported."

[links]
"SAP Help" = "https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/48/52347a08e672d0e10000000a42189c/content.htm"
"SAP Business Accelerator Hub" = "https://api.sap.com/content-type/API/apis/SOAP"
Wikipedia = "https://en.wikipedia.org/wiki/SOAP"
"SOAP Version 1.2 W3C recommendation" = "https://www.w3.org/TR/soap12/"

[config]
label = "SOAP"
ring = "HOLD"
quadrant = "Technology"
active = true
moved = 0
15 changes: 15 additions & 0 deletions definitions/tools/abapcleaner.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[page]
title = "ABAP Cleaner"
description = "ABAP cleaner is a configurable tool with the ambition to automate whatever can be automated with respect to ABAP code style.<br/><br/>With ABAP cleaner, you can clean any amount of code from a single statement to an entire code document with one keystroke. ABAP cleaner then applies 70+ different cleanup rules to your code section, cleaning approx. 1 MB of code per second."
reason = "Useful tool for clean code. Align ABAP coding with best practices. Use it together with ADT."
support = "Supported by the community"

[links]
Homepage = "https://github.com/SAP/abap-cleaner"

[config]
label = "ABAP Cleaner"
ring = "USE"
quadrant = "Tools"
active = true
moved = 0
17 changes: 17 additions & 0 deletions definitions/tools/atc.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[page]
title = "ABAP Test Cockpit"
description = "The ABAP Test Cockpit (ATC) is a tool for doing static and dynamic quality checking of ABAP code and associated repository objects."
reason = "The way to for quality checking ABAP Code."
support = "Supported"

[links]
"SAP Help" = "https://help.sap.com/docs/ABAP_PLATFORM_NEW/ba879a6e2ea04d9bb94c7ccd7cdac446/62c41ad841554516bb06fb3620540e47.html?locale=en-US"
"ABAP Keyword documentation" = "https://help.sap.com/doc/abapdocu_758_index_htm/7.58/en-US/index.htm?file=abenabap-testcockpit_guidl.htm"
"DSAG Leitfaden (de)" = "https://www.dsag.de/wp-content/uploads/2021/12/dsag_leitfaden_atc_2020_06.pdf"

[config]
label = "ATC"
ring = "USE"
quadrant = "Tools"
active = true
moved = 0
16 changes: 16 additions & 0 deletions definitions/tools/ecatt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[page]
title = "Extended Computer Aided Test Tool (eCATT)"
description = "Use extended Computer Aided Test Tool (eCATT) to create and execute functional tests for software. The primary aim is the automatic testing of SAP business processes. Each test generates a detailed log that documents the test process and results.<br/><br/>eCATT provides a environment for developing functional tests. Rather than create a single object that defines every aspect of a test, eCATT has four separate object types. The first three form the building blocks of a test, and the fourth combines the others into a complete test case. The following graphic summarizes the development process and how the different eCATT objects fit into that process."
reason = "Recommended for testing Reports"
support = "Supported"

[links]
"SAP Help" = "https://help.sap.com/docs/ABAP_PLATFORM_NEW/c6663103e6ad47dcb8bb830d85137077/496d2fa0e0221ec6e10000000a42189b.html?locale=en-US"
"Wikipedia (de)" = "https://de.wikipedia.org/wiki/ECATT"

[config]
label = "eCATT"
ring = "USE"
quadrant = "Tools"
active = true
moved = 0
16 changes: 16 additions & 0 deletions definitions/tools/kapsel.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[page]
title = "Kapsel SDK"
description = "The Hybrid SDK (Kapsel) is a set of SAP plugins for Apache Cordova.<br/><br/>The Hybrid SDK (Kapsel) leverages the Cordova application container and provides Kapsel plugins to make the Cordova container enterprise-grade, allowing it to more seamlessly integrate with SAP Mobile Platform Server and mobile service for development and operations. The Hybrid SDK (Kapsel) plugins provide capabilities like application life cycle management, implementation of a common logon manager and single sign-on (SSO), integration with SAP Mobile Platform Server-based push notifications and so on. Since the Hybrid SDK (Kapsel) is implemented without modifying the Cordova container, it is compatible with anything else you develop with Cordova, and allows you access to the latest Cordova features and bug fixes when you build your application."
reason = "Legacy and not recommended. Switch to one of the native Fiori SDKs or better to MDK. SAP abandoned the hybrid app development path (as did other, see Cordova). Kapsel for hybrid apps is not recommended. If MDK is not an option, maybe PWA for UI5 apps can be used."
support = "EOL 31.12.2025"

[links]
"SAP Help" = "https://help.sap.com/doc/f1944845cb7b4cb886ebfbd5fa720c64/3.0.14/en-US/7c03a218700610149f94dd65a52e798f.html"
"Kapsel App Development" = "https://help.sap.com/doc/d9c75eebcfa840c8a4aa4b0e6a8136de/3.0.14/en-US/7c05514870061014ae31b35a27134786.html"

[config]
label = "Kapsel"
ring = "STOP"
quadrant = "Tools"
active = true
moved = 0
11 changes: 6 additions & 5 deletions definitions/tools/sapgui.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
[page]
title = "SAPGui"
description = "Proprietary client from SAP for connecting to an SAP system and run e.g. transactions or reports."
reason = "For development: use ADT first. Adopt reports to Fiori for end users. When reports: use Web Gui mit Personas"
title = "SAP GUI"
description = "Proprietary client from SAP for connecting to an SAP system and run e.g. transactions or reports. This here refers to SAP GUI for Windows and SAP GUI for Java.<br><br>SAP GUI is SAPs universal UI technology for working with SAP systems, such as SAP ERP or SAP Business Suite.<br><br>SAP GUI is used to display dynpro-based applications created in the SAP NetWeaver Application Server ABAP"
reason = "SAP GUI is used to display dynpro-based applications. These are deprecated. Applications should be using different technology and adhere to the Fiori UX.<br><br>For development: use ADT first. Adopt reports to Fiori for end users. When reports: use Web Gui mit Personas<br><br>Application should be at least accessible by a web browser. Accessing an SAP S/4HANA Public Cloud system via SAP GUI is not possible."
support = "Supported for Windows. For MAC: constant pain."

[links]
"SAP Help" = "https://help.sap.com/docs/sap_gui_for_windows?locale=en-US"
"SAP Help" = "https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/9a/d405e746ef43288755cb80a14be542/content.htm"
"SAP GUI for Windows" = "https://help.sap.com/docs/sap_gui_for_windows?locale=en-US"
Wikipedia = "https://en.wikipedia.org/wiki/SAP_Graphical_User_Interface"

[config]
label = "SAPGui"
label = "SAP GUI"
ring = "STOP"
quadrant = "Tools"
active = true
Expand Down
16 changes: 16 additions & 0 deletions definitions/tools/segw.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[page]
title = "SEGW"
description = "SAP Gateway Service Builder is a design-time environment, which provides developers an easy-to-use set of tools for creating services. The Code-based OData Channel consumes it and supports developers throughout the development life cycle of a service.<br/><br/>Service Builder caters need of both experienced and less experienced developers for exposing the data for an easy consumption, using a variety of platforms, frameworks, and devices, in a single transaction. While experienced developers have maximum flexibility to define a new service and integrate their own source code, less experienced developers can reduce the time and effort involved in creating services by importing existing definition files and implementing content generators.<br/><br/>Service Builder provides an OData-compliant modeling environment for creation and maintenance of OData services without any need for programming. Service Builder visualizes all the development artifacts that developers need to create a service."
reason = "OData sevices should be developed using RAP. SEGW is not in active development since a few years. Not recommended for OData v4 services."
support = "Legacy."

[links]
"SAP Help" = "https://help.sap.com/doc/saphelp_nw74/7.4.16/en-us/cd/dd22512c312314e10000000a44176d/content.htm?no_cache=true"
"SAP Note 2485370" = "https://me.sap.com/notes/2485370/E"

[config]
label = "SEGW"
ring = "STOP"
quadrant = "Tools"
active = true
moved = 0
16 changes: 16 additions & 0 deletions definitions/tools/ui5linter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[page]
title = "UI5 linter"
description = "UI5 linter is a static code analysis tool for UI5 projects. It checks JavaScript, XML, JSON, and other files in your project and reports the findings. It lists problematic code, which is not following the UI5 best practices."
reason = "New tool. First version recently released.<br><br>From the announcement blog: While the initial version of UI5 linter already provides good value, it is not yet covering all aspects and not all best practices for UI5 2.x."
support = "Supported"

[links]
Blog = "https://community.sap.com/t5/technology-blogs-by-sap/introducing-ui5-linter/ba-p/13633898"
GitHub = "https://github.com/SAP/ui5-linter"

[config]
label = "UI5 linter"
ring = "ADOPT"
quadrant = "Tools"
active = true
moved = 0
19 changes: 19 additions & 0 deletions definitions/ui/fiori4android.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[page]
title = "SAP BTP SDK for Android"
description = "The SAP BTP SDK for Android provides development tools for creating native Android mobile applications that use SAP Mobile Services. The SDK is based on the Java and Kotlin programming languages and it is built on top of Google's Android SDK.<br/><br/>This SDK focuses on application development with a device to back-end view instead of only client-side libraries. The tools in the SDK are specifically designed to help you quickly develop the framework for enterprise apps so that you can focus on implementing your business logic.<br/><br/>The SDK ships with an Android Studio plugin called the SAP BTP SDK Wizard for Android. This plugin simplifies the development of your Android projects by generating hundreds of lines of source code."
reason = "Only for very specific use cases. Better to adopt MDK for serving also iOS and/or web. Or using UI5 directly."
support = "Supported"

[links]
"SAP Help" = "https://help.sap.com/docs/SAP_BTP_SDK_FOR_ANDROID?locale=en-US"
Tutorials = "https://developers.sap.com/topics/sap-btp-sdk-for-android.html"
"Fiori for Android Design Guidelines" = "https://experience.sap.com/fiori-design-android/"
"SAP Fiori Mentor App" = "https://experience.sap.com/fiori-design-android/sap-fiori-mentor-app/"


[config]
label = "SAP BTP SDK for Android"
ring = "HOLD"
quadrant = "UI"
active = true
moved = 0
20 changes: 20 additions & 0 deletions definitions/ui/fiori4ios.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[page]
title = "SAP BTP SDK for iOS"
description = "The SAP BTP SDK for iOS is based on the Apple Swift programming language, which emphasizes developer efficiency and ease of use when developing apps in the Xcode IDE. The SAP BTP SDK for iOS supplements the Swift SDK, and does not replace it. Developers can use components of each, depending on the needs of a particular application.<br/><br/>The SAP BTP SDK for iOS includes well-defined layers (SDK frameworks, components, and platform services) that greatly simplify development of enterprise-ready mobile native iOS apps that take full advantage of iPhone and iPad features (Touch ID, location services and notifications, and so on). It is tightly integrated with SAP Mobile Services."
reason = "Only for very specific use cases. Better to adopt MDK for serving also Android and/or web. Or using UI5 directly."
support = "Supported"

[links]
"SAP Help" = "https://help.sap.com/docs/btp-sdk-ios/sap-btp-sdk-for-ios/about-sap-btp-sdk-for-ios?locale=en-US"
Tutorials = "https://developers.sap.com/topics/sap-btp-sdk-for-ios.html"
"Fiori for iOS Design Guidelines" = "https://experience.sap.com/fiori-design-ios/"
"SAP Fiori Mentor App" = "https://experience.sap.com/fiori-design-ios/article/sap-fiori-mentor-app/"
"Apple Developer" = "https://developer.apple.com/sap/"


[config]
label = "SAP BTP SDK for iOS"
ring = "HOLD"
quadrant = "UI"
active = true
moved = 0
17 changes: 17 additions & 0 deletions definitions/ui/fpm.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[page]
title = "Flexible Programming Model"
description = "The flexible programming model allows eliminating the need for a rigid choice between SAP Fiori elements and freestyle SAPUI5 development.<br><br>While you have the freedom to use any SAPUI5 coding or controls in extension points, you can also make use of building blocks and controller extensions to enhance your application. You can even create a custom app that runs on the SAP Fiori elements framework, where all pages are treated like custom pages.<br><br>Available extension points can be used to insert own coding. Complex UI controls can be easily realized by using building blocks (macros) that follow the Fiori design guidelines, e.g. for tables, fields or value helps."
reason = "Flexible Programming Model (FPM) is the recommended approach to adjust Fiori Elements (FE) applications. Best way to combine UI5 freestyle with FE. Allows to use the smart controls approach also for FE and OData v4.<br><br>In ring ADOPT, as FPM needs FE and OData v4."
support = "Supported."

[links]
"Flexible Programming Model Explorer" = "https://ui5.sap.com/test-resources/sap/fe/core/fpmExplorer/index.html#/overview/introduction"
"SAP Learning" = "https://learning.sap.com/learning-journeys/developing-an-sap-fiori-elements-app-based-on-a-cap-odata-v4-service/getting-an-overview-of-the-flexible-programming-model_fc9ea1ee-20a8-4add-b3f9-c8c8e3701ae0"
Blog = "https://community.sap.com/t5/technology-blogs-by-sap/leverage-the-flexible-programming-model-to-extend-your-sap-fiori-elements/ba-p/13502121"

[config]
label = "FPM"
ring = "ADOPT"
quadrant = "UI"
active = true
moved = 0
19 changes: 19 additions & 0 deletions definitions/ui/mdk.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[page]
title = "Mobile Development Kit (MDK)"
description = "SAP Mobile Development Kit enables developers and technical business users to build multi-channel applications. It allows you to build your application once, in an integrated development environment (SAP Business Application Studio/ VSCode extension) and run it natively on Mobile (Android & iOS) and as a web application (online) in the browser."
reason = "Recommended to build multi platform apps."
support = "Supported"

[links]
Documentation = "https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/getting-started/mdk/overview.html"
"MDK API Documentation" = "https://help.sap.com/doc/3642933ef2e1478fb1578ef2acba4ae9/Latest/en-US/index.html"
Tutorials = "https://developers.sap.com/topics/mobile-development-kit.html"
"GitHub Samples" = "https://github.com/SAP-samples/cloud-mdk-tutorial-samples"
"SAP Learning" = "https://help.sap.com/learning-journeys/8a4db22f842e4f37874eae5ce9d2d4b1"

[config]
label = "MDK"
ring = "USE"
quadrant = "UI"
active = true
moved = 0
20 changes: 20 additions & 0 deletions definitions/ui/mobilecards.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[page]
title = "Mobile Cards"
description = "SAP Mobile Cards enables end users to mobilize Fiori app web content without installing a custom mobile application.<br><br>It packages information containerized micro apps, allowing end users to access and interact with that information in a responsive, native manner on their mobile devices.<br><br>Depending on the OData service, it allows to easily create offline capabable micro apps that can be workflow enabled."
reason = "Failed to gain enough usage adoption.<br><br>Mobile Cards is designed for a limited usage scope where the cards can actually perform well."
support = "Supported"

[links]
Documentation = "https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/getting-started/mck/mck-overview.html"
"Mobile Cards Overview" = "https://help.sap.com/docs/CP/70ac991a4f734773b1892a8d0d45eabc/6c3834f4af454a21babc4e0600defe06.html"
"Mobile Cards Templates" = "https://github.com/SAP-samples/mobile-cards-templates"
"Discovery Center Mission" = "https://discovery-center.cloud.sap/missiondetail/3177/"
"Apple Store" = "https://apps.apple.com/us/app/sap-mobile-cards/id1168110623?platform=iphone"
"Play Store" = "https://play.google.com/store/apps/details?id=com.sap.content2go"

[config]
label = "Mobile Cards"
ring = "HOLD"
quadrant = "UI"
active = true
moved = 0
18 changes: 18 additions & 0 deletions definitions/ui/wdi5.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[page]
title = "WDI5"
description = "wdi5 is used for end-to-end tests of a UI5 web-application. wdi5 is a Webdriver.IO service, utilizing UI5’s test API. WebdriverIO (WDIO) is a hugely popular end-to-end testing framework. wdi5 uses a real browser and interacts with your app the same way a real user would."
reason = "Used for end-to-end tests of a UI5 web-application. Part of the UI5 testing pyramid for System Tests. Recommended for UI5 tests."
support = "Supported by community. Commercial option available."

[links]
Documentation = "https://ui5-community.github.io/wdi5/#/"
"Git Hub" = "https://github.com/ui5-community/wdi5"
"Commercial Support" = "https://github.com/ui5-community/wdi5/blob/main/SUPPORT.md#commercial-support"
"UI5 Testing" = "https://ui5.sap.com/#/topic/7cdee404cac441888539ed7bfe076e57"

[config]
label = "WDI5"
ring = "ADOPT"
quadrant = "UI"
active = true
moved = 0
1 change: 1 addition & 0 deletions docs/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ Here is the list of people that contributed to the SAP development tech radar. T
# 2024.06

- Tobias Hofmann
- Lars Hvam

0 comments on commit 6e56e50

Please sign in to comment.