anchor.diff:      lo_repo->status( ). " check for errors
       lo_repo->deserialize( ).
   
  +    COMMIT WORK.
  +
       lcl_gui=>render( ).
   
     ENDMETHOD.                    "install
  
positive.code: 
    METHOD delete.
  
      DATA: lo_persistence TYPE REF TO lcl_persistence.
  
  
      CREATE OBJECT lo_persistence.
  
      lo_persistence->delete(
        iv_url         = ms_data-url
        iv_branch_name = ms_data-branch_name ).
  
    ENDMETHOD.                    "delete
  
  
negative.code: 
  ENDCLASS.
  
  CLASS lcl_persistence_user DEFINITION FINAL.
  * todo, refactor this class later? add constructor with
  * iv_user as importing optional parameter
  
    PUBLIC SECTION.
      CLASS-METHODS set_username
        IMPORTING iv_user     TYPE xubname DEFAULT sy-uname
                  iv_username TYPE string
        RAISING   lcx_exception.
  
      CLASS-METHODS get_username
        IMPORTING iv_user            TYPE xubname DEFAULT sy-uname
        RETURNING VALUE(rv_username) TYPE string
        RAISING   lcx_exception.
  
      CLASS-METHODS set_email
        IMPORTING iv_user  TYPE xubname DEFAULT sy-uname
                  iv_email TYPE string
        RAISING   lcx_exception.
  
      CLASS-METHODS get_email
        IMPORTING iv_user         TYPE xubname DEFAULT sy-uname
        RETURNING VALUE(rv_email) TYPE string
        RAISING   lcx_exception.
  
    PRIVATE SECTION.
      CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
  
      TYPES: BEGIN OF ty_user,
               username TYPE string,
               email    TYPE string,
             END OF ty_user.
  
      CLASS-METHODS from_xml
        IMPORTING iv_xml         TYPE string
        RETURNING VALUE(rs_user) TYPE ty_user
        RAISING   lcx_exception.
  
      CLASS-METHODS to_xml
        IMPORTING is_user       TYPE ty_user
        RETURNING VALUE(rv_xml) TYPE string.
  
      CLASS-METHODS read
        IMPORTING iv_user        TYPE xubname
        RETURNING VALUE(rs_user) TYPE ty_user
        RAISING   lcx_exception.
  
      CLASS-METHODS update
        IMPORTING iv_user TYPE xubname
                  is_user TYPE ty_user
        RAISING   lcx_exception.
  
  ENDCLASS.
  
  CLASS lcl_gui_page_db DEFINITION.
  
    PUBLIC SECTION.
      INTERFACES lif_gui_page.
  
    PRIVATE SECTION.
      METHODS:
        delete
          IMPORTING is_key TYPE lcl_persistence_db=>ty_content
          RAISING   lcx_exception,
        delete_popup
          RETURNING VALUE(rv_continue) TYPE abap_bool
          RAISING   lcx_exception,
        key_encode
          IMPORTING is_key           TYPE lcl_persistence_db=>ty_content
          RETURNING VALUE(rv_string) TYPE string,
        key_decode
          IMPORTING iv_string     TYPE clike
          RETURNING VALUE(rs_key) TYPE lcl_persistence_db=>ty_content.
  
  ENDCLASS.
  
  CLASS lcl_gui_page_main IMPLEMENTATION.
  
    METHOD zipexport.
  