50. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 5/1/2018 12:02:04 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

50.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\ZIP\JLV_2.6.2.0.3_src\reportbuilder README.md Fri Mar 30 01:12:11 2018 UTC
2 C:\AraxisMergeCompare\Pri_re\ZIP\JLV_2.6.2.0.3_src\reportbuilder README.md Tue May 1 13:47:32 2018 UTC

50.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 5 416
Changed 4 8
Inserted 0 0
Removed 0 0

50.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

50.4 Active regular expressions

No regular expressions were active.

50.5 Comparison detail

  1   # Report B uilder
  2  
  3   Report Bui lder is a  Java [Spri ng Boot](h ttps://pro jects.spri ng.io/spri ng-boot/)  based web  service th at produce s clinical  reports i n PDF form . The repo rt request s typicall y come for m the Join t Legacy V iewer (JLV ) web appl ication.
  4  
  5   ## Install ation and  Deployment
  6  
  7   Report Bui lder uses  [Maven](ht tps://mave n.apache.o rg/) to bu ild the pr oject and  produce de ployment a rtifacts.  The produc tion profi le will pr oduce a wa r artifact  by defaul t, but oth er profile s (develop ment, test ) will pro duce a far  jar for s tandalone  deployment .  
  8  
  9   #### Depen dencies
  10   * [wkhtmlt opdf](http s://wkhtml topdf.org/ ) (HTML to  PDF conve rter binar y) for tar get platfo rm (Linux,  Mac, Win)
  11   * [Java Cr yptography  Extension ](http://w ww.oracle. com/techne twork/java /javase/do wnloads/jc e-7-downlo ad-432124. html) Need  to perfor m AES 256b it encrypt /decrypt o f reports.
  12   See also [ AES 256 wi th Java](h ttp://www. ensor.cc/2 014/02/aes -256-encry ption-with -java-and- jceks.html )
  13  
  14   #### Encry ption
  15  
  16   Report enc rypt/decry pt key nee ds to be g enerated u sing the j ava keytoo l. 
  17  
  18   * [AES-256  Encryptio n with Jav a and JCEK S](http:// www.ensor. cc/2014/02 /aes-256-e ncryption- with-java- and-jceks. html)
  19  
  20   * [AES-256  Encryptio n Utility  github](ht tps://gith ub.com/mik e-ensor/ae s-256-encr yption-uti lity)
  21  
  22   To generat e encrypti on key, on e option i s to use t he followi ng keytool  command:
  23  
  24   ```text
  25   $ keytool  -genseckey  -keystore  <keystore _name>.jck  -storetyp e jceks -s torepass < keystore-p assword> - keyalg AES  -keysize  256 -alias  reportbui lder -keyp ass <key_p assword>
  26   ```
  27  
  28   Then updat e your env ironment c onfigurati ons with t he path to  the keyst ore along  with encry pted value s (using E ncryptUtil  from HuiC ore) of th e alias, k eystore pa ssword, an d key pass word:
  29  
  30   ```text
  31   aes.keysto re.file=D: \\reportbu ilder\\aes -keystore- developmen t.jck
  32   aes.keysto re.alias=P G6wcF5pSPQ OgAKYeotVC Q==
  33   aes.keysto re.storepa ss=T3l/JIz cxoo/HCk/L dWFIQ==
  34   aes.keysto re.keypass =gGVwRnz4t hoYHJ1Z3v0 mlg==
  35   ```
  36  
  37   #### Confi guration
  38  
  39   The main c onfigurati on is loca ted at [re portbuilde r/src/main /resources /applicati on.propert ies](https ://bitbuck et.org/haw aiirg/repo rtbuilder/ src/cd07e2 72f19bb361 832134128a f7ede28fac 7586/src/m ain/resour ces/applic ation.prop erties?at= default&fi leviewer=f ile-view-d efault).
  40  
  41   Environmen t specific  configura tions are  applied by  modifying  a environ ment/profi le specifi c configur ation file  using the  applicait on-<profil e\>.proper ties conve ntion.
  42  
  43   See [appli cation-dev elopment.p roperties] (https://b itbucket.o rg/hawaiir g/reportbu ilder/src/ cd07e272f1 9bb3618321 34128af7ed e28fac7586 /src/main/ resources/ applicatio n-developm ent.proper ties?at=de fault&file viewer=fil e-view-def ault) and  [applicati on-product ion.proper ties](http s://bitbuc ket.org/ha waiirg/rep ortbuilder /src/cd07e 272f19bb36 1832134128 af7ede28fa c7586/src/ main/resou rces/appli cation-pro duction.pr operties?a t=default& fileviewer =file-view -default).
  44  
  45   Logging is  configura tion is lo cated at [ logback-sp ring.xml]( https://bi tbucket.or g/hawaiirg /reportbui lder/src/c d07e272f19 bb36183213 4128af7ede 28fac7586/ src/main/r esources/l ogback-spr ing.xml?at =default&f ileviewer= file-view- default)
  46  
  47  
  48   Also, for  256 bit en cryption t o work, yo u must ove rwrite the  JRE/lib/s ecurity li braries wi th the jar s from the  [Java Cry ptography  Extension] (http://ww w.oracle.c om/technet work/java/ javase/dow nloads/jce -7-downloa d-432124.h tml).
  49  
  50  
  51   ##### Appl ication Co nfiguratio n Properti es
  52   ```text
  53    # base ap plication  configurat ion file -  use appli cation-{pr ofile}.pro perties to  override  environmen t specific  configura tions  
  54     
  55    applicati on.name=@p roject.art ifactId@
  56    build.ver sion=@proj ect.versio n@
  57    spring.pr ofiles.act ive=@env@   
  58    
  59  
  60    spring.ja ckson.seri alization. write_date s_as_times tamps=fals e  
  61      
  62  
  63    # delete  any pendin g reports  on startup
  64    
  65    report.de lete.pendi ng.on.star t=false
  66    
  67  
  68    #report b uilder pip eline
  69    report.ex piration.h ours=72
  70    report.st orage.path =reports
  71    wkhtmltop df.exec=wk htmltopdf
  72    
  73  
  74    # report  builder jo b service
  75    report.jo b.consumer .count=4
  76    
  77  
  78    # hystrix  configs s ee https:/ /github.co m/Netflix/ Hystrix/wi ki/Configu ration
  79    
  80    hystrix.c ommand.vle rDocumentC ommand.exe cution.iso lation.thr ead.timeou tInMillise conds=2000 05
  81    hystrix.c ommand.inp atientDocu mentComman d.executio n.isolatio n.thread.t imeoutInMi lliseconds =200005
  82    hystrix.c ommand.def aultDocume ntCommand. execution. isolation. thread.tim eoutInMill iseconds=2 00005
  83    hystrix.t hreadpool. jmeadowsTh readPoolKe y.coreSize =20
  84    hystrix.t hreadpool. jmeadowsTh readPoolKe y.maxQueue Size=40
  85    hystrix.t hreadpool. jmeadowsTh readPoolKe y.queueSiz eRejection Threshold= 40
  86    
  87    #jmeadows
  88    jmeadows. url=http:/ / IP            /jMeadows/ JMeadowsDa taService? WSDL
  89    jmeadows. connection .timeout.m s=30000
  90    jmeadows. request.ti meout.ms=2 00000
  91    jmeadows. soap.loggi ng=false
  92    
  93  
  94    # databas e
  95    # mssql s erver
  96    spring.da tasource.u rl=jdbc:sq lserver:// IP            ;database= JLV;user=j lvuser;pas sword=jlvu ser1;Selec tedMethod= Cursor;
  97    spring.da tasource.d riverClass Name=com.m icrosoft.s qlserver.j dbc.SQLSer verDriver
  98    
  99  
  100    # expired  reports s weeper
  101  
  102    # how soo n sweeper  will run a fter start  of servic e
  103    sweeper.d elay.minut es=5
  104    # run swe eper every  hour
  105    sweeper.p eriod.minu tes=60
  106    
  107  
  108    # logging  file
  109    logging.p ath=logs
  110   ```
  111  
  112   #### Envir onment Spe cific Conf igs (appli cation-<pr ofile\>.pr operties)
  113   ```text
  114    
  115    # other c onfig over rides coul d go here
  116    jmeadows. url=http:/ /xx/jMeado ws/JMeadow sDataServi ce?WSDL
  117    report.jo b.consumer .count=4
  118    
  119    aes.keyst ore.file=a es-keystor e-developm ent.jck
  120    aes.keyst ore.alias= <encrypted _alias>
  121    aes.keyst ore.storep ass=<encry pted_passw ord>
  122    aes.keyst ore.keypas s=<encrypt ed_passwor d>
  123   ```
  124  
  125   #### MSSQL  Server Up dates
  126  
  127   Ensure tha t Microsof t SQL Serv er is upda ted with t he latest  reportbuil der sql sc ript.
  128  
  129   See [JLVSQ L/tables/R EPORT_BUIL DER.Table. sql](https ://bitbuck et.org/haw aiirg/jlvs ql/src/aa9 27dfec0c98 e7df5b1ab6 fd35906c99 89a097d/ta bles/REPOR T_BUILDER. Table.sql? at=default &fileviewe r=file-vie w-default) .
  130  
  131   #### Packa ging
  132  
  133   mvn packag e -P \<pro file\>
  134  
  135   Package fo r producti on
  136  
  137   ```bash
  138   $ mvn pack age -P pro duction
  139   ```
  140  
  141   #### Deplo yment to V irtual Mac hine
  142  
  143   Use JLV en vironment  to deploy  reportbuil der box
  144  
  145   ```bash
  146   $ ruby jlv _env.rb up  reportbui lder
  147   ```
  148  
  149   #####Use a  Shared Fo lder
  150  
  151   * Set shar ed a vagra nt folder  with repor tbuilder/t arget:
  152  
  153   * Edit *.. /jlvenv/re portbuilde r/Vagrantf ile* 
  154  
  155   * Uncommen t: *config .vm.synced _folder ". ./../repor tbuilder",  "/home/va grant/repo rtbuilder" *
  156  
  157   * Reload t he Virtual  Machine
  158  
  159   ```bash
  160   $ ruby jlv _env.rb re load repor tbuilder
  161   ```
  162  
  163   #####Repor t Builder  Installati on
  164   * Log into  the repor tbuilder V irtual Mac hine
  165       
  166   ```bash
  167   $ ssh vagr ant@ IP           
  168   ```
  169  
  170     The pass word is va grant
  171  
  172   * To view  logs
  173      
  174   ```bash
  175   $ tail -f  /var/log/r eportbuild er.log
  176   ```
  177  
  178   * Test tha t reportbu ilder is u p and runn ing from h ost machin e
  179  
  180   ```bash
  181   $ curl htt p:// IP                  /about
  182   ``` 
  183  
  184   * To Updat e binary f rom shared  folder
  185  
  186   ```bash
  187   $ sh updat e_rb.sh
  188   ```
  189      
  190   #####Run t ests from  Virtual ma chine
  191    
  192   ```bash
  193   $ cd repor tbuilder
  194   $ mvn test  -DskipTes ts=false
  195   ```  
  196  
  197   #####Deplo y to a Web  Container  (Weblogic , Webspher e, Tomcat,  etc.)
  198  
  199   * Install  wkhtmltopd f dependen cy on depl oyment mac hines.
  200   * Update d eployment  environmen t's MSSQL  Server wit h latest S QL script.
  201   * Ensure t hat the ta rget profi le's appli cation pro perties fi le is corr ect (aws,  abl, produ ction)
  202   * Build an d package  the report builder wa r file. Ut ilize envi ronment pr ofile (aws , abl, pro duction, e tc.)
  203       
  204   ```bash
  205        $ mvn  package - P abl 
  206   ```
  207       
  208   * Copy rep ortbuilder -2.6.2.0.x -<profile> .war to de ployment e nvironment .
  209   * Deploy w ar to the  web contai ner.
  210  
  211       
  212