Difference between revisions of "Bower"

From OpenEMR Project Wiki
(Redirected page to Composer and NPM)
 
(76 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Overview=
#REDIRECT [[Composer and NPM]]
==End Goals==
:#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.
:#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):
:::*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
::*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
 
=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 into the ''manual-added-packages'' sub-directory. 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.net-1-10-11 (pending Kevin's EDI project)===
===datatables.net-jqui-1-10-11 (pending Kevin's EDI project)===
:*This is the jquery-ui styling for datatables-1-10-11.
 
===datatables.net-scroller-1-4-1 (pending Kevin's EDI project)===
:*This is an extension for datatables-1-10-11.
===datatables.net-scroller-jqui-1-4-1 (pending Kevin's EDI project)===
:*This is the jquery-ui styling for datatables.net-scroller-1-4-1.
===font-awesome-4-6-3===
:*Removed .gitignore file.
===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-panelslider-0-1-1 (pending Ray's optho form)===
 
===jquery-ui-1-10-4 (pending Kevin's EDI project)===
:*Removed .gitignore file.
 
===jquery-ui-1-11-4 (pending Ray's optho form)===
:*Removed .gitignore file.
 
===knockout-2-2-1===
:*Removed .gitignore file.
 
===literallycanvas-0-4-13===
===moment-2-13-0===
 
===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.
:*In future, can likely bring this in via bower via http method.
 
===undone.js-0-0-1 (pending Ray's optho form)===
:*Removed .gitignore and .gitattributes files.
 
=Questions=
:'''<span style="color:red;">Development is ongoing for this project</span>''':
:*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=
:*[https://sourceforge.net/p/openemr/discussion/202506/thread/d4ec2b8b/ assets directory]

Latest revision as of 07:28, 1 September 2018

Redirect to: