====== 게시판생성관리, 공지사항관리, 유효게시판, 익명게시판, 자료실관리 ======
===== 개요 =====
게시판생성관리, 공지사항관리, 유효게시판, 익명게시판, 자료실관리 컴포넌트는 공지사항, 일반게시판, 방명록 등의 게시판을 생성하고 등록된 게시판들에 대하여 관련된 속성정보를 관리할 수 있는 기능을 제공한다.
===== 설명 =====
게시판을 생성할 수 있는 위치는 크게 두 군데(시스템, 동호회/커뮤니티)로 나뉘며 시스템에서 게시판을 생성한 경우
해당 게시판은 SYSTEM_DEFAULT_BOARD의 속성으로 게시판 이용정보(COMTNBBSUSE) 테이블에 등록되며,
이렇게 등록된 게시판은 시스템의 모든 사용자가 활용할 수 있는 게시판이 된다.
==== 패키지 참조 관계 ====
게시판 패키지는 요소기술의 공통 패키지(cmm)와 시스템 패키지(sim), 포맷/계산/변환 패키지에 대해서 직접적인 함수적 참조 관계를 가진다. 하지만, 컴포넌트 배포 시 오류 없이 실행되기 위하여 패키지 간의 참조관계에 따라 협업의 공통기능(com), 디자인템플릿, 달력 패키지와 함께 배포 파일을 구성한다.
* 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#게시판, 커뮤니티, 동호회|게시판, 커뮤니티, 동호회 Package Dependency]]
==== 관련소스 ====
^유형^대상소스^비고^
|Controller|egovframework.com.cop.bbs.EgovBBSAttributeManageController.java|게시판 관리를 위한 컨트롤러 클래스|
|Service|egovframework.com.cop.bbs.service.EgovBBSAttributeManageService.java|게시판 관리를 위한 서비스 인터페이스|
|ServiceImpl|egovframework.com.cop.bbs.service.impl.EgovBBSAttributeManageServiceImpl.java|게시판 관리를 위한 서비스 구현 클래스|
|Model|egovframework.com.cop.bbs.service.BoardMaster.java|게시판 관리를 위한 모델 클래스|
|Model|egovframework.com.cop.bbs.service.Board.java|게시판 관리를 위한 모델 클래스|
|VO|egovframework.com.cop.bbs.service.BoardMasterVO.java|게시판 관리를 위한 VO 클래스|
|VO|egovframework.com.cop.bbs.service.BoardVO.java|게시판 관리를 위한 VO 클래스|
|DAO|egovframework.com.cop.bbs.service.impl.BBSAttributeManageDAO.java|게시판 관리를 위한 데이터처리 클래스|
|JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBoardMstrRegist.jsp|게시판 생성을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBoardMstrUpdt.jsp|생성된 게시판 수정을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBoardMstrList.jsp|생성된 게시판 조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/com/EgovTemplateInqirePopup.jsp|게시판 템플릿 정보 조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBdMstrRegistByTrget.jsp|동호회/커뮤니티의 게시판 생성을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBdMstrUpdtByTrget.jsp|동호회/커뮤니티의 생성된 게시판 수정을 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSListByTrget.jsp|동호회/커뮤니티의 생성된 게시판 조회를 위한 jsp페이지|
|Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBBSMaster_SQL_Mysql.xml|게시판 관리를 위한 MySQL용 Query XML|
|Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBBSMaster_SQL_Oracle.xml|게시판 관리를 위한 Oracle용 Query XML|
|Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBBSMaster_SQL_Tibero.xml|게시판 관리를 위한 Tibero용 Query XML|
|Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBBSMaster_SQL_Altibase.xml|게시판 관리를 위한 Altibase용 Query XML|
|Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 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에 **BBS_ID** 항목을 추가해야 한다.
CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL,
next_id DECIMAL(30) NOT NULL,
PRIMARY KEY (table_name));
INSERT INTO COMTECOPSEQ VALUES('BBS_ID','0');
=== ID Generation 환경설정(context-idgen.xml) ===
==== 관련테이블 ====
^테이블명^테이블명(영문)^비고^
|게시판속성|COMTNBBSMASTER|게시판의 속성정보를 관리한다.|
|게시판이용정보|COMTNBBSUSE|게시판의 이용정보를 관리한다.|
|코드정보|COMTCCMMNDETAILCODE|코드 정보를 관리한다.|
==== 관련코드 ====
^코드분류^코드분류명^코드ID^코드명^
|COM004|게시판유형|BBST01|일반게시판|
|COM004|게시판유형|BBST02|익명게시판|
|COM004|게시판유형|BBST03|공지게시판|
|COM004|게시판유형|BBST04|방명록|
|COM009|게시판속성|BBSA01|유효게시판|
|COM009|게시판속성|BBSA02|갤러리|
|COM009|게시판속성|BBSA03|일반게시판|
==== 게시판 속성 ====
=== 게시판유형 ===
^게시판유형^설명^비고^
|일반게시판|일반적으로 사용되는 게시판| |
|익명게시판|작성자의 이름이 나오지 않는 형태의 게시판| |
|공지게시판|공지사항을 입력 가능한 게시판| |
|방명록|방명록 형태의 게시판|이하 게시판 유형속성 의미없음|
=== 추가유형 ===
^게시판속성^설명^비고^
|유효게시판|게시 기간을 지정할 수 있는 게시판| 시작일/종료일 지정|
|갤러리|첨부된 이미지 파일을 본문에 보여줄 수 있는 게시판| |
|일반게시판|일반적인 형태의 게시판| |
위의 두가지 속성은 서로 조합이 가능하게 제공되며 추가적으로
답변가능여부와 첨부가능여부를 선택할 수 있다.
익명게시판은 **[[egovframework:게시판익명처리|게시판 익명처리]]**부분을 참고하여 권한예외처리가 추가적으로 필요하다.
===== 관련기능 =====
게시판생성관리, 공지사항관리, 유효게시판, 익명게시판, 자료실관리는 **게시판 목록조회**, **게시판 생성**, **게시판 수정**, **템플릿 조회 팝업** 기능으로 구분되어 있다.
==== 게시판 목록조회 ====
=== 비즈니스 규칙 ===
신규 게시판을 생성하기 위해서는 상단의 등록 버튼을 통해서 **게시판 생성** 화면으로 이동하고 기존 게시판의 속성정보를 수정하고자 하는 경우
해당 게시판 명을 클릭하여 상세 조회 및 수정기능을 제공하는 **게시판 수정** 화면으로 이동한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|목록조회|/cop/bbs/SelectBBSMasterInfs.do|selectBBSMasterInfs|"BBSAttributeManageDAO.selectBBSMasterInfs",|
| | | |"BBSAttributeManageDAO.selectBBSMasterInfsCnt"|
게시판 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다. \\
검색조건은 게시판명, 게시판유형에 대해서 수행된다. 페이지 당 검색 범위를 변경하고자 하는 경우
context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)
{{:egovframework:com:cop:bdmstr1.gif?740|게시판 목록조회}}
조회: 조회하기 위해서는 상단의 검색조건을 선택 후 해당하는 검색문자를 입력 후 조회 버튼을 클릭한다.\\
등록: 등록하기 위해서는 상단의 등록 버튼을 통해서 **게시판 생성** 화면으로 이동한다. \\
목록클릭: **게시판 상세조회** 상세조회 화면으로 이동한다.
==== 게시판 생성 ====
=== 비즈니스 규칙 ===
게시판의 속성정보를 입력한 뒤 게시판을 생성한다. 생성이 성공적으로 종료되면 **게시판 목록조회** 화면으로 이동한다.\\
게시판을 생성함에 있어서 파일첨부가 불가능하다고 선택한 경우에도 첨부가능 파일 숫자를 세팅이 가능한데 이는 실제 공통서비스 기능을 사용할 곳에서
관련 비즈니스 규칙에 따라서 화면의 제어를 하는 것을 권장하고 있기 때문이다. 실제 공통서비스의 기능에서 입력오류등을 내는 부분이 아닌 경우에
대해서 까지 강제적인 제어를 하는 부분은 드물게 구성되어있다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|등록화면|/cop/bbs/addBBSMaster.do|addBBSMaster| |
|등록|/cop/bbs/insertBBSMasterInf.do|insertBBSMasterInf|"BBSAttributeManageDAO.insertBBSMasterInf"|
{{:egovframework:bdmstr2.gif?740|게시판 등록}}
목록: **게시판 목록** 화면으로 이동한다. \\
등록: 입력한 게시판 정보들이 저장 처리된다.
==== 게시판 수정 ====
=== 비즈니스 규칙 ===
게시판의 속성정보중 변경이 가능한 정보를 입력한 뒤 수정 버튼을 누르면 게시판의 속성정보를 변경하며 변경이 성공적으로 종료되면 **게시판 목록조회** 화면으로 이동한다.\\
삭제버튼을 누르는 경우 해당 게시판은 더 이상 활용이 불가능한 상태가 되며(물리적인 삭제는 되지 않음) 삭제작업이 성공적으로 종료되면 **게시판 목록조회** 화면으로 이동한다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|수정|/cop/bbs/UpdateBBSMasterInf.do|updateBBSMasterInf|"BBSAttributeManageDAO.updateBBSMasterInf"|
{{:egovframework:bdmstr3.gif?740|게시판 수정}}
저장: 수정된 정보들이 저장 처리된다. \\
목록: **게시판 목록** 화면으로 이동한다.
==== 템플릿 조회 팝업 ====
=== 비즈니스 규칙 ===
해당 게시판에서 활용할 템플릿 정보를 조회하여 선택한다. 게시판 템플릿의 변경을 통해서 달라지는 부분은 게시판 관련 css의 변경이 있다.
=== 관련코드 ===
N/A
=== 관련화면 및 수행매뉴얼 ===
^Action^URL^Controller method^QueryID^
|팝업 목록조회|/cop/bbs/SelectBBSMasterInfsPop.do|selectBBSMasterInfsPop|"BBSAttributeManageDAO.selectNotUsedBdMstrList"|
{{:egovframework:bdmstr4.gif?740|템플릿 목록조회 팝업}}
===== 참고자료 =====
* 첨부파일 업로드 참조 : [[egovframework:파일관리]]