Adobe-Consulting-Services / acs-aem-commons

http://adobe-consulting-services.github.io/acs-aem-commons/
Apache License 2.0
453 stars 599 forks source link

ACS Commons should have an Oakpal Check that validates structure of coral UI element nodes #1960

Closed adamcin closed 5 years ago

adamcin commented 5 years ago

Required Information

Expected Behavior

When a project enables a coral-ui-aem64 or coral-ui-aem65 checklist, and whose package involves nodes under /apps/ with coral ui sling:resourceType or sling:resourceSuperType values, including granite and cq foundation form fields, the oakpal:scan goal should identify the following as violations:

  1. Missing required properties
  2. Incorrect type for known properties, optional or required.
  3. Container/Collection elements missing an items node or a datasource node
  4. (Bonus) configurable requirements for i18n / accessibility details, like enforcing that all fieldLabels and fieldDescriptions are populated, and whatever else we can come up with.
  5. (Bonus Bonus) Configure your own validators for custom dialog fields and coral UI elements using gnd.
  6. (Bonus Bonus Bonus) Scrape the granite-ui api site source for .. gnd:servercomponent and .. gnd:gnd sections to generate the element validator classes. See the Show Source link on each page to get the underlying sphinx text: https://helpx.adobe.com/experience-manager/6-5/sites/developing/using/reference-materials/granite-ui/api/_sources/jcr_root/libs/granite/ui/components/coral/foundation/form/multifield/index.rst.txt

Actual Behavior

It's practically the wild west right now with all these component generators and dialog resource providers and things and who even knows what a valid coral UI structure is supposed to look like at the end of the day, amirite?

Links

Read this site for the overview of coral UI: 6.5: https://helpx.adobe.com/experience-manager/6-5/sites/developing/using/reference-materials/granite-ui/api/jcr_root/libs/granite/ui/index.html 6.4: https://helpx.adobe.com/experience-manager/6-4/sites/developing/using/reference-materials/granite-ui/api/jcr_root/libs/granite/ui/index.html

futurekarol commented 5 years ago

Thanks @adamcin, I'll tackle this issue.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.