====== 게시물관리 ====== ===== 개요 ===== 사용자 간의 정보공유를 위해 공통으로 사용되는 게시판을 관리할 수 있도록 게시물을 등록하고 등록된 게시물의 목록을 조회할 수 있는 기능을 제공한다. ===== 설명 ===== 게시판 관리기능에 의해 생성된 게시판에 사용자가 게시물을 등록, 조회, 수정 할 수 있는 기능을 제공한다. 생성된 게시판은 게시판 속성관리에 따라서 지정된 유형 및 속성에 따라서 실제 게시판은 다른 형태로 보여지게 된다. 각 게시판은 글 생성 및 조회, 수정, 삭제가 가능하며 수정 및 삭제의 경우 글을 게시한 당사자만이 수정, 삭제가 가능하다. 익명 게시판의 경우 작성자의 이름이 나오지 않으며, 갤러리 형태의 게시판의 경우 글 생성시 첨부된 이미지 파일(BMP,JPG,GIF,PNG 포맷에 한함)을 본문에 같이 보여주는 기능을 제공한다. ==== 패키지 참조 관계 ==== 게시판 패키지는 요소기술의 공통 패키지(cmm)와 시스템 패키지(sim), 포맷/계산/변환 패키지에 대해서 직접적인 함수적 참조 관계를 가진다. 하지만, 컴포넌트 배포 시 오류 없이 실행되기 위하여 패키지 간의 참조관계에 따라 협업의 공통기능(com), 디자인템플릿, 달력 패키지와 함께 배포 파일을 구성한다. * 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#게시판, 커뮤니티, 동호회|게시판, 커뮤니티, 동호회 Package Dependency]] ==== 관련소스 ==== ^유형^대상소스^비고^ |Controller|egovframework.com.cop.bbs.EgovBBSManageController.java|게시물 관리를 위한 컨트롤러 클래스| |Service|egovframework.com.cop.bbs.service.EgovBBSManageService.java|게시물 관리를 위한 서비스 인터페이스| |ServiceImpl|egovframework.com.cop.bbs.service.impl.EgovBBSManageServiceImpl.java|게시물 관리를 위한 서비스 구현 클래스| |Model|egovframework.com.cop.bbs.service.Board.java|게시물 관리를 위한 모델 클래스| |Model|egovframework.com.cop.bbs.service.BoardMaster.java|게시판 속성 정보를 관리하기 위한 모델 클래스| |VO|egovframework.com.cop.bbs.service.BoardVO.java|게시물 관리를 위한 VO 클래스| |VO|egovframework.com.cop.bbs.service.BoardMasterVO.java|게시판 속성 정보를 관리하기 위한 VO 클래스| |DAO|egovframework.com.cop.bbs.service.impl.BBSManageDAO.java|게시물 관리를 위한 데이터처리 클래스| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovNoticeRegist.jsp|게시물 생성을 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovNoticeUpdt.jsp|생성된 게시물 수정을 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovNoticeList.jsp|생성된 게시물 조회를 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovNoticeInqire.jsp|생성된 게시물 상세 조회를 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovNoticeReply.jsp.jsp|생성된 게시물에 대한 답변을 등록하기 위한 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovGuestList.jsp|방명록 등록/조회를 위한 jsp페이지| |Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBoard_SQL_Mysql.xml|게시물 관리를 위한 MySQL용 Query XML| |Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBoard_SQL_Oracle.xml|게시물 관리를 위한 Oracle용 Query XML| |Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBoard_SQL_Tibero.xml|게시물 관리를 위한 Tibero용 Query XML| |Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBoard_SQL_Altibase.xml|게시물 관리를 위한 Altibase용 Query XML| |Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML| |Message properties|resources/egovframework/message/com/message-common_ko_KR.properties|게시물 관리를 위한 Message properties| |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에 **NTT_ID** 항목을 추가해야 한다. CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL, next_id DECIMAL(30) NOT NULL, PRIMARY KEY (table_name)); INSERT INTO COMTECOPSEQ VALUES('NTT_ID','0'); === ID Generation 환경설정(context-idgen.xml) === ==== 관련테이블 ==== ^테이블명^테이블명(영문)^비고^ |게시물 정보|COMTNBBS|게시물 정보를 관리한다.| ===== 관련기능 ===== 게시판 사용을 위한 방법은 시스템에 활용되는 게시판, 커뮤니티에서 활용되는 게시판, 동호회에서 활용되는 게시판 3가지로 구분된다.\\ 게시물관리는 **게시물 목록조회**, **게시물 등록**, **게시물 상세조회**, **게시물 수정**, **답글 작성** 기능으로 구분되어 있다. ==== 게시물 목록조회 ==== === 비즈니스 규칙 === 게시물 목록을 조회할 수 있는 화면을 제공한다. 게시물에 대한 목록조회 화면은 접근은 URL 링크(시스템 사용 게시판), 커뮤니티를 통한 접근, 동호회를 통한 접근 3가지 방식이 존재한다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^Action^URL^Controller method^QueryID^ |목록조회|/cop/bbs/selectBoardList.do|selectBoardArticles|"BBSManageDAO.selectBoardArticleList",| | | | |"BBSManageDAO.selectBoardArticleListCnt"| 게시물 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다. 검색조건은 제목, 내용, 작성자 대해서 수행된다. 페이지 당 검색 범위를 변경하고자 하는 경우 context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.) {{:egovframework:noticelist.gif|게시물 목록조회}} 신규 게시물을 등록하기 위해서는 상단의 등록 버튼을 통해서 **게시물 등록** 화면으로 이동할 수 있다.\\ 게시내용을 확인하기 위해서는 제목을 선택하면 상세화면을 제공하는 **게시물 상세조회** 화면으로 이동한다. ==== 게시물 등록 ==== === 비즈니스 규칙 === 게시물의 내용을 입력한 뒤 등록 버튼을 선택하면 게시물이 등록된다. 게시판에 대한 유형 및 속성에 따라 게시시간, 작성자, 파일첨부 등을 입력할 수 있다. 등록이 성공적으로 처리되면 **게시물 목록조회** 화면으로 이동된다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^Action^URL^Controller method^QueryID^ |등록화면|/cop/bbs/addBoardArticle.do|addBoardArticle| | |등록|/cop/bbs/insertBoardArticle.do|insertBoardArticle|"BBSManageDAO.insertBoardArticle"| {{:egovframework:noticeregist.gif|게시물 등록}} 목록: **게시물 목록** 화면으로 이동한다. \\ 등록: 입력한 게시물 정보들이 저장 처리된다. ==== 게시물 상세조회 ==== === 비즈니스 규칙 === 게시물 목록화면에서 제목을 선택하면 상세화면으로 이동한다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^Action^URL^Controller method^QueryID^ |상세조회|/cop/bbs/selectBoardArticle.do|selectBoardArticle|"BBSManageDAO.selectBoardArticle"| {{:egovframework:noticeinqire.gif|게시물 상세조회}} 상세화면에서 수정 버튼을 선택하면 **게시물 수정** 화면으로 이동한다.\\ 삭제 버튼 선택 시 해당 게시글을 삭제하고 **게시물 목록** 화면으로 이동한다. ==== 게시물 수정 ==== === 비즈니스 규칙 === 게시물을 수정할 수 있는 화면을 제공하고 입력된 게시물 수정정보를 저장처리한다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^Action^URL^Controller method^QueryID^ |수정화면|/cop/bbs/forUpdateBoardArticle.do|selectBoardArticleForUpdt| | |수정|/cop/bbs/updateBoardArticle.do|updateBoardArticle|"BBSManageDAO.updateBoardArticle"| {{:egovframework:noticeupdt.gif|게시물 수정}} 게시글의 제목과 내용 등을 변경하고 수정 버튼을 누르면 게시글 정보가 변경되어 **게시물 목록조회** 화면으로 이동한다. ==== 답변 작성 ==== === 비즈니스 규칙 === 답변 작성은 **게시물 등록**과 같은 방식으로 입력하여 등록한다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^Action^URL^Controller method^QueryID^ |답변작성 화면|/cop/bbs/addReplyBoardArticle.do|addReplyBoardArticle| | |답변작성|/cop/bbs/replyBoardArticle.do|replyBoardArticle|"BBSManageDAO.insertBoardArticle"| {{:egovframework:com:cop:noticereply.jpg|답변 작성}} 정상적으로 답변이 등록되면 **게시물 목록조회** 화면으로 이동된다. ===== 참고자료 ===== * 게시판 생성관리 기능 참조 : [[게시판생성관리|게시판 생성관리]]