Directory structure and naming rule
The GUI layer of NxFilter is separated from its core part for easy customization.
As of v126.96.36.199 of NxFilter, we use SandWatch as its default GUI pack. It is in /nxfilter/guipack/sandwatch. When you use v188.8.131.52 or newer, you would need to look into SandWatch directory for GUI customization. We still keep the old GUI in /nxfilter/webapps for backward compatibility.
Naming rule for JSP filesThe GUI layer of NxFilter is designed for easy customization. It is completely separated from its core part. And it has a naming convention corresponding to its menu structure so that you can find the file you need to modify easily. For example, if you want to modify 'Policy > Free Time' on NxFilter menu the file you need to edit is /nxfilter/webapps/policy,free_time.jsp.
In NxCloud's case, it has an operator specific menu. If a JSP file is for an operator specific menu then it has 'zop' prefix. ex) zop,policy,free_time.jsp
Structure of /nxfilter/webapps directoryWe put all the JSP pages into /nxfilter/webapps and we don't use any subdirectory for keeping JSP pages. This is for simplicity. Everything you need to modify is in /nxfilter/webapps directory. It has the following structure.
/nxfilter/webappsIn //webapps/error directory, we have the error pages for HTTP error codes. If you want to have an error page for a specific HTTP error code, you can define it in /webapps/WEB-INF/web.xml.
We use HTTP 404 error for special purpose. You shouldn't define any error page for HTTP 404 error.In /nxfilter/webapps/example directory, we have some example JSP pages for custom login module. In /nxfilter/webapps/img, we keep the image files for webpages. In /nxfilter/webapps/include, we have common JSP files to be included into the other JSP files.
Separating your customized GUI into another directoryWhen you customize NxFilter GUI, it is not a good idea to modify the original files directly. It would be better to keep it for future reference and create another directory and copy all the files inside /nxfilter/webapps into the new directory and then modify these copied files. To make things easier, NxFilter supports 'www_dir' option on /nxfilter/conf/cfg.properties file. When you have your own custom GUI in /nxfilter/myweb directory and you want to use it as the root directory of NxFilter's webserver, you need to add the following line into 'cfg.properties' file. www_dir = myweb Then restart your NxFilter.