Uploaded image for project: 'PUBLIC - Liferay Commerce'
  1. PUBLIC - Liferay Commerce
  2. COMMERCE-6491

Implement MVP Import/Export OSGi module

    Details

      Description

      Technical name: batch-planner

      Marketing name: Control Panel section title: Import/Export Center, Product name: Import/Export

      Definition of done:

      • user can point any headless OpenAPI spec URL
      • import/export engine should ask user to pick Schema it is important that BATCH is available for schema
      • user will upload CSV file/describe headers - either header INDEX or header name (if first row is header) - workout this in separate ticket
      • (REQ - UI ticket + BACKEND COMMERCE-6497) UI will show header structure and OpenAPI structure
      • (REQ - UI ticket) User should define mappings (ONLY MAPPINGS)
      • (REQ - COMMERCE-6496) Mapping record will be saved to entity
      • UI has section that lists all defined mappings (destination DTO [OpenAPI headless location and name], specific mapping instructions [if CSV than is first row header, or it is index based column detection - advantage/disadvantage - header name based columns may be shuffled, fixed index it may always keep same structure, if EXCELL than again header/index based structure and maybe version, XML - maybe root node where data start, is it in attributes or node values])
      • User clicks on definition IMPORT, there is form that asks for FILE to upload (if user wants IMPORT or EXPORT based on definition we could provide it with action menu)
      • Submitted file is validated (is header/index based and if has data) - if not valid show error in UI, otherwise start process
      • Process: create new jsonl file according to OpenAPI of target headless DTO Schema, fill with data, send To batch
      • Show there is import in progress (we need TaskLog - similar like dispatch module)
      • If EXPORT is desired from UI - headless BATCH GET is required - given JSONL file from batch transfers to CSV/XML/XLSX and there is download button
      • GOOD TO HAVE: Would link to UI where batch can be supervised be OK (we have in plan provide UI for the batch engine)
      • GOOD TO HAVE: number of records transferred to JSONL, number of records processed by BATCH, time of each process

      Names for entities:

      DataFlow(name), DataFlowDefinition(type, settings characteristic for the type), DataFlowMapping(source, source type,target, target type)

        Attachments

          Issue Links

          1.
          Create service builder infrastructure for Import/Export MVP COMMERCE-6494 Sub-Task Closed Igor Beslic  
          2.
          Create CSV BatchEngineBroker implementation COMMERCE-6495 Sub-Task Closed Igor Beslic  
          3.
          Create headless-admin-batch-planner OSGi module with RESTBuilder COMMERCE-6496 Sub-Task Closed Matija Petanjek  
          4.
          Provide UI with list of all filtered headless batch endpoints COMMERCE-6497 Sub-Task Closed Igor Beslic  
          5.
          FIGMA - UI to define mapping in the grid COMMERCE-6506 Sub-Task Open Igor Beslic  
          6.
          Provide UI with list of batch planner plan entries COMMERCE-7080 Sub-Task Closed Matija Petanjek 20/Aug/21
          7.
          Provide UI for Export file configuration COMMERCE-7081 Sub-Task Resolved Igor Beslic 20/Aug/21
          8.
          UI must offer Liferay entity for which valid batch endpoint exists COMMERCE-7082 Sub-Task Open Igor Beslic  
          9.
          Batch Planner Plan can be reusable as a template COMMERCE-7115 Sub-Task Resolved Igor Beslic  
          10.
          Consolidate Batch Application Category Names COMMERCE-7116 Sub-Task Resolved Matija Petanjek  
          11.
          User Interface for Export process configuration needs separated Entity Attributes Section COMMERCE-7142 Sub-Task Resolved Igor Beslic  
          12.
          User Interface for Export process needs download progress dialog COMMERCE-7143 Sub-Task Resolved Brian Chan  
          13.
          Batch Configuration, policies and mappings should be eclosed with transaction COMMERCE-7148 Sub-Task Resolved Brian Chan  
          14.
          Define permissions for BatchPlannerLog entity COMMERCE-7282 Sub-Task Resolved Matija Petanjek  
          15.
          Create a finder method to be able to fetch only export/import logs COMMERCE-7283 Sub-Task Resolved Brian Chan  
          16.
          Implement basic import flow COMMERCE-7361 Sub-Task Resolved Brian Chan  

            Activity

              People

              Assignee:
              igor.beslic Igor Beslic
              Reporter:
              igor.beslic Igor Beslic
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:

                  Packages

                  Version Package
                  Master