고운플랫폼 / 사용자 매뉴얼 / 개발자를 위한 컴포넌트

소프트

고운플랫폼 / 사용자 매뉴얼 / 개발자를 위한 컴포넌트

리치 앱

사용자 매뉴얼 > 내용보기

 
목록 | 맨 위로 | 위로 | 아래 | 이전 | 다음

제목 : 개발자를 위한 컴포넌트

글쓴이: 고운플랫폼 | 게시한 날짜: Thu May 18 14:46:48 KST 2017
| 글 날짜: Sun Aug 07 00:00:00 KST 2016 | 열람수: 0 | 추천수: 0 | 비난수: 0

다큐워크는 트리구조를 갖는 문서나 콘텐츠를 위한 컴포넌트들의 집합입니다.

이들 컴포넌트는 콘텐츠의 표현에 주로 사용되는 MVC 콘트롤러와 문서의 작성과 관리를 위한 리치 앱 컴포넌트가 있습니다.

1. 주요 키

데이터베이스에서 DOCU_NO, PARENT_NO, START_NO, NODE_NO 필드는 노드간의 관계를 규정하는데, 이들은 URL에서 각각 docu, parent, start, node로 표시합니다. DOCU_NO는 노드 각각을 식별하고, START_NO, NODE_NO는 트리구조를 표현합니다.

이들 주요 키는, 다큐워크를 구성하는 컴포넌트에서 어떻게 사용하느냐에 따라 콘텐츠의 표현이 달라질 수 있습니다.

2. MVC 콘트롤러

다큐워크에서 MVC 콘트롤러는 DocuListController, DocuDetailController, DocuFileListController가 있습니다.

이들은 모두 SourceBasedController로 부터 파생되었기 때문에, 구성된 페이지의 실행에는 사용자의 역할권한에 대한 검사가 이루어집니다.

하나의 페이지는 여러개의 뷰로 구성될 수 있는데, 역할권한검사는 각각의 뷰와 연관된 콘트롤러마다 개별적으로 수행되고, 만약 권한이 부족한 경우 뷰은 권한이 없음을 표시 할 것입니다.

DocuDetailControllerDocuListController를 직접 상속하고 있는데, 사실 두 클래스는 동일합니다. 페이지의 구성에서 DocuListController를 사용하면 목록권한이, DocuDetailController상세권한이 적용되며, 뷰를 위한 데이터모델에는 HTML로 포멧팅된 본문, 연관된 콘텐츠의 제목 및 첨부파일 등이 동반됩니다.

고운플랫폼에서 DetailController는, 대 부분의 경우 그것의 ListController를 확장하므로, ListController를 사용해야 하는 경우에 DetailController를 사용해도 동일한 결과를 얻은 수 있습니다. 하지만 DetailController는 더 많은 테이블과 조인될 수 있고, 사용자의 데이터 접근기록을 위해 더 많은 시스템 자원을 소모합니다.

콘트롤러의 동작은 데이터원본의 설정, 페이지의 구성, URL의 파리미터의 값의 적용 순으로 실행조건이 결정됩니다. 콘트롤러 구성과 사용에 대한 자세한 사항은 컴포넌트 참조를 참고하고, 여기에서는 URL의 질의문자열(query string)에 사용되는 주요 파라미터에 대해서만 간략히 설명합니다.

URL의 질의문자열에서 docu, parent, start는 함께 사용될 수 없습니다. docu는 데이터원본 전체에서 단일의 문서를 얻고 나머지는 문서의 집합을 얻습니다.

parent는 이것에 명시한 것과 그것의 자식목록을 얻습니다. 예외적으로 parent의 값이 0(zero)인 경우에는 시작글의 목록을 얻습니다.

start는 이것에 명시한 것과 그것의 모든 후손목록을 얻습니다. startnode와 함께 사용되는데, node가 생략되면 그 값은 0(zero)로 간주합니다.

DocuFileListController는 문서에 첨부된 파일의 목록이 필요한 경우 사용합니다. Usecase의 홈 페이지에 있는 "사진 앨범"과 "동영상 앨범"의 섬네일 이미지 목록이 이것입니다. 여기에서는 상세권한이 있는 경우 해당 파일이 첨부된 문서의 본문으로 이동합니다.

3. 리치 앱

문서의 작성과 관리에 관한 모든 기능은 리치 앱 컴포넌트로 구현되어 있습니다.