Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

포스트 구조에 대한 논의 #1

Open
wesky93 opened this issue Mar 21, 2018 · 1 comment
Open

포스트 구조에 대한 논의 #1

wesky93 opened this issue Mar 21, 2018 · 1 comment

Comments

@wesky93
Copy link
Member

wesky93 commented Mar 21, 2018

다양한 포맷을 정형적으로 담을수 있는 모듈식 포스트에 대해 구체적인 논의
용어 정리가 필요합니다
포스트 구조를 표현할 명칭 추천 받습니다.

  • 카드 목록형 포스트
  • 모듈식 포스트
  • 블럭형 포스트

모듈식 포스트는 아래 두가지 목적을 달성하기 위해 생각하게 됬습니다

  • 각 컨텐츠의 유형이 가지는 고유한 특징을 어디서 보더라도 잘 표현 되어야 한다.
  • 다양한 유형의 컨텐츠들이 언제든지 확장될수 있는 구조여야 한다.

모듈식 포스트의 구조는 두가지중 하나가 좋을거 같습니다

  1. 모듈 -> 포스트
    각 모듈은 포스트에 대해 단일 인덱싱으로 표현됩니다.
    가장 단순한 구조입니다.

  2. 모듈 -> 단락 -> 포스트
    모듈은 최소단위로서 개별 컨텐츠를 표현합니다.( html, 단순 텍스트, 마크다운, 영상, 코드 문서, QA)
    단락은 위 모듈을 의미론적으로 분리하는 것으로 추후 디자인에서 단락별 효과를 부여하거나 광고를 삽입하는등 다양하게 활용 할수 있습니다. 다만 관계구조가 복잡하여 최적의 쿼리를 위한 테이블 설계가 필요합니다.

모듈식 포스트는 아래 서비스들에서 영감을 얻었습니다.

  1. 드롭박스 페이퍼

2018-03-21_11-58-31

2. 컨플루언스 단락, 매크로

image

  • 컨텐츠를 고유의 모습으로 표현하는 부분은 컨플루언스의 매크로에서 많은 영감을 얻었습니다. 다만 컨플루언스의 매크로는 html로 생성되기에 다양한 플랫폼에서 보여주기에는 구조적으로 어려움이 많아 아예 분리 하는 방향으로 가닥을 정했습니다. 다만 컨플루언스의 매크로처럼 누구나 손쉽게 컨텐츠 유형을 확장할수 있게 하려 합니다.
  • 단락은 의미론적으로 매크로를 구분짓는다는 개념에서 영감을 얻었습니다. 아무리 모듈식으로 보여주려 한들 포스트는 본래 여러 단락과 문맥으로서 표현되기에 이를 디자인에서 표현하기위한 구조로 모듈 -> 단락 -> 포스트 구조를 떠올렸습니다.
  1. Quiver
    image
  • 퀴버는 개발자용 오프라인 노트북으로 개발자의 성향에 맞게 3가지 블럭으로 노트를 작성 할수 있게 합니다.
    이는 다양한 사용자가 자신의 취향에 맞춰 노트북을 작성할수 있도록 도와줍니다.

기술적 구현 방안

  • 장고의 Generic relations을 이용하여 여러 콘텐츠 타입이 인덱식으로 하나의 포스트를 표현
    장점 : 손쉽게 다양한 모듈을 추가할 수 있음
    단점 : 쿼리 최적화가 힘듦

위 사항들은 초안으로서 모든 사항들에 대해 완전히 오픈하여 댓글을 통해 논의를 진행하면 어떨까 싶습니다.

@U-lis
Copy link

U-lis commented Mar 21, 2018

roadmap 입니다 오타 자제요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants