Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-106212

As a page administrator I can export one content page template as a well defined open format

Details

    Description

      The goal of this story is to allow page administrators to export an existing fragments-based page into an Open Format. In particular, as a first step this Story will focus on exporting one page template from the Page Templates Administration. The idea is that the exported page definition can be imported later as it is or with modifications. Since a page template may contain a number of variations of content and configuration, to keep the scope of this story limited, only the following data will be exported:

      • Fragments added to the page
      • The layouts of columns added to the page and the fragments inside its columns
      • Inline content introduced within fragment editable elements
      • The configuration of all the fragments of the page
      • The look & feel configuration of the page

      The format of the page template should be standardized and a schema should be provided (i.e. in OpenAPI or JSON Schema) so that any modifications can be validated by the user. 

      Since the ultimate goal is to export a fragments-based page definition, any information that is specific for the page template should be kept separate (potentially in a different file) from the page definition itself (which is common for other page template types or even content pages).

      Known limitations

      The following information will not be exported for now (support will be added in subsequent stories):

      • Widget Configuration (Portlet Preferences)
      • Widget Permissions
      • Mappings of editables to existing content
      • Fragment HTML, CSS, JavaScript & Resources: Only a reference to the name of the fragment will be exported. 

      Technical notes

      • The export should be done into a JSON file, or a ZIP which contains a main JSON file together with secondary files.

      Test Scenarios

      Test Scenarios Test Strategy Kind of test Is it covered by FrontEnd ? (JS-Unit) Is it covered by BackEnd ? (unit or integration)
      Cannot export a content page template when it doesn't have published version Smoke Manual No ExportLayoutPageTemplateEntriesMVCResourceCommandTest.testGetFileSingleLayoutPageTemplateDraft
      Can export a content page template in approved status Smoke Manual No ExportLayoutPageTemplateEntriesMVCResourceCommandTest.testGetFile
      Can export a content page template in draft status when it has published version and only the published version is exported Sanity Manual No TBD
      Can export multiple selected content page templates in approved status Smoke Manual No ExportLayoutPageTemplateEntriesMVCResourceCommandTest.testGetFileMultipleLayoutPageTemplatesSingleCollection
      Can not export multiple selected content page templates when one of them doesn't have published version Sanity Manual No No
      Can not export multiple selected page templates if one of them is widget page template Sanity Manual No No
      When export a content page template, the reference of widgets should also be exported. Smoke Manual No TBD
      When export a content page template, the reference of theme should also be exported. Smoke Manual No Yes, testToPageDefinitionRoot
      When export a content page template, the layout elements and nested elements should also be exported. Sanity Manual No Yes, testToPageDefinitionRoot, testToPageDefinitionRow, testToPageDefinitionSection
      When export a content page template, the changes for inline content of fragments should also be exported. Sanity Manual No Yes, testToPageDefinitionFragmentFieldBackgroundImage, testToPageDefinitionFragmentFieldBackgroundImageTitle, testToPageDefinitionFragmentFieldHTML, testToPageDefinitionFragmentFieldImage, testToPageDefinitionFragmentFieldImageTitle, testToPageDefinitionFragmentFieldLink, testToPageDefinitionFragmentFieldText
      When export a content page template, the changes for configuration settings of fragments should also be exported. Sanity Manual No Yes, testToPageDefinitionFragmentConfig
      When export a content page template, the changes for Theme of it should also be exported Sanity Manual TBD TBD
      When export a content page template based on custom master, the reference of custom master should also be exported. Sanity Manual No No
      When export a content page template, the changes for Look and Feel Settings of it should also be exported Sanity Manual No No

      Attachments

        Issue Links

          1.
          Define JSON schema for PageDefinition LPS-106492 Technical Task Closed Jürgen Kappler  
          2.
          Allow exporting ZIP file from UI with a JSON file for just one layout page template entry with only page template name LPS-106635 Technical Task Closed Ruben Pulido  
          3.
          Support exporting layouts of columns added to the page and the fragments inside its columns LPS-107685 Technical Task Closed Pavel Savinov (Inactive)  
          4.
          Support exporting the configuration of all the fragments of the page LPS-107687 Technical Task Closed Pavel Savinov (Inactive)  
          5.
          Support exporting inline content introduced within fragment editable elements LPS-107688 Technical Task Closed Brian Chan  
          6.
          Support exporting the look & feel configuration of the page LPS-107690 Technical Task Closed Jürgen Kappler  
          7.
          Page Definition in Open API supporting look & feel, layouts of columns, fragments with configuration and inline content LPS-107703 Technical Task Closed Javier Gamarra (Inactive)  
          8.
          Integration tests for export LPS-107723 Technical Task Closed Brian Chan  
          9.
          Revisit PageDefinition format LPS-108454 Technical Task Closed Brian Chan  
          10.
          Extract JSON Schema validation to shared module LPS-108724 Technical Task Closed Jürgen Kappler  
          11.
          Define JSON schema for PageTemplate LPS-108871 Technical Task Closed Ruben Pulido  
          12.
          Define JSON schema for PageTemplateCollection LPS-108873 Technical Task Closed Ruben Pulido  
          13.
          Don't allow exporting a page template if there is no published version of it LPS-109078 Technical Task Closed Brian Chan  
          14.
          Add Parent and Top as supported target values for links LPS-109079 Technical Task Closed Brian Chan  
          15.
          Tests for PageDefinition ConverterUtil LPS-109082 Technical Task Closed Brian Chan  
          16.
          Unit tests for validation LPS-109141 Technical Task Closed Brian Chan  
          17.
          Remove MappedValue and FragmentFieldCustom from OPEN API LPS-109424 Technical Task Closed Brian Chan  
          18.
          Remove MappedValue and FragmentFieldCustom from JSON schema LPS-109425 Technical Task Closed Brian Chan  
          19.
          Don't export image title when image references an external URL LPS-109426 Technical Task Closed Brian Chan  
          20.
          Product QA | Test Scenarios/Cases Creation LPS-109557 Technical Testing Closed David Gutiérrez Mesa  
          21.
          Image title should not be saved if image has been selected from external URL LPS-109642 Technical Task Closed Ruben Pulido  
          22.
          Insert color into Freemarker Context in addition to cssClass and rgbValue LPS-109706 Technical Task Closed Brian Chan  
          23.
          Export color instead of rgbValue and cssClass for fields of type colorPalette LPS-109709 Technical Task Closed Brian Chan  
          24.
          Rename backgroundColorCssClass in section definition to backgroundColor to be consistent with configuration fields of type color palette LPS-109776 Technical Task Closed Brian Chan  
          25.
          [BUG] The elements inherited for custom master should also be exported with content page template LPS-110141 Technical Task Closed Ruben Pulido  
          26.
          [BUG] The data of Master section should be exported with content page template LPS-110142 Technical Task Closed Ruben Pulido  
          27.
          [BUG] The edited inline content of fragments should be exported with content page template LPS-110143 Technical Task Closed Yang Cao  
          28.
          Product QA | Test Validation - Round 1 LPS-110160 Technical Testing Closed David Gutiérrez Mesa  
          29.
          Product QA | Test Validation - Round 2 LPS-110193 Technical Testing Closed David Gutiérrez Mesa  
          30.
          Test Scenarios Coverage | Frontend LPS-110471 Technical Testing Closed Ruben Pulido  
          31.
          Test Scenarios Coverage | Backend LPS-110472 Technical Testing Closed Brian Chan  

          Activity

            People

              david.gutierrez David Gutiérrez Mesa
              jorge.ferrer Jorge Ferrer (Inactive)
              Pavel Savinov Pavel Savinov (Inactive)
              Kiyoshi Lee Kiyoshi Lee
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Packages

                  Version Package
                  Master