====== 커뮤니티 생성관리 ====== ===== 개요 ===== 커뮤니티의 관리 컴포넌트는 커뮤니티를 생성하고 등록된 커뮤니티들에 대하여 관련된 속성정보를 관리할 수 있는 기능을 제공한다. ===== 설명 ===== 커뮤니티에 대한 관리 부분은 별도의 관리 메뉴를 통해 제공된다. 일부 기능은 해당 관리 메뉴를 통해서만 제공되지만, 커뮤니티 자체 관리 기능은 커뮤니티 내에 제공되는 관리 메뉴들로 가능하다. ==== 패키지 참조 관계 ==== 커뮤니티 패키지는 요소기술의 공통 패키지(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:파일관리]]