Giter Site home page Giter Site logo

docs.abapgit.org's Introduction

abapGit Documentation

This repository contains the documentation for abapGit.

You can access the documentation site here.

docs.abapgit.org's People

Contributors

abapchaoliu avatar albertmink avatar alex-salnikov avatar alexandreht avatar alpex8 avatar christianguenter2 avatar conjuringcoffee avatar d023604 avatar ed-holland avatar eduardocopat avatar fabianlupa avatar francisco-milan avatar frehu avatar g-back avatar giantcrocodile avatar goreraks avatar gregorwolf avatar hf-kklein avatar johanneskonings avatar jrodriguez-rc avatar jwigert avatar larshp avatar mbtools avatar pilotflying avatar pokrakam avatar rainerwinkler avatar sandraros avatar sbcgua avatar sebastianwolf-sap avatar stockbal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs.abapgit.org's Issues

Connection Setup

Add more details to https://docs.abapgit.org/user-guide/setup/ssl-setup.html

  • Graphic of connection alternatives

    • SAP System > HTTP/S > Git Server
    • SAP System > HTTP/S > Proxy > Git Server
    • SAP System > Exit( RFC Destination ) > HTTP/S > Git Server
    • SAP System > Exit( RFC Destination + Proxy ) > HTTP/S > Git Server
  • Tips for connections from SAP Cloud solutions here

Proposal for new website design :)

Recently I stumbled over this site again and I thought that there was some room for improvement here.
Some features I missed:

  • Built-in search
  • Better side navigation with active-indicator to quickly see where one is
  • Dark Theme support 😎
  • Better mobile support - for those who like to read documentation on the go

First I thought I would only create a simple mockup to show you how it could look, but I really liked the initial look and feel, so I rebuilt the complete documentation site πŸ™ˆ - hopefully it was not all for nothing. But in the end, you are the deciders and if does not meet your expectations at all, no hard feelings πŸ˜….

VuePress as new site technology

Although I recently contributed to the DSAG ADT Guide - sorry, it is only available in German - I never really warmed up towards Jekyll. I always felt more comfortable with javascript, and so I moved away from jekyll and used VuePress instead. At the end we get a SPA but each markdown file is still rendered into an HTML file, so not that different from jekyll. But because of the whole setup one can easily use custom VueJS components directly in markdown. But I won't bore you too much with pros and cons, as there is existing documentation where the frameworks are described better and in more detail. I would much rather show you the site.

Impressions of the new design

So here we go, this would be new intro page of the abapGit documentation. I moved the different entry points of the documentation in the top navbar, so "User-Guide" and "Development-Guide". For the primary theme color I used the orange from the abapGit logo, but we can choose any other color as well.

start-page

Next up we have a standard content page by which I will use to explain the most important feature of the used theme (VuePress Theme Hope).

feature-list

  1. Side bar which displays the contents of the guide that is currently in focus. Depending on the screen width, the content of the right side bar (2.) will be moved here.
  2. Right Side bar which shows the headings of the current page
  3. Actions to
    • navigate the GitHub page of the abapGit Docs
    • change the theme
    • call up a search dialog to search the site content
  4. Breadcrumbs to show where the current site is located
  5. Information about:
    • author (currently hardcoded to abapGit)
    • the date of publishing
    • reading duration
    • category (used from the frontmatter of the markdown page)

Furthermore the following actions are located at the footer of a content page

  1. Link to jump directly into edit mode on GitHub
  2. Information about last page update and contributors to this page
  3. Navigation Links to previous/next page

footer

Special features

It is very to easy to create special info sections to warn, inform or give tips to the user.
tips-feature

Such sections can be inserted via:

:::tip
<your tip>
:::

For a detailed overview of the available categorys look here.

I already mentioned the missing dark theme, so of course the new site comes with it 😊.
dark-theme

I gues that's enough for a cursory overview of the capabilities that are built into the site.

The site is currently deployed on a gh-pages branch of my fork of this repository and you can visit via https://abapgitdocs.devepos.com.

Please let me know your thoughts and if you want to move into this direction.

P.S. I also did some restructuring of the markdown files during the move to VuePress
The new folder structure looks like this:

└─ src
   β”œβ”€ .vuepress # configuration files for vuepress
   β”œβ”€ development-guide
   β”‚  β”œβ”€ api
   β”‚  β”œβ”€ read-first
   β”‚  β”œβ”€ serializers
   β”‚  β”œβ”€ technical-details
   β”‚  β”œβ”€ testing
   β”‚  └─ user-interface
   β”‚
   β”œβ”€ user-guide
   β”‚  β”œβ”€ getting-started
   β”‚  β”œβ”€ other
   β”‚  β”œβ”€ projects
   β”‚  β”‚    β”œβ”€ offline
   β”‚  β”‚    └─ online
   β”‚  β”œβ”€ reference
   β”‚  β”œβ”€ repo-settings
   β”‚  └─ setup
   └─ README.md

Cheers,
Ludwig

Feedback to abap-language-version.md

Section # Any ABAP Language Version

Import
When deserializing objects, abapGit will set the ABAP language version according to the metadata of each object.

--> In systems that use software components which enforce the use of the language version "ABAP for Cloud Development" the import tool should not try to set the language version to "ABAP standard" since it will not be possible to activate the object even if the source code might be compatible.
It is very cumbersome to change the ABAP language version for several objects since no mass change support is available for this in ADT. So it should be tried to set the language version to the version that is enforced or the import should be blocked to prevent lots of objects to be created that cannot be activated by definition.

Flow Page Notes

  • "this is not git"
  • "preserving the advantages of using classic CTS"
  • feature branch based development
  • feature branches are deleted after merge to main
  • all feature branches are based on main
  • only favorite repos considered
  • branches must be up to date, squashed on top of main
  • main branch must be named 'main'
  • no changes to same files in simultaneous pull requests/features
  • pull requests from forks are not considered
  • commits must be during the last year
  • max 100 PRs shown per repo(?)
  • linear history

Links to git technical documentation are dead

[https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt](https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt)
[https://github.com/git/git/blob/master/Documentation/technical/http-protocol.txt](https://github.com/git/git/blob/master/Documentation/technical/http-protocol.txt)
[https://github.com/git/git/blob/master/Documentation/technical/protocol-capabilities.txt](https://github.com/git/git/blob/master/Documentation/technical/protocol-capabilities.txt)
[https://github.com/git/git/blob/master/Documentation/technical/pack-format.txt](https://github.com/git/git/blob/master/Documentation/technical/pack-format.txt)
[https://github.com/git/git/tree/master/Documentation/technical](https://github.com/git/git/tree/master/Documentation/technical)

Inconsistent logo use?

Is it on purpose that two different images are used for the abapGit logo?

In the application and in the documentation:
image

In GitHub and favicon of the documentation:
image
image

add empty folders in ZCL_ABAPGIT_GIT_PORCELAIN=>FIND_FOLDERS Generates duplicate entries

I've end with a dump in ZCL_ABAPGIT_GIT_PACK=>ENCODE_TREE
With : ASSERT NOT <ls_node>-name IS INITIAL.
Because of an initial name.

I've got this initial name because ZCL_ABAPGIT_GIT_PORCELAIN=>FIND_FOLDERS
Generate folder with a '/' at the end.

With a folder list in rt_folders line 21 :

  • add empty folders
    LOOP AT rt_folders ASSIGNING <ls_folder>.
PATH COUNT SHA1
/ 0 Β 
/S51/100/BC/T000 0 Β 
/S51/100/CA/T000ATP 0 Β 
/S51/100/FI/T000C 0 Β 
/S51/100/FI/T000CLNT 0 Β 
/S51/100/FI/T001 0 Β 
/S51/100/FI/T001Z 0 Β 
/S51/100/LO/T001K 0 Β 
/S51/100/LO/T001L 0 Β 
/S51/100/LO/T001W 0 Β 
/S51/100/MM/T001Y 0 Β 
/S51/100/PA/T001P 0 Β 
/S51/100/PP/T000MD 0 Β 

I end with this list which includes duplicates.

PATH COUNT SHA1
/ 0 Β 
/S51/ 0 Β 
/S51/100**/** 0 Β 
/S51/100/BC**/** 0 Β 
/S51/100/BC/T000 0 Β 
/S51/100/BC/T000**/** 0 Β 
/S51/100/CA/ 0 Β 
/S51/100/CA/T000ATP 0 Β 
/S51/100/CA/T000ATP**/** 0 Β 
/S51/100/FI/ 0 Β 
/S51/100/FI/T000C 0 Β 
/S51/100/FI/T000C**/** 0 Β 
/S51/100/FI/T000CLNT 0 Β 
/S51/100/FI/T000CLNT/ 0 Β 
/S51/100/FI/T001 0 Β 
/S51/100/FI/T001/ 0 Β 
/S51/100/FI/T001Z 0 Β 
/S51/100/FI/T001Z/ 0 Β 
/S51/100/LO/ 0 Β 
/S51/100/LO/T001K 0 Β 
/S51/100/LO/T001K/ 0 Β 
/S51/100/LO/T001L 0 Β 
/S51/100/LO/T001L/ 0 Β 
/S51/100/LO/T001W 0 Β 
/S51/100/LO/T001W/ 0 Β 
/S51/100/MM/ 0 Β 
/S51/100/MM/T001Y 0 Β 
/S51/100/MM/T001Y/ 0 Β 
/S51/100/PA/ 0 Β 
/S51/100/PA/T001P 0 Β 
/S51/100/PA/T001P/ 0 Β 
/S51/100/PP/ 0 Β 
/S51/100/PP/T000MD 0 Β 
/S51/100/PP/T000MD/ 0 Β 

I've fixed this with this change :

  • add empty folders
    LOOP AT rt_folders ASSIGNING <ls_folder>.
    SPLIT <ls_folder>-path AT '/' INTO TABLE lt_paths.

    CLEAR lv_path.
    LOOP AT lt_paths INTO lv_split.
      **CONCATENATE lv_path lv_split INTO lv_path.**
      READ TABLE rt_folders WITH KEY path = lv_path TRANSPORTING NO FIELDS.
      IF sy-subrc <> 0.
        APPEND INITIAL LINE TO rt_folders ASSIGNING <ls_new>.
        <ls_new>-path = lv_path.
      ENDIF.
      **CONCATENATE lv_path '/' INTO lv_path.**
    ENDLOOP.
    

    ENDLOOP.

The '/' is added at the end of the loop.

I also suggest to replace :
APPEND INITIAL LINE TO rt_folders ASSIGNING <ls_new>.
With
INSERT INITIAL LINE INTO rt_folders ASSIGNING <ls_new> index 1.
For performance reason as rt_folder is a standard table...
I've got a lot of folder...

Parallel processing as a reason to install the developer version?

install.md states that the developer version is targeted at developers contributing to the codebase. However, isn't it true that the developer version supports parallel processing, while the standalone version does not?

I find the performance gains of the parallel processing to be a good reason to install the developer version even if you don't intend to contribute. I therefore believe this information should be added to install.md. What do you think?

docs: update SAP Note Links to me.sap.com

As the Support Launchpad will be transitioned to SAP for Me should the SAP Note Links in the documentation be updated as well?

For example:

-https://launchpad.support.sap.com/#/notes/1240796
+https://me.sap.com/notes/1240796

(see here)

abapGit vs gCTS

We should add a comparison of abapGit and gCTS to the documentation. As a start a simple table with topics will do. We can add more detailed descriptions later.

Let's use this issue to collect topics (including items that are the same for both)...

Topic abapGit gCTS
Availability for SAP releases 702 and higher 754 and higher (AS ABAP 1909)
Upgrade at will SAP release upgrade
Conceptual focus objects (git content) commits (git history)
Scope of repositories based on SAP packages based on collection of transports
Support for local developments ($ packages) yes no
Support for transportable developments (y/z packages, /namespace/) yes yes
Supported object types some all (SAP Note 2888887)
Support for customizing yes (via Business Configuration Sets) yes (via CDAT, TDAT, VDAT)
Support for table content yes (beta) TABU ?
Support for AFF 4 object types 0
"Single source of truth" in git is it git or SAP ?
Local repository in ABAP memory on ABAP file server
Remote repository many git servers GitHub, Gitlab, other with restrictions
Git folder structure /<package>/<subpackage>/files (per R3TR object) /objects/<object_type>/<object>/files (per LIMU object)
Git file formats (metadata) .xml and some .json (AFF) .json only
Git file formats (ABAP code) .abap .abap
Git file split (ABAP classes) one file per class one file per method
Git end-of-file empty line no empty line (contrary to AFF)
Push (stage/commit) by object by transport
Push (patch/commit) by object no
Pull (latest commit) yes yes
Pull (any commit) yes yes
Pull (from PR) yes ?
Pull (from fork) yes no
Background mode yes no
Switch branches yes
Switch tags yes
Merge conflict resolution in git, doesn't happen in abapGit by design in ABAP or git
Show diffs yes no (only object name)
Jump to object maintenance yes no
Activity log no yes
Define prerequisites yes yes
Define dependencies yes (apack) yes
Usage in open source 220+ 0
Bugs and feature requests/development fully open fully closed (behind login)
Integration with transport tools yes yes
Integration in development tools yes yes
Use for deployment (dev>qa>prod) possible, but not recommended yes
Use for delivery (to customers/other landscapes) yes no

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.