Difference between revisions of "Bower"
From OpenEMR Project Wiki
Bradymiller (talk | contribs) |
Bradymiller (talk | contribs) |
||
Line 1: | Line 1: | ||
=Overview= | =Overview= | ||
: | :The end goals of this project are: | ||
:#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. | |||
:#Migrate all the front-end assets(of which there are multiple versions of many of the front-end assets) to most current version. | |||
<br> | |||
: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. | :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): | ::*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): |
Revision as of 05:25, 11 July 2016
Overview
- The end goals of this project are:
- 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.
- Migrate all the front-end assets(of which there are multiple versions of many of the front-end assets) to most current version.
- Centralize and organize all front-end assets in one flexible path (ie. can move entire path to the assets without breaking scripts).
- 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.
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).
- datatables
- jquery
- imagesloaded
- react
Add New Asset
Bower Method (preferred)
- Add entry to the bower.json file.
- 'bower install' command
- Remove .gitignore and .gitattributes files(if they are present) from the installed package.
- Remove any scripts that may cause vulnerability (such as example scripts that allow file uploading); note this is very unlikely to be the case, but good to check.
- Add to below list of assets (and document there if removed any files).
Manual Method (only if bower method is not supported by package)
- If there is no bower support and package is not a supported git repo, then will need to bring in manually. See below shortcut.js-2-01-B asset for example.
- Remove .gitignore and .gitattributes files(if they are present) from the installed package.
- Remove any scripts that may cause vulnerability (such as example scripts that allow file uploading); note this is very unlikely to be the case, but good to check.
- Add to below list of assets (and document there if removed any files).
Current Assets
AnythingSlider-1-9-4 (pending Ray's optho form)
- Removed .gitignore and .gitattributes files.
bootstrap-3-3-4 (pending Ray's optho form)
Chart.js-2-1-3 (pending Ray's optho form)
- Removed .gitignore file.
datatables-1-10-11 (pending Kevin's EDI project)
datatables-fixedcolumns-3-2-1 (pending Kevin's EDI project)
- This is an extension for datatables-1-10-11.
datatables-fixedheader-3-1-1 (pending Kevin's EDI project)
- This is an extension for datatables-1-10-11.
datatables-scroller-1-4-1 (pending Kevin's EDI project)
- This is an extension for datatables-1-10-11.
font-awesome-4-6-3
- Removed .gitignore file.
jquery-panelslider-0-1-1 (pending Ray's optho form)
jquery-ui-1-10-4 (pending Kevin's EDI project)
jquery-ui-1-11-4 (pending Ray's optho form)
- Removed .gitignore file.
literallycanvas-0-4-13
moment-2-13-0 (pending Ray's optho form)
pure-0-5-0 (pending Ray's optho form)
qtip2-2-2-1 (pending Ray's optho form)
react-15-1-0
shortcut.js-2-01-B (pending Ray's optho form)
- Not supported by bower, so brought in manually to the manual-added-packages sub-directory.
undone.js-0-0-1 (pending Ray's optho form)
- Removed .gitignore and .gitattributes files.
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?