Difference between revisions of "Bower"

From OpenEMR Project Wiki
Line 1: Line 1:
=Overview=
=Overview=
: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=
Assets that are collected via bower are stored at '''public/assets'''; 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):
::*https://github.com/openemr/openemr/commit/b63b0da6a5eae6f8051234bff104a06cb37db167
::*(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).


=Implementation=
:Assets that are collected via bower are stored at '''public/assets'''; note this location is flexible since we are not sure where we will be storing these in the future as migrate to MVC architecture.
:Current assets are:
::*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
:::*(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).
 
=Add New Asset=
:#Add entry to the bower.json file.
:#'bower install'
:#Remove .gitignore and .gitattributes files(if they are present) from the installed package.
 
=Current Assets=
:*AnythingSlider-1-9-4 (pending Ray's optho form)
:*AnythingSlider-1-9-4 (pending Ray's optho form)
:*bootstrap-3-3-4 (pending Ray's optho form)
:*bootstrap-3-3-4 (pending Ray's optho form)

Revision as of 01:35, 9 July 2016

Overview

Added this to attempt to standardize the assets that are used by openemr.
Assets that are collected via bower are stored at public/assets; 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).

Add New Asset

  1. Add entry to the bower.json file.
  2. 'bower install'
  3. Remove .gitignore and .gitattributes files(if they are present) from the installed package.

Current Assets

  • AnythingSlider-1-9-4 (pending Ray's optho form)
  • bootstrap-3-3-4 (pending Ray's optho form)
  • Placed "jquery" as "ignoredDependencies" in .bowerrc file.
  • Chart.js-2-1-3 (pending Ray's optho form)
  • font-awesome-4-6-3
  • jquery-panelslider-0-1-1 (pending Ray's optho form)
  • Placed "jquery" as "ignoredDependencies" in .bowerrc file.
  • jquery-ui-1-11-4 (pending Ray's optho form)
  • Placed "jquery" as "ignoredDependencies" in .bowerrc file.
  • literallycanvas-0-4-13
  • Placed "react" as "ignoredDependencies" in .bowerrc file.
  • react-15-1-0
  • undone.js-0-0-1 (pending Ray's optho form)

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