RADIUSdesk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
technical_discussions:sencha_command [2021/06/19 13:51] admintechnical_discussions:sencha_command [2022/06/15 08:07] (current) admin
Line 1: Line 1:
 ====== Using the Sencha Command to Rebuild Optimized JS code ====== ====== Using the Sencha Command to Rebuild Optimized JS code ======
 +===== Background =====
 +
   * RADIUSdesk uses the ExtJS toolkit for the GUI   * RADIUSdesk uses the ExtJS toolkit for the GUI
   * The version used is the GPL version 7.0 (The Non-GPL version is already at 7.4)   * The version used is the GPL version 7.0 (The Non-GPL version is already at 7.4)
Line 5: Line 7:
  
 ===== Get the Sencha Command ===== ===== Get the Sencha Command =====
 +  * Go to this URL: https://www.sencha.com/products/extjs/cmd-download/
 +  * Select under the **Installers without JRE Included** the **LINUX 64-BIT** link and download the latest installer.
 +  * As the link states, there is no JRE bundled with the installer, you have to install a JRE on your system for the JRE to work correct.
 +  * Install a JRE on Ubuntu 20.04
 +<code bash>
 +sudo apt install default-jre
 +</code>
 +===== Install the Sencha Command =====
 +
 +  * Unzip the Sencha Command file
 +<code bash>
 +unzip SenchaCmd-7.4.0.39-linux-64-no-jre.zip 
 +#This is the output
 +#Archive:  SenchaCmd-7.4.0.39-linux-64-no-jre.zip
 +#  inflating: SenchaCmd-7.4.0.39-linux-amd64.sh  
 +</code>
 +  * Run the installer shell (using the file which was produced during the unzip)
 +<code bash>
 + ./SenchaCmd-7.4.0.39-linux-amd64.sh
 +#This might be needed (!=== REPLACE '/home/system' with the user you are logged in as===!)
 +export PATH=$PATH:/home/system/bin/Sencha/Cmd/7.4.0.39
 +</code>
 +  * Depending if you are on a system with some desktop (like Xfe) or without one, the installer will ask you some questions about the install. Just select the defaults to complete the install.
 +  * After the install, you should be able to run the Sencha command
 +<code bash>
 +sencha help
 +</code>
 +
 +===== Check out the GPL version of ExtJS =====
 +  * A git repo with the GPL version of ExtJS 7.0 is here: https://github.com/tremez/extjs-gpl
 +  * Select a working directory where you want to check it out into
 +<code bash>
 +#As an example 
 +cd /home/system/Documents/sencha
 +git clone https://github.com/tremez/extjs-gpl.git extjs-gpl-7.0
 +</code>
 +
 +===== Link it to the JS Code =====
 +  * If you have a standard Git install of RADIUSdesk there will be the following folder **/var/www/rdcore/rd**
 +  * Create the following symbolic link
 +<code bash>
 +sudo ln -s /home/system/Documents/sencha/extjs-gpl-7.0 /var/www/rdcore/rd/ext
 +</code>
 +
 +===== Change the ownership and make create a dev area =====
 +  * We will create a dev area to test our changes and see if they are working.
 +  * We assume a user called **system** will edit the files. Change to fit your environment.
 +<code bash>
 +sudo ln -s /var/www/rdcore/rd /var/www/html/rd_dev
 +sudo chown -R system. /var/www/rdcore
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/tmp
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/logs
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/webroot/img/realms
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/webroot/img/dynamic_details
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/webroot/img/dynamic_photos
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/webroot/img/access_providers
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/webroot/img/nas
 +sudo chown -R www-data. /var/www/html/cake3/rd_cake/webroot/files/imagecache
 +</code>
 +
 +===== Confirm everything is working =====
 +  * The following URL will display the non-optimized code 
 +  * http://127.0.0.1/rd_dev/#dashboard
 +  * You can now modify the code and test the changes under that URL
 +  * Once you are happy with all your changes its time to optimize the code
 +<code bash>
 + cd /var/www/rdcore/rd
 + sencha app build production
 +#Note there will be some JRE related warnings... thats normal
 +</code>
 +  * After the build it optimised you can reach it here
 +  * http://127.0.0.1/rd_dev/build/production/Rd/#dashboard
 +  * -OR-
 +  * http://127.0.0.1/rd
 +===== Making your changes 'LIVE' =====
 +  * To serve these latest changes under the document root of Nginx
 +<code bash>
 +sudo cp -R /var/www/html/rd/* /var/www/html/
 +</code>
 +
 +
 +
 +
 +