====== 협업 - 게시판 사용기능 ====== ===== 개요 ===== **게시판사용기능** 서비스는 사용자 간의 정보공유를 위해 사용되는 게시판을 일반게시판, 공지사항, 유효게시판, 익명게시판의 형태로 제공하며, 사용자는 각 게시판의 게시글을 등록, 수정, 삭제 및 조회 할 수 있다. \\ * 일반게시판 : 일반적인 형태의 게시판 * 유효게시판 : 시작일, 종료일의 게시 기간을 지정할 수 있는 게시판\\ * 익명게시판 : 작성자의 이름이 나오지 않는 형태의 게시판\\ * 방명록 : 방명록 형태의 게시판\\ * 갤러리 : 첨부된 이미지 파일을 본문에 보여줄 수 있는 게시판 게시글 등록 시에는 Validator Rule을 통해 필수항목에 대한 조건을 검사하며, \\ Validator Rule은 **Valator-rules.xml**과 미리 정의된 컴포넌트 Validator xml을 통해 적용된다. \\ **게시판사용기능** 서비스는 **HTML5**, **jQuery**와 함께 **jQM(jQuery Mobile)**을 바탕으로 개발된 모바일 공통 컴포넌트이다. \\ 자세한 사항은 [[http://www.egovframe.go.kr/html/egovframework/mbl/mguide/mguide.html|모바일 실행환경 가이드]]를 통해 안내되고 있다. \\ 컴포넌트와 관련된 css로는 기본적으로 적용되는 **EgovMobile.css**와 함께 **egovBoard.css**, **ussCommon.css**가 사용된다.\\ 또한 공통으로 지원하고 있는 jAlert가 사용되고 있으며, 아래와 같은 js 파일에 정의되어 있다. * **EgovMobile.js** ==== 지원대상 ==== 본 컴포넌트는 모바일 디바이스에서 사용 가능한 브라우저를 대상으로 개발 및 테스트를 완료하였으며 \\ PC용 브라우저와 mobile용 브라우저의 HTML5, CSS3 에 대한 지원이 상이함으로 개발, 적용 시에 주의가 필요하다. 개발 및 테스트를 위해 갤럭시S2, 갤럭시S, 갤럭시탭, iPad2, iPhone4 등의 모바일 기기와 \\ Android 기본 브라우저, Firefox, Safari, Opera Mobile 등의 모바일 브라우저를 사용하였다. === Android === 테스트 디바이스로는 갤럭시S, 갤럭시S2, 갤럭시탭을 사용하였으며,\\ 브라우저는 Android 기본 브라우저, Firefox(6.xx), Opera Mobile 브라우저를 사용하였다.\\ * Android OS 2.3 (GingerBread) : HTML5, CSS3 및 컴포넌트의 실행을 안정적으로 지원하였다. * Android OS 2.1 (Eclair), 2.2 (Froyo) : HTML5, CSS3 지원이 부족하여 컴포넌트의 UI 구현이 원할하지 못하였다. 하지만, Opera Mobile의 경우에는 색상 및 이벤트 처리에 일부 문제가 발생하여 3종지원 브라우저 대상에서 제외되었다.\\ === iOS === 테스트 디바이스로는 iPhone4, iPad2를 사용하였다. * iOS 4.2, 4.3 : 두 버전 모두 HTML5, CSS3를 비교적 원활하게 지원하였다. \\ ==== 기능 흐름도 ==== {{:egovframework:mcom:bbsoutline.jpg|}} ===== 설명 ===== 게시판 관리기능에 의해 생성된 게시판의 게시물을 사용자가 등록, 조회, 수정, 삭제 할 수 있는 기능을 제공하며, 수정 및 삭제의 경우 글을 게시한 당사자만이 수정, 삭제가 가능하다. \\ 생성된 각 게시판은 게시판 속성관리에서 지정된 유형 및 속성에 의해 다른 형태로 보여지게 된다. \\ 익명 게시판의 경우에는 작성자의 이름이 나오지 않으며, 게시글에 대한 수정 및 삭제시 비밀번호의 입력이 필요하다. \\ 갤러리 형태의 게시판은 글 생성시 첨부된 이미지 파일(BMP,JPG,GIF,PNG 포맷에 한함)을 본문에 같이 보여주는 기능을 제공한다. ==클래스다이어그램== {{:egovframework:mcom:CLD_게시판.jpg?740|}} == 관련소스 == ^유형^대상소스^비고^ |Controller|egovframework.com.cop.bbs.EgovBBSManageController.java|게시글 관리를 위한 컨트롤러 클래스| |Controller|egovframework.mbl.com.cop.bbs.EgovMblBBSManageController.java|게시글 관리를 위한 모바일 컨트롤러 클래스| |Service|egovframework.com.cop.bbs.service.EgovBBSManageService.java|게시글 관리를 위한 서비스 인터페이스| |ServiceImpl|egovframework.com.cop.bbs.service.impl.EgovBBSManageServiceImpl.java|게시글 관리를 위한 서비스 구현 클래스| |VO|egovframework.com.cop.bbs.service.Board.java|게시글 관리를 위한 모델 클래스| |VO|egovframework.com.cop.bbs.service.BoardVO.java|게시글 관리를 위한 VO 클래스| |DAO|egovframework.com.cop.bbs.service.impl.EgovBBSManageDAO.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페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovNoticeRegist.jsp|게시글 생성을 위한 모바일 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovNoticeUpdt.jsp|생성된 게시글 수정을 위한 모바일 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovNoticeList.jsp|생성된 게시글 조회를 위한 모바일 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovNoticeInqire.jsp|생성된 게시글 상세 조회를 위한 모바일 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovNoticeReply.jsp.jsp|생성된 게시글에 대한 답변을 등록하기 위한 모바일 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovGuestList.jsp|방명록 등록/조회를 위한 모바일 jsp페이지| == 관련테이블 == ^테이블명^테이블명(영문)^비고^ |게시판정보|COMTNBBS|게시물 정보를 관리| |게시판활용|COMTNBBSUSE|게시판 활용 정보를 관리| |파일속성정보|COMTNFILE|파일의 속성정보를 관리| |파일속성정보상세|COMTNFILEDETAIL|첨부파일의 상세 정보를 관리| ===== 환경설정 ===== 게시판을 사용하기 위해서는 **[[게시판관리기능|게시판 관리기능]]**에 의해 게시판이 생성되어야 하며, 시스템에서 활용되는 게시판의 경우는 **[[게시판사용기능#게시판 사용정보 등록|게시판 사용정보 등록]]**을 통해 사용되어야 한다. \\ 게시판 관리기능과 게시판 사용정보 등록기능은 웹버전의 기존 공통컴포넌트를 활용한다. ===== 사용방법 ===== ==== 게시판 유형 ==== 게시판은 다음과 같은 유형을 갖는다. ^게시판유형^설명^비고^ |일반게시판|일반적으로 사용되는 게시판| | |익명게시판|작성자의 이름이 나오지 않는 형태의 게시판| | |유효게시판|게시 기간을 지정할 수 있는 게시판| 시작일/종료일 지정| |공지게시판|공지사항을 입력 가능한 게시판| | ==== 게시물 목록조회 ==== === 비즈니스 규칙 === 검색조건을 지정하여 목록조회를 할 수 있고, 등록버튼을 클릭하여 게시물 등록 화면으로 이동하여 게시물 등록 처리를 할 수 있다. \\ 게시물에 대한 목록조회 화면은 다음과 같은 URL을 통해 접근할 수 있다. /cop/com/selectBBSUseInfs.do?bbsId=게시판ID === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |목록조회|/cop/bbs/selectBoardList.mdo|EgovMblBBSManageController|selectBoardArticles|.../cop/bbs/EgovNoticeList.jsp| 게시물 목록은 페이지 당 10건씩 조회되며 페이징은 1페이지씩 이루어진다. \\ 검색조건은 제목, 내용, 작성자를 사용한다. \\ {{:egovframework:mcom:egovnoticelist1.jpg|}}{{:egovframework:mcom:egovnoticelist2.jpg|}} 홈: 홈 화면으로 이동한다.\\ 검색: 게시물을 조회하기 위해서는 상단의 검색조건을 선택하고 해당하는 검색문자를 입력 후 조회 버튼을 클릭한다.\\ 등록: 게시물을 등록하기 위해서는 상단의 등록 버튼을 통해서 **게시물 등록** 화면으로 이동한다. \\ 목록클릭: 게시내용을 확인하기 위해 제목을 클릭하면 상세화면을 제공하는 **게시물 상세조회** 화면으로 이동한다. ---- ==== 게시물 등록 ==== === 비즈니스 규칙 === 새로운 게시물을 등록 할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |등록|/cop/bbs/addBoardArticle.mdo|EgovMblBBSManageController|addBoardArticle|.../cop/bbs/EgovNoticeRegist.jsp| 게시물의 내용을 입력한 뒤 등록 버튼을 선택하면 게시물이 등록된다. 등록이 성공적으로 처리되면 게시물 목록조회 화면으로 이동된다. \\ 게시판에 대한 유형 및 속성에 따라 게시기간, 작성자 등을 입력할 수 있다. {{:egovframework:mcom:egovnoticelist_regist.jpg|}} 뒤로: **게시물 목록조회** 화면으로 이동한다. \\ 등록: 입력한 정보들이 저장 처리된다. \\ 초기화: 입력한 정보들이 초기화된다. \\ ---- ==== 게시물 상세조회 ==== === 비즈니스 규칙 === 게시물 목록조회 화면에서 목록 클릭 시 이동되는 화면으로 게시물에 대한 상세정보를 보여준다. \\ 수정버튼을 클릭하면 게시물 수정 화면으로 이동하여 게시물 수정 처리를 할 수 있으며 삭제버튼을 클릭하면 게시물 삭제 처리를 할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |상세조회|/cop/bbs/selectBoardArticle.mdo|EgovMblBBSManageController|selectBoardArticle|.../cop/bbs/EgovNoticeInqire.jsp| 목록화면에서 제목을 선택하면 다음과 같은 상세조회화면으로 이동한다. {{:egovframework:mcom:egovnoticeinqire.jpg|}} 뒤로: **게시물 목록조회** 화면으로 이동한다. \\ 수정: 수정버튼 클릭 시 게시물을 수정할 수 있는 **게시물 수정** 화면으로 이동한다. \\ 삭제: 삭제버튼 클릭 시 삭제여부를 확인하는 메세지를 보여주고 삭제처리를 할 수 있다. 삭제처리 후 목록화면으로 이동한다.\\ 목록: **게시물 목록조회** 화면으로 이동한다. ---- ==== 게시물 수정 ==== === 비즈니스 규칙 === 등록된 기존 게시물을 수정 할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |수정|/cop/bbs/forUpdateBoardArticle.mdo|EgovMblBBSManageController|selectBoardArticleForUpdt|.../cop/bbs/EgovNoticeUpdt.jsp| 게시물의 제목과 내용 등을 변경하고 수정 버튼을 클릭하면 게시물이 수정된다. 수정이 성공적으로 처리되면 게시물 목록조회 화면으로 이동된다. \\ 게시판에 대한 유형 및 속성에 따라 게시기간, 작성자 등을 입력할 수 있다. {{:egovframework:mcom:egovnoticeupdt.jpg|}} 뒤로: **게시물 상세조회** 화면으로 이동한다. \\ 수정: 수정 입력한 정보들이 저장 처리된다. \\ 목록: **게시물 목록조회** 화면으로 이동한다. \\ ---- ==== 답글 작성 ==== === 비즈니스 규칙 === 게시글에 대한 답글을 등록할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |답글작성|/cop/bbs/addReplyBoardArticle.mdo|EgovMblBBSManageController|addReplyBoardArticle|.../cop/bbs/EgovNoticeReply.jsp| 답글 작성은 게시물 등록과 같은 방식으로 입력하여 등록한다. 답글의 내용을 입력한 뒤 등록 버튼을 클릭하면 답글이 등록된다. 답글 등록이 성공적으로 처리되면 게시물 목록조회 화면으로 이동된다. \\ 게시판에 대한 유형 및 속성에 따라 게시기간, 작성자 등을 입력할 수 있다. {{:egovframework:mcom:egovnoticereply.jpg|}} 뒤로: **게시물 상세조회** 화면으로 이동한다. \\ 등록: 입력한 정보들이 저장 처리된다. \\ 초기화: 입력한 정보들이 초기화된다. \\ ---- ===== 참고자료 ===== * 게시판 사용기능 참조(기존 웹 버전) : [[게시판사용기능|게시판 사용기능]] * 배포 및 테스트 관련 : [[egovframework:mcom:모바일 공통컴포넌트란?|모바일 공통컴포넌트란]] 및 [[모바일_배포_패키지_구성안|배포 패키지 구성안]]