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 desired metadata for the content. All valid metadata for the content will be allowed, included the generic information (title, description, tags, ...) as well as the document type and any metadata specific to that document type. The actual file will be attached by making the request a multi-part request which allows attaching the file. Only one document can be imported per request.