RADIUSdesk

Using the Sencha Command to Rebuild Optimized JS code

Background

  • 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)
  • We assume you have standard install of the Git code of RADIUSdesk.

Get the Sencha Command

  • 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
sudo apt install default-jre

Install the Sencha Command

  • Unzip the Sencha Command file
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  
  • Run the installer shell (using the file which was produced during the unzip)
 ./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
  • 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
sencha help

Check out the GPL version of ExtJS

#As an example 
cd /home/system/Documents/sencha
git clone https://github.com/tremez/extjs-gpl.git extjs-gpl-7.0
  • If you have a standard Git install of RADIUSdesk there will be the following folder /var/www/rd_code/rd
  • Create the following symbolic link
sudo ln -s /home/system/Documents/sencha/extjs-gpl-7.0 /var/www/rd_code/rd/ext

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.
sudo ln -s /var/www/rd_code/rd /var/www/html/rd_dev
sudo chown -R system. /var/www/rd_code
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

Confirm everything is working

  • The following URL will display the non-optimized code
  • 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
 cd /var/www/rd_code/rd
 sencha app build production
#Note there will be some JRE related warnings... thats normal

Making your changes 'LIVE'

  • To serve these latest changes under the document root of Nginx
sudo cp -R /var/www/html/rd/* /var/www/html/