Difference between revisions of "Bower"

From OpenEMR Project Wiki
Line 2: Line 2:
:Added this to attempt to standardize the assets that are used by openemr.
:Added this to attempt to standardize the assets that are used by openemr.
=Plan=
=Plan=
Assets that are collected via bower are stored at interface/static; note this location is flexible since we are not sure where we will be storing these in the future as migrate to MVC architecture.
Assets that are collected via bower are stored at '''interface/static'''; note this location is flexible since we are not sure where we will be storing these in the future as migrate to MVC architecture.
:*The path is set to a global ($GLOBALS['assets_static_relative']) here in the codebase(so the path will be easy to change in the future) and also would need to be changed in the .bowerrc file):
:*The path is set to a global ($GLOBALS['assets_static_relative']) here in the codebase(so the path will be easy to change in the future) and also would need to be changed in the .bowerrc file):
::*https://github.com/openemr/openemr/commit/b63b0da6a5eae6f8051234bff104a06cb37db167
::*https://github.com/openemr/openemr/commit/b63b0da6a5eae6f8051234bff104a06cb37db167
::*(also see above commit for a example on using the global/path)
::*(also see above commit for a example on using the global/path)
:*Incorporating the versions in the paths of the libraries. Using "ignoredDependencies" in .bowerrc file to ignore sub-dependencies which makes things messy(would bring in paths without versions of which would be a redundant library).
:*Incorporating the versions in the paths of the libraries. Using "ignoredDependencies" in .bowerrc file to ignore sub-dependencies which makes things messy(would bring in paths without versions of which would be a redundant library).
=Implementation=
=Implementation=
:Current assets are:
:Current assets are:

Revision as of 05:56, 7 July 2016

Overview

Added this to attempt to standardize the assets that are used by openemr.

Plan

Assets that are collected via bower are stored at interface/static; note this location is flexible since we are not sure where we will be storing these in the future as migrate to MVC architecture.

  • The path is set to a global ($GLOBALS['assets_static_relative']) here in the codebase(so the path will be easy to change in the future) and also would need to be changed in the .bowerrc file):
  • Incorporating the versions in the paths of the libraries. Using "ignoredDependencies" in .bowerrc file to ignore sub-dependencies which makes things messy(would bring in paths without versions of which would be a redundant library).

Implementation

Current assets are:
  • font-awesome-4-6-3
  • literallycanvas-0-4-13
  • Placed "react" as "ignoredDependencies" in .bowerrc file.
  • react-15-1-0

Questions

Development is ongoing for this project:
  • Ideal directory for this stuff (this is why we have made it flexible so can easily change this in the future)
  • Ideal syntax of the bower openemr package
  • Use this only for front-end libraries (css/js)?
  • Use composer for back-end libraries? If so, use separate directory?
  • Should we be using bower for this or is it better to manually bring in packages in a standard fashion? And for packages that are not offered via bower, should we add a manually-added directory for these?

Forum