As a Developer, I want to implement the image field type, so that I can upload images.
WEM & DM Requests
Currently, the Web Content and Documents & Media components leverage on the DDM to create Web Content Structures and Documents Types (Metadata fields) and as part of our product strategic planning, we want to migrate those dependencies of the DDM to the Data Engine, but ir oder to do that, we need to prepare the Data Engine to support all requirements that those two products currently has, including missing field types, missing features and an upgrade path to support all structures already created by the customers.
The Image Field Type:
The image field type is one of the fields that DDM has, but is missing in the Data Engine. This field is mostly used by Web Content and Documents & Media, in order to let users choose images for their contents. That being said, we need to create this new field type and make sure that all capabilities that are currently supported by the DDM for this field, will also be covered in the Data Engine. Including:
- Ability to define a Field Label;
- Ability to Hide/Show the Label;
- Ability to set as Required or not;
- Ability to define the Name of the field;
- Ability to set a Predefined Value;
- Ability to define a Tip(Help Text) for the field;
- Ability to set the Localizable and Indexable options;
- Ability to set as "Repeatable";
- Given a developer using the Data Engine to create an application, when the user is defining the Data Definition, then he should be able to include a image field type in the Data Definition;
- Given a developer using the Data Engine to create an application, when the user is defining a image field in the Data Definition, then the Data Engine must give him the option to define all configurations that DDM does;
- Given a Data Definition that has a image Field type, when the user is adding a new record for the Data Definition, then the image Field type should allow to user to upload an image or choose one from Liferay Documents and Media;
- Those options are listed above in the The Image Field Type section.
- Given a Data Definition that has a image Field type, when the user is adding a new record for the Data Definition, then the image Field type should allow to user to include a image description for the uploaded image;
- When an image is required, the image description is mandatory.
- Given that a form of a Data Definition with a image field type is being rendered using the taglib, when the user uploads/chooses a image to the field, then the selected image should be automatically previewed/showed in the form.
- If the user clicks on the image preview, the system should open the image and allow the user to zoom into it.
- Given that a user has uploaded/chose an image for a image field type, when the user clicks on the Clear button, then the system must clear the image (value) of the field.
- Given that a user has uploaded/chose an image for a image field type, when the user clicks on the Select button, then the system must allow the user to select a new image to replace the previous chosen one.
- All Acceptance Criteria were passed;
- Make sure that the expected automated tests were created (unit / integration / functional) and passed successfully;
- Verify if the test labels were added;
- Code with peer review completed;
- Validated by QA, Product Designer and/or PM;
- No critical bug related to Story scope (ex.: similar of FP4, FP5);
- Make sure that all system documentation were updated (if necessary)