====== 커뮤니티 생성관리 ======
===== 개요 =====
커뮤니티의 관리 컴포넌트는 커뮤니티를 생성하고 등록된 커뮤니티들에 대하여 관련된 속성정보를 관리할 수 있는 기능을 제공한다.
===== 설명 =====
커뮤니티에 대한 관리 부분은 별도의 관리 메뉴를 통해 제공된다. 일부 기능은 해당 관리 메뉴를 통해서만 제공되지만, 커뮤니티 자체 관리 기능은 커뮤니티 내에 제공되는 관리 메뉴들로 가능하다.
==== 패키지 참조 관계 ====
커뮤니티 패키지는 요소기술의 공통 패키지(cmm)와 포맷/계산/변환 패키지, 협업의 공통기능(com) 패키지, 게시판 패키지, 동호회 패키지에 대해서 직접적인 함수적 참조 관계를 가진다. 하지만, 컴포넌트 배포 시 오류 없이 실행되기 위하여 패키지 간의 참조관계에 따라 디자인템플릿, 시스템(sim), 달력 패키지와 함께 배포 파일을 구성한다.
* 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#게시판, 커뮤니티, 동호회|게시판, 커뮤니티, 동호회 Package Dependency]]
==== 관련소스 ====
^유형^대상소스^비고^
|Controller|egovframework.com.cop.cmy.EgovCommunityManageController.java|커뮤니티 관리를 위한 컨트롤러 클래스|
|Service|egovframework.com.cop.cmy.service.EgovCommunityManageService.java|커뮤니티 관리를 위한 서비스 인터페이스|
|ServiceImpl|egovframework.com.cop.cmy.service.impl.EgovCommunityManageServiceImpl.java|커뮤니티 관리를 위한 서비스 구현 클래스|
|Model|egovframework.com.cop.cmy.service.Community.java|커뮤니티 관리를 위한 모델 클래스|
|VO|egovframework.com.cop.cmy.service.CommunityVO.java|커뮤니티 관리를 위한 VO 클래스|
|DAO|egovframework.com.cop.cmy.service.impl.CommunityManageDAO.java|커뮤니티 관리를 위한 데이터처리 클래스|
|JSP|/WEB-INF/jsp/egovframework/com/cop/cmy/EgovCmmntyList.jsp|커뮤니티 조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/cmy/EgovCmmntyRegist.jsp|커뮤니티 생성을 위한 등록 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/cmy/EgovCmmntyUpdt.jsp|커뮤니티 정보 수정을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/cmy/EgovCmmntyInqire.jsp|커뮤니티 상세정보 조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/com/EgovUserListPop.jsp|공통 처리(관리자 조회)를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/cmy/EgovTemplateInqirePopup.jsp|템플릿 조회를 위한 jsp페이지|
|Query XML|resources/egovframework/sqlmap/com/cop/cmy/EgovCmmnty_SQL_Mysql.xml|커뮤니티 관리를 위한 MySQL용 Query|
|Query XML|resources/egovframework/sqlmap/com/cop/cmy/EgovCmmnty_SQL_Oracle.xml|커뮤니티 관리를 위한 Oracle용 Query|
|Query XML|resources/egovframework/sqlmap/com/cop/cmy/EgovCmmnty_SQL_Tibero.xml|커뮤니티 관리를 위한 Tibero용 Query|
|Query XML|resources/egovframework/sqlmap/com/cop/cmy/EgovCmmnty_SQL_Altibase.xml|커뮤니티 관리를 위한 Altibase용 Query|
|Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML|
|Validator XML|resources/egovframework/validator/com/cop/cmy/EgovCmmntyRegist.xml|커뮤니티 관리를위한 Validator XML|
|Idgen XML|resources/egovframework/spring/context-idgen.xml|커뮤니티 관리를 위한 Id생성 Idgen XML|
==== 클래스 다이어그램 ====
{{:egovframework:com:v2:cop:커뮤니티생성관리_클래스다이어그램.jpg?740|}}
==== ID Generation ====
=== ID Generation 관련 DDL 및 DML ===
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **CMMNTY_ID** 항목을 추가해야 한다.
CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL,
next_id DECIMAL(30) NOT NULL,
PRIMARY KEY (table_name));
INSERT INTO COMTECOPSEQ VALUES('CMMNTY_ID','0');
=== ID Generation 환경설정(context-idgen.xml) ===
==== 관련테이블 ====
^테이블명^테이블명(영문)^비고^
|커뮤니티속성|COMTNCMMNTY|커뮤니티의 속성정보를 관리한다.|
|커뮤니티사용자|COMTNCMMNTYUSER|커뮤니티 사용자를 관리한다.|
|템플릿|COMTNTMPLATINFO|템플릿을 관리한다.|
===== 관련기능 =====
커뮤니티생성관리는 **커뮤니티 목록조회**, **커뮤니티 생성**, **커뮤니티 상세조회**, **커뮤니티 수정**, **템플릿 조회 팝업**, **사용자 조회 팝업** 기능으로 구분되어 있다.
==== 커뮤니티 목록조회 ====
=== 비즈니스 규칙 ===
커뮤니티 목록을 조회하는 기능으로 검색조건은 커뮤니티명 대해서 수행된다. 커뮤니티 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록조회|/cop/cmy/selectCmmntyInfs.do|selectCmmntyInfs|"CommunityManageDAO.selectCommunityInfs",|
| | | |"CommunityManageDAO.selectCommunityInfsCnt"|
페이지 당 검색 범위를 변경하고자 하는 경우
context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)
{{:egovframework:com:cmmntylist.gif|커뮤니티 목록조회}}
등록: 신규 커뮤니티를 생성하기 위해서는 상단의 등록 버튼을 통해서 **커뮤니티 생성** 화면으로 이동한다.\\
목록클릭: 해당 커뮤니티 명을 클릭하여 상세 조회를 제공하는 **커뮤니티 상세조회** 화면으로 이동한다.
==== 커뮤니티 생성 ====
=== 비즈니스 규칙 ===
커뮤니티의 속성정보를 입력한 뒤 커뮤니티을 생성한다. 생성이 성공적으로 종료되면 **커뮤니티 목록조회** 화면으로 이동한다.\\
커뮤니티 생성 시 템플릿은 **템플릿 조회 팝업** 화면을 통해 선택해야 한다. 커뮤니티 관리자 또한 **사용자 조회 팝업** 화면을 통해 지정해야 한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|등록|/cop/cmy/addCmmntyInf.do|addCmmntyInf| |
|등록화면|/cop/cmy/insertCmmntyInf.do|insertCmmntyInf|"CommunityManageDAO.insertCommunityInf"|
{{:egovframework:com:cmmntyregist.gif|커뮤니티 등록}}
등록: 입력된 커뮤니티 정보를 저장 처리한다. \\
목록: **커뮤니티 목록** 화면으로 이동한다.
==== 커뮤니티 상세조회 ====
=== 비즈니스 규칙 ===
커뮤니티 목록을 클릭하여 해당 커뮤니티 정보를 상세조회하는 페이지로 이동한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|상세조회|/cop/cmy/selectCmmntyInf.do|selectCmmntyInf|"CommunityManageDAO.selectCommunityInfs"|
{{:egovframework:com:cmmntyinqire.gif|커뮤니티 상세조회}}
수정: 커뮤니티의 속성정보를 변경하고자 하는 경우 **수정** 버튼을 선택한다. \\
목록: 목록을 다시 조회하고자 하는 경우는 **목록** 버튼을 선택한다.
==== 커뮤니티 수정 ====
=== 비즈니스 규칙 ===
커뮤니티의 속성정보중 변경이 가능한 정보를 입력한 뒤 수정 버튼을 누르면 커뮤니티의 속성정보를 변경하며, 변경이 성공적으로 종료되면 **커뮤니티 목록조회** 화면으로 이동한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|수정화면|/cop/cmy/forUpdateCmmntyInf.do|forUpdateCmmntyInf| |
|수정|/cop/cmy/updtCmmntyInf.do|updtCmmntyInf|"CommunityManageDAO.updateCommunityInf"|
{{:egovframework:com:cmmntyupdt.gif|커뮤니티 수정}}
목록: 목록을 다시 조회하고자 하는 경우는 목록 버튼을 선택한다.\\
수정: 입력한 커뮤니티 정보를 저장 처리한다.
==== 템플릿 조회 팝업 ====
=== 비즈니스 규칙 ===
커뮤니티 생성 시 또는 정보 수정 시 템플릿 지정을 위한 팝업 목록조회 화면을 제공한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|팝업 목록조회|/cop/tpl/selectTemplateInfsPop.do|selectTemplateInfsPop|"TemplateManageDAO.selectTemplateInfs",|
| | | |"TemplateManageDAO.selectTemplateInfsCnt"|
{{:egovframework:bdmstr4.gif|템플릿 목록조회 팝업}}
==== 사용자 조회 팝업 ====
=== 비즈니스 규칙 ===
커뮤니티 생성 시 또는 정보 수정 시 관리자 지정을 위한 사용자 목록조회 팝업 화면을 제공한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|팝업 목록조회|/cop/com/selectCmmntyUserList.do|selectCmmntyUserList|"EgovUserInfManageDAO.selectCmmntyUserList"|
{{:egovframework:com:userlistpop.gif|사용자조회 팝업}}
===== 참고자료 =====
* 첨부파일 업로드 참조 : [[egovframework:파일관리]]