Uploaded image for project: 'Qt Installer Framework'
  1. Qt Installer Framework
  2. QTIFW-1572

Separate the repo structure from the repo UI model

    XMLWordPrintable

Details

    • User Story
    • Resolution: Out of scope
    • P2: Important
    • None
    • None
    • General

    Description

      We have to be able to create the installer UI totally independently of the installer repo structure. An architecture similar to Qt model-view framework, where the model works as an adapter to the actual repo data would allow creating an UI with different sorting and filtering criteria. 

       

      1st Proposal:

      • Installer receives component mapping json-document from the installer backend server.
      • Installer displays the UI tree based on the mappings.
      • There is a default UI tree, based on the default component mapping. Then there is just a delta for the changed components. The mapping instructions are needed only for the components in the delta. 
      • As it would not convenient to describe the whole repo structure in the mappings, it needs to be possible in map also blocks of the repo tree.
      • Mapping file could be something like this (very early draft)

       

             [

                { DisplayName: “Preview”,  sortPriority: 1,  Location: “preview”,  Source: “preview”, includeChilds: true , hideIfEmpty: true },

                { DisplayName: “Qt”,  sortPriority: 2, Location: “qt”, Source: “qt”,  includeChilds: true },

                { DisplayName: “Developer Tools”,  sortPriority: 3, Location: “qt.devtools”, Source: “qt.tools” },

                { DisplayName: “Designer Tools”,  sortPriority: 4, Location: “qt.design”, Source: “” },

                     { DisplayName: “Designer Tools”,  sortPriority: 1, Location: “qt.design.qtdesignstudio”, Source: “qt.tools.qtdesignstudio” },

               …

             ]

      • The mappings should support

       

        •  DisplayName & Description overwrite
        • sorting priority to define in which order items are displayed
        • hiding the node if empty
        • include Childs nodes to support “block” mapping
        • creating new items not existing in the repo structure
        • more to be defined
      • On installer back server side RESP API is needed to upload/update the mapping json.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            installerteam Installer Team
            tpyssysa Tino Pyssysalo
            Tino Pyssysalo Tino Pyssysalo
            Jukka Jokiniva Jukka Jokiniva
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes