https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=38201

Matt Blenkinsop <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|release-notes-needed        |
  Text to go in the|                            |The idea behind this bug
      release notes|                            |was to introduce a
                   |                            |framework for building Vue
                   |                            |applications and components
                   |                            |that would allow a
                   |                            |developer to make use of
                   |                            |pre-existing components and
                   |                            |logic, rather than having
                   |                            |to write everything from
                   |                            |scratch. Currently in Koha,
                   |                            |we have a lot of bespoke
                   |                            |logic for each different
                   |                            |form/display page as well
                   |                            |as a lot of repeated code.
                   |                            |This can make regressions
                   |                            |more likely and reduce code
                   |                            |consistency. To address
                   |                            |this, we have introduced
                   |                            |standardised components for
                   |                            |rendering form elements
                   |                            |(e.g. inputs, selects) and
                   |                            |displaying data, as well as
                   |                            |a standardised ‘list’
                   |                            |component. This means that
                   |                            |each new Vue module can be
                   |                            |built very quickly without
                   |                            |the need to write out all
                   |                            |the HTML structure and
                   |                            |logic for creating a
                   |                            |form/display page - the
                   |                            |developer can simply access
                   |                            |the pre-written logic in
                   |                            |the framework to do the
                   |                            |heavy lifting for them.
                   |                            |
                   |                            |The FormElement and
                   |                            |ShowElement components are
                   |                            |at the core of this work,
                   |                            |as they render the
                   |                            |different input and display
                   |                            |options in a standardised
                   |                            |manner. These are made use
                   |                            |of by ResourceFormSave,
                   |                            |ResourceShow and
                   |                            |ResourceList which act as
                   |                            |generic components that can
                   |                            |be used by the developer to
                   |                            |handle any Koha data type.
                   |                            |To prove this, all the
                   |                            |existing Vue modules (ERM,
                   |                            |Preservation, Record
                   |                            |Resources and Vendors) have
                   |                            |been migrated to use it. A
                   |                            |new suite of cypress tests
                   |                            |has been written to verify
                   |                            |the functionality as well
                   |                            |as catch regressions and
                   |                            |part of this is introducing
                   |                            |component testing into Koha
                   |                            |for any future Vue work
                   |                            |that may need it.
                   |                            |
                   |                            |Moving forwards, the aim
                   |                            |would be that new modules
                   |                            |are built using this
                   |                            |framework. It is important
                   |                            |to note that the framework
                   |                            |is not restrictive - it is
                   |                            |possible to inject bespoke
                   |                            |components directly into
                   |                            |FormElement and ShowElement
                   |                            |where there are
                   |                            |particularly niche
                   |                            |requirements. However, the
                   |                            |goal is that if the
                   |                            |developer feels that there
                   |                            |could be a need for that
                   |                            |requirement in future for
                   |                            |someone else, then the goal
                   |                            |should be to expand the
                   |                            |framework to support it so
                   |                            |that all can benefit. We
                   |                            |have documented this
                   |                            |through the use of JSDoc in
                   |                            |base-resource.js, as well
                   |                            |as with an example
                   |                            |SkeletonResource.vue to
                   |                            |show how it should be used.
                   |                            |There are also the live
                   |                            |examples in the modules
                   |                            |mentioned above.

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list
[email protected]
https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to