πŸ›οΈ HONGIKINGAN CMS Developer Manual

Version 202506 | Updated 2025-06-12
🌐 Language: πŸ‡°πŸ‡· ν•œκ΅­μ–΄ πŸ‡²πŸ‡³ Монгол πŸ‡ΊπŸ‡Έ English

3. βš™οΈ Development Environment Setup

3.1 System Requirements

The development environment for HONGIKINGAN CMS uses the eGovFrame development environment as-is, and the environment information for configuration tools for program development and execution is as follows.

3.1.1 Basic Requirements

πŸ’»OS

  • Windows 10, 7 or higher (Macx86_64/Arch64)
  • Linux 64bit

πŸ”§IDE

  • Eclipse 4.26 (2022-12)

β˜•JDK

  • Development Environment: JDK 17 or higher required
  • Runtime Environment: JDK 1.8

🌐WAS

  • Apache Tomcat 9

πŸ—„οΈDBMS

  • Choose one: Oracle, MySQL(MariaDB), CUBRID, MS-SQL, Tibero, PostgreSQL

Note

Development environment changes are possible depending on development conditions, but are not included in this guide.

3.1.2 Hardware Requirements

πŸ–₯️

CPU

Dual-core or higher recommended

πŸ’Ύ

Memory

8GB or higher recommended

πŸ’Ώ

Disk

10GB or more free space recommended

3.2 Development Environment Configuration (Windows-based)

πŸ”§3.2.1 Case1 - Direct Configuration

  1. eGovFrame Development Environment
    • Download eGovFrameDev-4.2.0-64bit
  2. JDK Installation
    • Windows: Install JDK 17 or higher
    • MacOS, Linux: Install JDK 17 or higher
  3. WAS Installation
    • Download Apache Tomcat 9.x
  4. DBMS Installation
    • Oracle / MySQL(MariaDB) / CUBRID / MS-SQL / Tibero
    • Install the database to be used in the project using the pre-provided CMS DB Schema + data.
    • DB server setup instructions are not provided in this manual.
  5. HONGIKINGAN CMS Source + DB Schema + DB data

πŸ“¦3.2.2 Case2 - Configuration via CMS Package (Covered in this manual)

1. Prepare HONGIKINGAN CMS Developer Package (H-CMS-2.2.zip)

H-CMS-2.2.zip file structure:

  • eclipse: eGovFrame development environment, eGovFrameDev-4.2.0-64bit
  • maven: Repository + settings.xml
  • util: Tomcat9 + OpenJDK-1.8, JDK17 (for development environment operation)
  • workspace: HONGIKINGAN CMS source
  • DB: Schema + data
  • DOC: Guide documents, table specifications, operator manual

2. DBMS Installation

  • Oracle / MySQL(MariaDB) / CUBRID / MS-SQL / Tibero / PostgreSQL
  • Install the database to be used in the project using the pre-provided CMS DB Schema + data.
  • DB server setup instructions are not provided in this manual.

3. Prepare Developer PC with "D:" drive volume

Installation Procedure:

  1. Extract HONGIKINGAN CMS package file to D:\ drive
    • When extracted, the CMS path becomes "D:\H-CMS-2.2".
    • (Be careful not to create a structure like D:\H-CMS-2.2\H-CMS-2.2\)
  2. Click "D:\H-CMS-2.2\Humanframe.lnk (shortcut)" icon to run CMS
  3. If D drive does not exist, extract to C drive and modify paths in main configuration files

3.3 Detailed Development Environment Setup Procedure

3.3.1 JDK Installation (Not required - included in package)

1. JDK Download

2. Environment Variable Setup

3.3.2 Eclipse Execution

1. Eclipse Execution

3. Maven Configuration

3.3.3 Database Configuration

1. Database Installation

2. Schema and Data Import

3. Database Connection Configuration

JNDI Configuration:

The default JNDI name used in CMS is "cmsdb". Related settings can be checked and changed in context-datasource.xml.

Tomcat context.xml Configuration Example (CUBRID)
<Resource name="jdbc/cmsdb"
    auth="Container"
    type="javax.sql.DataSource"
    maxTotal="20"
    maxIdle="10"
    maxWaitMillis="-1"
    validationQuery="select 1"
    testOnBorrow="false"
    poolPreparedStatements="true"
    username="cmsuser"
    password="cmspassword"
    driverClassName="cubrid.jdbc.driver.CUBRIDDriver"
    url="jdbc:cubrid:localhost:33000:cmsdb:::?charset=utf-8&zeroDateTimeBehavior=round"/>
            
Tomcat context.xml Configuration Example (MySQL)
<Resource name="jdbc/cmsdb"
    auth="Container"
    type="javax.sql.DataSource"
    maxTotal="100"
    maxIdle="30"
    maxWaitMillis="10000"
    username="cmsuser"
    password="cmspassword"
    driverClassName="com.mysql.cj.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/cmsdb?serverTimezone=Asia/Seoul&characterEncoding=UTF-8"/>
Tomcat context.xml Configuration Example (Oracle)
<Resource name="jdbc/cmsdb"
    auth="Container"
    type="javax.sql.DataSource"
    maxTotal="100"
    maxIdle="30"
    maxWaitMillis="10000"
    username="cmsuser"
    password="cmspassword"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:XE"/>

3.3.4 WAS Configuration

1. Tomcat Configuration

2. Project Deployment Configuration

3.4 Main Configuration Files Guide

3.4.1 context-properties.xml

File that defines main property values of the application.

Main Configuration Items:

Optional Configuration Items (when purchased or used):

context-properties.xml Actual Configuration Example
<!-- [Actual Code] humanframe/spring/context-properties.xml -->
<beans profile="local">
   <bean name="propertiesService" class="org.egovframe.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
      <property name="properties">
         <map>
            <!-- global set -->
            <entry key="GLOBAL_SITE_DOMAIN"     value="https://developers.yooncoms.com" />
            <entry key="WEB_DIR"                value="D:/H-CMS-2.2/workspace/humanframe/humanframe.web/src/main/webapp" />
            <entry key="FILE_UPLOAD_DIR"        value="/data" />
            <entry key="THEME_PATH" 	 		value="D:/H-CMS-2.2/workspace/humanframe/humanframe.web/src/main/webapp/WEB-INF/jsp/theme" />
            <entry key="SESSION_ADMIN"          value="HUMAN_ADMIN" />
            <entry key="SESSION_MEMBER"         value="HUMAN_MEMBER" />
            <entry key="EDITOR"                 value="SMART" />  <!-- SMART, EDITORPLUS -->
            <entry key="GLOBAL_FILEPREVIEW_AT"  value="Y" />
            <entry key="DAUM_API_KEY"			value="Kakao API Key - JavaScript Version" />
            <entry key="GOOGLE_API_KEY"      	value="Google API Key - JavaScript Version"/>
            <entry key="RECAPTCHA_SITE_KEY"		value="Google Site Key" />
            <entry key="RECAPTCHA_SECRET_KEY"	value="Google Secret Key" />
         </map>
      </property>
   </bean>
</beans>
            

3.4.2 context-datasource.xml

File containing database connection configuration.

context-datasource.xml Main Configuration Items
<!-- [Actual Code] humanframe/spring/context-datasource.xml -->
<beans profile="local">
   <bean id="cmsDataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
      <constructor-arg ref="cmsDataSourceSpied" />
      <property name="logFormatter">
         <bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter">
            <property name="loggingType" value="MULTI_LINE" />
            <property name="sqlPrefix" value="### SQL : 		" />
         </bean>
      </property>
   </bean>
   <jee:jndi-lookup id="cmsDataSourceSpied" jndi-name="java:comp/env/jdbc/cmsdb" expected-type="javax.sql.DataSource" resource-ref="true" />
   <jdbc:initialize-database data-source="cmsDataSource" enabled="false">
      <jdbc:script location="classpath:database/schema.sql" encoding="utf-8" />
   </jdbc:initialize-database>
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="cmsDataSource"/>
   </bean>
   <tx:annotation-driven transaction-manager="transactionManager"/>
</beans>
            

3.4.3 Other Main Configuration Files

human-resource.xml Configuration Example
<!-- [Actual Code] humanframe/spring/human-resource.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd" >
<!-- humanframe system related configuration file -->
<properties>
    <entry key="humanframe.dbType">cubrid</entry><!-- DB Type : altibase, cubrid, mysql, oracle, tibero -->
    <entry key="humanframe.admin.path">humanmst</entry>
</properties>
            

3.5 Profile Configuration (Development/Test/Production)

HONGIKINGAN CMS can apply different configurations according to development, test, and production environments using Spring profiles.

Main Profiles:

Spring Profile local Configuration Application

  1. Double-click the WEB server among Eclipse server items.
  2. Click the Open launch configuration item.
  3. Click the Arguments tab.
  4. Check the -Dspring.profiles.active=local option in the VM arguments window. Add if not present.
  5. If D drive does not exist, set the path to C drive and directly modify the path by referring to the "Main Configuration Check" item.

3.6 Web Editor Configuration

HONGIKINGAN CMS supports SMART and EDITORPLUS as web editors, and uses SMART by default. It can be configured as follows.

context-properties.xml Editor Configuration
<!-- [Actual Code] humanframe/spring/context-properties.xml -->
<entry key="EDITOR">SMART</entry>  <!-- SMART , EDITORPLUS -->

<!--editor path -->
<entry key="UPLOAD_WEBEDITOR_DIR">C:/dev/workspace/humanframe/humanframe/humanframe.web/src/main/webapp/humanframe/global/kukudocs</entry>
<entry key="UPLOAD_WEBEDITOR_PATH">/humanframe/global/kukudocs</entry>
            
(Option) ImagePath.jsp Configuration when using EDITORPLUS

When using webeditorplus, you need to check the path configuration in the ImagePath.jsp file.
Check if the imagePhysicalPath variable matches the actual local folder path and modify if necessary. In particular, configuration is required after checking the absolute path of the actual server to be deployed.

<!-- [Actual Code] humanframe.web/src/main/webapp/webeditorplus/websource/jsp/ImagePath.jsp -->
<%
String imagePhysicalPath = "";
String activeProfiles = System.getProperty("spring.profiles.active");
if("local".equalsIgnoreCase(activeProfiles) || "dev".equalsIgnoreCase(activeProfiles)) {
    imagePhysicalPath = "D:/H-CMS-2.2/workspace/humanframe";
} else {
    imagePhysicalPath = "/home/tomcat/webapps/humanframe";
}
%>
            

3.7 Precautions for Development Environment Setup

  1. JDK Version Compatibility
    • For development: Use JDK 11 or higher (Windows) or JDK 17 or higher (MacOS, Linux)
    • Runtime environment: Developed based on JDK 1.8
  2. Database Configuration
    • Check humanframe.dbType property in human-resource.xml file
    • Configure according to the database being used (cubrid, oracle, mysql, mssql, tibero, postgresql)
  3. Character Encoding
    • Project encoding: UTF-8
    • JSP file encoding: UTF-8
    • Database connection encoding: UTF-8
  4. Memory Configuration
    • Adjust JVM memory settings according to development environment
    • Default recommendation: -Xms512m -Xmx1024m

3.8 Project Execution and Initial Access

3.8.1 Project Execution

1. Project Build

2. Server Start

3. Access Verification

3.8.2 Admin Login

πŸ”‘

Admin Initial Account Information

ID: cmsadmin / Password: 1111