====== 협업 - 스크랩 기능 ====== ===== 개요 ===== **스크랩 기능** 서비스는 사용자가 선택하여 등록한 여러 게시판의 특정 글들을 한 곳에 모아 조회할 수 있는 기능을 제공한다. \\ 스크랩기능은 **[[게시판관리]]** 기능을 기반으로 운영되며, 게시판관리 기능에서 게시판 생성시 게시판 추가기능을 활성화시킨 경우는 댓글 관리, 스크랩 기능을 추가로 사용할 수 있다.\\ 각 게시판의 게시글 하단에 있는 스크랩 버튼을 누르면 스크랩 등록 페이지로 이동하고 스크랩명을 입력 후 저장하면 사용자의 스크랩 게시판에 등록된다.\\ 스크랩 등록 시에는 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**가 사용된다.\\ ==== 지원대상 ==== 본 컴포넌트는 모바일 디바이스에서 사용 가능한 브라우저를 대상으로 개발 및 테스트를 완료하였으며 \\ 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:mscrapoutline.jpg|}} ===== 설명 ===== 스크랩 기능은 크게 **스크랩 등록**, **스크랩 목록조회**, **스크랩 상세조회**, **스크랩 수정** 기능으로 구성되어 있다. \\ 스크랩 환경설정 부분의 옵션을 추가하면 일반 게시판, 익명 게시판, 유효 게시판, 공지 게시판에서 스크랩 기능을 사용할 수 있다.\\ == 클래스다이어그램 == {{:egovframework:mcom:CLD_스크랩.jpg?740|}} == 관련소스 == ^유형^대상소스^비고^ |Controller|egovframework.com.cop.bbs.web.EgovBBSScrapController.java|스크랩기능을 위한 컨트롤러 클래스| |Controller|egovframework.mbl.com.cop.bbs.web.EgovMblBBSScrapController.java|모바일 스크랩기능을 위한 컨트롤러 클래스| |Service|egovframework.com.cop.bbs.service.EgovBBSScrapService.java|스크랩기능을 위한 서비스 인터페이스| |ServiceImpl|egovframework.com.cop.bbs.service.impl.EgovBBSScrapServiceImpl.java|스크랩기능을 위한 서비스 구현 클래스| |VO|egovframework.com.cop.bbs.service.Scrap.java|스크랩기능을 위한 모델 클래스| |VO|egovframework.com.cop.bbs.service.ScrapVO.java|스크랩기능을 위한 VO 클래스| |DAO|egovframework.com.cop.bbs.service.impl.BBSScrapDAO.java|스크랩기능을 위한 데이터처리 클래스| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovScrapList.jsp|스크랩기능을 위한 목록조회 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovScrapRegist.jsp|스크랩기능을 위한 등록 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovScrapDetail.jsp|스크랩기능을 위한 상세조회 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovScrapUpdt.jsp|스크랩기능을 위한 수정 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/com/cop/bbs/EgovScrapMainList.jsp|스크랩기능을 위한 [[마이페이지]] jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovScrapList.jsp|스크랩기능을 위한 목록조회 모바일용 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovScrapRegist.jsp|스크랩기능을 위한 등록 모바일용 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovScrapDetail.jsp|스크랩기능을 위한 상세조회 모바일용 jsp페이지| |JSP|/WEB-INF/jsp/egovframework/mbl/com/cop/bbs/EgovScrapUpdt.jsp|스크랩기능을 위한 수정 모바일용 jsp페이지| |Query XML|resources/egovframework/sqlmap/com/cop/bbs/EgovBBSScrap_SQL.xml|스크랩기능을 Query 파일| == 관련테이블 == ^테이블명^테이블명(영문)^비고^ |스크랩|COMTNSCRAP|스크랩 정보를 관리| ===== 환경설정 ===== 본 스크랩기능을 포함한 [[모바일댓글_관리|댓글 관리]] 를 사용하기 위해서는 globals.properties 속성 파일에 추가 속성을 설정하여야 한다. globals.properties에 관련된 내용은 [[요소기술 프로퍼티 및 명령어 쉘스크립트]] 부분을 참조한다. ==== 관련 설정 사항 ==== * Globals.addedOptions 추가 ... # 2단계 게시판 추가 기능 (댓글, 만족도조사, 스크랩) Globals.addedOptions = true ... 참고로 위 설정이 없는 경우도 운영에 문제가 되지 않도록 구축되어 있다. 위와 같이 설정이 추가되면 일반 게시판, 익명 게시판, 유효 게시판, 공지 게시판의 게시글에 스크랩을 등록할 수 있는 기능버튼이 나타난다. * ID Generation Service에서 사용할 테이블 및 필드 생성 * 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('SCRAP_ID','0'); * ID Generation Service의 경우 context-idgen.xml(예시)에 다음과 같은 설정을 추가한다. ===== 사용방법 ===== ==== 스크랩 등록 ==== === 비즈니스 규칙 === 사용자가 선택한 게시글에 대해 스크랩 등록 처리를 할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |등록|/mbl/com/cop/bbs/insertScrap.mdo|EgovMblBBSScrapController|insertScrap|.../mbl/com/cop/bbs/EgovScrapRegist.jsp| 스크랩의 등록을 위해 스크랩기능이 설정된 일반 게시판, 익명 게시판, 유효 게시판, 공지 게시판의 게시물 상세조회 화면에 스크랩 버튼을 제공한다.\\ {{:egovframework:mcom:egovscrap_scrapbutton.jpg|}} 스크랩: 스크랩을 등록할 수 있는 **스크랩 등록** 화면으로 이동한다. \\ 게시글에서 스크랩 버튼을 선택하면 다음과 같이 스크랩 등록 화면으로 이동한다.\\ {{:egovframework:mcom:egovscrapregist.jpg|}} 정상적으로 등록이 되면 스크랩 목록조회 화면으로 이동한다. 뒤로: **게시물 상세조회** 화면으로 이동한다. \\ 등록: 입력한 정보들이 저장 처리된다. \\ ---- ==== 스크랩 목록조회 ==== === 비즈니스 규칙 === 스크랩 목록조회 화면은 현재 사용자가 등록한 스크랩에 대한 목록을 제공한다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === ^기능^URL^Controller^method^화면(JSP)^ |목록조회|/mbl/com/cop/bbs/selectScrapList.mdo|EgovMblBBSScrapController|selectScrapList|.../mbl/com/cop/bbs/EgovScrapList.jsp| 스크랩 목록은 페이지당 10건씩 조회되며 페이징은 1페이지씩 이루어진다. \\ {{:egovframework:mcom:egovscraplist1.jpg|}}{{:egovframework:mcom:egovscraplist2.jpg|}} 홈: 홈 메뉴로 이동한다.\\ 검색: 스크랩을 조회하기 위해서는 상단의 검색조건을 선택하고 해당하는 검색문자를 입력 후 검색 버튼을 클릭한다.\\ 목록클릭: 게시내용을 확인하기 위해서는 제목을 선택하면 상세화면을 제공하는 **스크랩 상세조회** 화면으로 이동한다. ---- ==== 스크랩 상세조회 ==== === 비즈니스 규칙 === 스크랩 목록조회 화면에서 목록 클릭 시 이동되는 화면으로 게시물에 대한 상세정보를 보여준다. \\ 수정버튼을 클릭하면 스크랩 수정 화면으로 이동하여 스크랩 수정 처리를 할 수 있고, 삭제버튼을 클릭하면 스크랩 삭제 처리를 할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === 스크랩 상세조회 화면은 스크랩에 정보(제목)뿐만 아니라 해당 게시글에 대한 전체 정보를 제공한다. 해당 게시글에 정보가 변경된 경우 스크랩 상세조회에 나오는 내용도 변경이 된다. ^기능^URL^Controller^method^화면(JSP)^ |상세조회|/mbl/com/cop/bbs/selectScrap.mdo|EgovMblBBSScrapController|selectScrap|.../mbl/com/cop/bbs/EgovScrapDetail.jsp| {{:egovframework:mcom:egovscrapdetail.jpg|}} 뒤로: **스크랩 목록조회** 화면으로 이동한다. \\ 수정: 수정버튼 클릭 시 스크랩을 수정할 수 있는 **스크랩 수정** 화면으로 이동한다. \\ 삭제: 삭제버튼 클릭 시 삭제여부를 확인하는 메세지를 보여주고 삭제처리를 할 수 있다. 삭제처리 후 스크랩 목록화면으로 이동한다. 원래의 게시글 정보는 삭제되지 않는다.\\ 목록: **스크랩 목록조회** 화면으로 이동한다. ---- ==== 스크랩 수정 ==== === 비즈니스 규칙 === 스크랩에 대한 수정 처리를 할 수 있다. === 관련코드 === N/A === 관련화면 및 수행매뉴얼 === 스크랩에 대한 수정은 스크랩 자체 정보(제목)에 대한 수정 기능만을 제공한다.\\ ^기능^URL^Controller^method^화면(JSP)^ |수정|/mbl/com/cop/bbs/updateScrap.mdo|EgovMblBBSScrapController|updateScrap|.../mbl/com/cop/bbs/EgovScrapUpdt.jsp| {{:egovframework:mcom:egovscrapupdt.jpg|}} 뒤로: **스크랩 상세조회** 화면으로 이동한다. \\ 수정: 수정 입력한 정보들이 저장 처리된다. \\ 목록: **스크랩 목록조회** 화면으로 이동한다. \\ ---- ===== 참고자료 ===== * 스크랩 기능 참조(기존 웹 버전) : [[스크랩 기능]] * 배포 및 테스트 관련 : [[egovframework:mcom:모바일 공통컴포넌트란?|모바일 공통컴포넌트란]]및 [[모바일_배포_패키지_구성안|배포 패키지 구성안]]