Currently Supported

In Process and Undocumented


Depth of Extendability


Questions

IssueDiscussionDecisionTicket(s)

Extendable UI-Views

Need: Ability to add or modify the components within a page's layout

Solution (A): Extension Directive

Create an angular directive that allows implementers to register a state to a uniquely named extension directive. This would allow a HTML layout template to display a set of components in the order they were registered. This extension directive could be inserted into administration forms to allow for single checkboxes form configuration items to be added to a page. The feature set for this extension would include:

  • Component registration with a unique id
  • Component order enforced by priority
  • Resolved values injected into controller (not passed by scope)

Solution (B): Template overload

In the build process, we are planning to combine UI-repositories/docker-volumes by merging file structures based on file paths. This allows an implementer to replace the HTML markup for a page's layout and add the components that they need.




(A)(B)
Pro
  • Possible to unit test extension directive
  • Component registration files would have obvious
  • No additional work needed
  • Most layout files have simple code, that shouldn't change much
Con
  • Implementation could be difficult
  • Effectively forks the template files that are being overloaded
  • Impossible to unit test
  • Relies on components being modular (not including variables from $scope)






Documentation

What is the best way to document extension points?

  • JS Documentation
  • Markdown documentation guide
  • Sample extension git repository
    • What would make a good example to illustrate/test all features?