고운플랫폼 / 사용자 매뉴얼 / 데이터 구조와 콘텐츠의 표현

소프트

고운플랫폼 / 사용자 매뉴얼 / 데이터 구조와 콘텐츠의 표현

리치 앱

사용자 매뉴얼 > 내용보기

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

제목 : 데이터 구조와 콘텐츠의 표현

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

1. 트리구조

고운플랫폼에서 다큐워크를 사용하여 게시된 콘텐츠를 통해 기본적인 기능을 살펴보면, 널리 알려진 블로그 등의 게시판의 형태와 크게 다르지 않습니다.

다른 구현들과 마찬가지로 다큐워크의 문서들도 트리구조를 갖는 데이터베이스에 저장됩니다.

데이터베이스에 트리구조를 유지하는 것은 결코 쉽지 않습니다. Oracle, MSSQL과 같이 계층구조 쿼리(Hierarchical Queries)를 SQL 수준에서 사용할 수 있는 경우도 있지만, 그렇지 않은 DBMS도 많습니다. 계층구조 쿼리가 있다 하더라도, 이것을 게시판과 같은 애플리케이션에 사용하는것은 심사숙고 해야 합니다. 왜냐하면, 쿼리는 트리의 각 노드 탐색을 위해 재귀적으로 실행될 것이기 때문입니다.

관계형 데이터베이스 애플리케이션에서 "엔티티의 집합" 개념은 간과하는 실수는 절대로 있어서는 안됩니다. 데이터의 검색조건에 해당되는 인덱스를 사용하여 한꺼번에 신속히 읽을 수 있어야 합니다.

트리구조 게시판에서 각각의 노드는, 토론의 참가자가 작성한 단일 문서를 표현하는 것이 일반적입니다. 다큐워크는 이러한 것 뿐만 아니라, 뷰의 개발에서 트리를 보는 관점을 달리하면 전혀 새로운 애플리케이션의 표현이 가능 하다는 것에 주목했습니다.

Usecase는 고운플랫폼에 포함된 컴포넌트 사용의 예를 보여주는 프로젝트 입니다. 이것의 홈 페이지는 콘텐츠 중심의 MVC 컴포넌트로 구성되어 있는데, 인증과 메뉴를 제외한 나머지 모두 다큐워크로 구성된 것 입니다.

2. 콘텐츠의 표현

다큐워크에서 "시작글"은 트리구조의 절대적인 시작노드(root node)이고, 하위글 역시 상대적인 시작노드가 될 수 있습니다. 이 때문에, 단일 다큐워크 데이터원본은 서로다른 주제를 가지는 여러개의 게시판 표현이 가능합니다. 다음과 같은 경우 입니다.

  • 주제별 토론
  • 미디어 앨범

트리구조의 일 부분 또는 전체를 단일의 콘텐츠로 가정하여 상세페이지를 구성할 수 있습니다. 이 방법으로, 협업하에 작성된 개별문서를 병합하여 하나의 문서로 출판할 수 있는데, 전 세계의 수 많은 개발자들이 참고하는 http://stackoverflow.com/를 흉내내는 것도 가능합니다.

이외에도 디렉토리, 카테고리 등 트리구조의 개념을 갖는 콘텐츠 중심의 애플리케이션이 필요한 경우, 개발을 착수하기 앞서 다큐워크의 사용 가능성에 대하여 깊이 생각해 봐야 합니다. 대 부분은 뷰를 위한 JSP 작성만으로 해결될 것입니다.