Optimizing SASS compilation process - WebLogic (CTModelHouse)
Canvas enables you to optimize the SASS compilation process for your web application. But it is essential that you optimize the SASS compilation process before you proceed with the build and deployment of your web application. To optimize SASS compilation for reducing the server startup time, perform the following steps:
It is mandatory that the following steps should be performed only after you execute and generate the database scripts for your web application.
Uncomment the antcall target function in the build xml (e.g. buildModelHouse.xml) file present in your project source folder, e.g. D:\SVN_REPO\19.1.7.3\Sources\CTModelHouse\Sources\CTModelHouseServerBuilder\src\main\ant\buildModelHouse.xml. The following code snippet serves as a sample reference:
It is assumed that the project or web application name is CTModelHouse. In the SVN repository path of your project, access the build xml file, placed within the appropriate project source folder. For instance, let's assume that the build xml file name is buildModelHouse.xml and the appropriate project source folder name is CTModelHouseServerBuilder. Depending on the web application name, the build xml file name and the project source folder name will vary in accordance with the provided web application name.
<!-- Css compresion is done here --> <antcall target="-build.modelhouse.compresscss" /> <antcall target="package_compile_sass" /> <!-- Uncomment the antcall target function --> <jar destfile="${MODEL_WAR_FILE_NAME}"> <fileset dir="${WAR_ROOT}"> <include name="**/*.*" /> </fileset> <manifest> <attribute name="Created-By" value="${unit.name}" /> <attribute name="Build-Jdk" value="${java.version}" /> <attribute name="Bundle-Name" value="modelhouse war" /> <attribute name="Bundle-Version" value="${product.version}" /> <attribute name="Bundle-Description" value="Web application archive for the modelhouse" /> <attribute name="Implementation-Vendor" value="${company.name}" /> <attribute name="Implementation-Title" value="${product.name}" /> <attribute name="Implementation-Version" value="${product.version}" /> <attribute name="Build-Id" value="${buildVersion}" /> <attribute name="Build-Date" value="${DATE}"/> </manifest> </jar>
You must specify the database or schema name in the same build xml file (e.g. buildModelHouse.xml), present in your project source folder, e.g. D:\SVN_REPO\19.1.7.3\Sources\CTModelHouse\Sources\CTModelHouseServerBuilder\src\main\ant\buildModelHouse.xml. The following code snippet serves as a sample reference:
After you perform the aforementioned steps, you can proceed with the build and deployment of your web application.<!-- Prepare the CSS Files (compile sass, merge and minify) --> <target name="package_compile_sass"> <echo>Compiling SASS and CSS File merge / minify</echo> <java classname="com.intellectdesign.canvas.utils.BuidSassCompilationUtil" fork="yes" failonerror="yes"> <arg value="com.mysql.cj.jdbc.Driver" /> <arg value="jdbc:mysql://localhost:3306/multi_16745" /> <!-- Specify the database or schema name, e.g. "multi_16745" --> <arg value="ctuser" /> <!-- To connect to the specified database or schema, provide the appropriate schema username, e.g. "ctuser" --> <arg value="canvas" /> <!-- To connect to the specified database or schema, provide the appropriate schema password, e.g. "canvas" --> <arg value="/ctmodelhouse" /> <!-- Specify the context root of the web application, e.g. "/ctmodelhouse" --> <arg value="MODELHOUSE" /> <!-- Specify the unique ID of the web application, e.g. "MODELHOUSE" --> <arg value="${WAR_ROOT}/CTRIAFramework/UIArena/theme/system/cssconfig.xml" /> <arg value="${WAR_ROOT}" /> <classpath refid="sasscompilecompressjars" /> </java> </target>