The goal of this requirement is to provide out of the box integration with an ETL (Extract-Transform-Load) tool to simplify the process of bulk uploading to Liferay. An ETL tool allows extracting data from a source, transforming it as needed and load it into a target system.
Some example Open Source ETL tools are:
In order to remain tool agnostic, Liferay will be modified to allow an standard way to input bulk data. In particular Liferay will provide a web service URL for each of the items that are allowed to be bulk uploaded. The ETL tool will just have to make a POST HTTP Request to that URL with an specifically formatted body with the data to be imported. It is common for ETL tools to support this type of operation out of the box, so no specific extensions for Liferay will be necessary.
Liferay will provide a URL to which the ETL tool will be able to send a body with JSON format to specify all the fields for the web content. All valid metadata for the content will be allowed, included the generic information (title, description, tags, ...) as well as the web content structure and any fields specific to that structure. If the Web Content structure has image fields, the actual image files will be attached by making the request a multi-part request which allows attaching the files. Only one web content can be imported per request.