Difference between revisions of "Bower"

From OpenEMR Project Wiki
Line 47: Line 47:


=Current Assets=
=Current Assets=
===AnythingSlider-1-9-4 (pending Ray's optho form)===
===AnythingSlider-1-9-4===
===bootstrap-3-3-4 (pending Ray's optho form)===
===bootstrap-3-3-4===
===bootstrap-rtl-3-3-4===
===bootstrap-rtl-3-3-4===
===Chart.js-2-1-3 (pending Ray's optho form)===
===Chart.js-2-1-3===
===datatables.net-1-10-11===
===datatables.net-1-10-11===
===datatables.net-jqui-1-10-11===
===datatables.net-jqui-1-10-11===
Line 63: Line 63:
:*Contain the jquery library files. This is brought in via bower by direct html download since the old versions are not available in repo (need to be built) and only 1 file is needed for these numerous different versions of jquery.
:*Contain the jquery library files. This is brought in via bower by direct html download since the old versions are not available in repo (need to be built) and only 1 file is needed for these numerous different versions of jquery.
:*jquery-min-1-10-2 is used by datatables.net-1-10-11
:*jquery-min-1-10-2 is used by datatables.net-1-10-11
:*jquery-min-1-11-1 will be used by Ray's eye form
===jquery-modern-blink-0-1-3===
===jquery-modern-blink-0-1-3===
===jquery-panelslider-0-1-1 (pending Ray's optho form)===
===jquery-panelslider-0-1-1===
===jquery-ui-1-10-4===
===jquery-ui-1-10-4===
===jquery-ui-1-11-4 (pending Ray's optho form)===
===jquery-ui-1-11-4===
===jscolor-1-4-5===
===jscolor-1-4-5===
===knockout-3-4-0===
===knockout-3-4-0===
Line 73: Line 72:
===moment-2-13-0===
===moment-2-13-0===
===numeral-1-5-3 (requested by Matrix, but not used yet)===
===numeral-1-5-3 (requested by Matrix, but not used yet)===
===pure-0-5-0 (pending Ray's optho form)===
===pure-0-5-0===
===qtip2-2-2-1 (pending Ray's optho form)===
===qtip2-2-2-1===
===react-15-1-0===
===react-15-1-0===
===shortcut.js-2-01-B (pending Ray's optho form)===
===shortcut.js-2-01-B===
:*Not supported by bower, so brought in manually to the ''manual-added-packages'' sub-directory.
:*Not supported by bower, so brought in manually to the ''manual-added-packages'' sub-directory.
:*In future, can likely bring this in via bower via http method.
:*In future, can likely bring this in via bower via http method.
===undone.js-0-0-1 (pending Ray's optho form)===
===undone.js-0-0-1===
===validate.js-0-10-0 (requested by Matrix, but not used yet)===
===validate.js-0-10-0 (requested by Matrix, but not used yet)===



Revision as of 07:18, 20 September 2016

Overview

End Goals

  1. Centralize and organize all front-end assets in one flexible path (ie. can move entire path to the assets without breaking scripts).
    • Use bower to collect and organize the front-end assets.
  2. Migrate all the front-end assets(of which there are multiple versions of many of the front-end assets) to most current version.
  3. Ability to install all front assets via bower (if ever decide to not include them in the codebase).

More Details

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.

ignoredDependencies setting in .bowerrc file.

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).
  • bootstrap
  • datatables
  • datatables.net-jqui
  • datatables.net-scroller
  • datatables.net
  • jquery
  • imagesloaded
  • react

scripts that required hard-coded path to the assets

These are scripts where was unable to use the globals path for the assets directory(thus if move the assets directory, then would need to adjust these scripts).
  • acknowledge_license_cert.html
  • setup.php

Add New Asset

Bower Method (preferred)

  1. Add entry to the bower.json file.
  2. 'bower install' command
  3. Remove .gitignore and .gitattributes files(if they are present) from the installed package.
  4. Remove test scripts or anything that may cause a vulnerability (such as example scripts that allow file uploading; note this is very unlikely to be the case, but good to check).
  5. Add to below list of assets (and document there if removed any files).

Manual Method (only if bower method is not supported by package)

  1. If there is no bower support and package is not a supported git repo, then will need to bring in manually into the manual-added-packages sub-directory. See below shortcut.js-2-01-B asset for example.
  2. Remove .gitignore and .gitattributes files(if they are present) from the installed package.
  3. Remove test scripts or anything that may cause a vulnerability (such as example scripts that allow file uploading; note this is very unlikely to be the case, but good to check).
  4. Add to below list of assets (and document there if removed any files).

Current Assets

AnythingSlider-1-9-4

bootstrap-3-3-4

bootstrap-rtl-3-3-4

Chart.js-2-1-3

datatables.net-1-10-11

datatables.net-jqui-1-10-11

  • This is the jquery-ui styling for datatables-1-10-11.

datatables.net-scroller-1-4-1

  • This is an extension for datatables-1-10-11.

datatables.net-scroller-jqui-1-4-1

  • This is the jquery-ui styling for datatables.net-scroller-1-4-1.

font-awesome-4-6-3

jquery.gritter-1-7-4

jquery-min-*

  • Contain the jquery library files. This is brought in via bower by direct html download since the old versions are not available in repo (need to be built) and only 1 file is needed for these numerous different versions of jquery.
  • jquery-min-1-10-2 is used by datatables.net-1-10-11

jquery-modern-blink-0-1-3

jquery-panelslider-0-1-1

jquery-ui-1-10-4

jquery-ui-1-11-4

jscolor-1-4-5

knockout-3-4-0

literallycanvas-0-4-13

moment-2-13-0

numeral-1-5-3 (requested by Matrix, but not used yet)

pure-0-5-0

qtip2-2-2-1

react-15-1-0

shortcut.js-2-01-B

  • Not supported by bower, so brought in manually to the manual-added-packages sub-directory.
  • In future, can likely bring this in via bower via http method.

undone.js-0-0-1

validate.js-0-10-0 (requested by Matrix, but not used yet)

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

Forum