This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. The development, release, and timing of any products, features, or functionality may be subject to change or delay and remain at the sole discretion of GitLab Inc.
Status Authors Coach DRIs Owning Stage Created
proposed -

이 문서는 진행 중인 작업이며 Cells 디자인의 매우 초기 단계를 나타냅니다. 중요한 측면은 문서화되지 않았지만, 향후 추가할 예정입니다. 이는 Cells의 한 가능한 아키텍처이며, 이를 구현할 접근 방법을 결정하기 전에 대안과 대조할 계획입니다. 이 접근 방법을 선택하지 않기로 결정한 경우, 선택한 이유를 문서화하기 위해 이 문서는 유지될 것입니다.

Cells: Explore

현재 GitLab의 기능으로는 Explore이 크게 중요한 역할을 하지 않을 수 있지만, 현재의 GitLab은 고립되어 있지 않습니다. 고립이라는 것이 Explore 또는 어떤 적합한 대체품이 필요한 이유입니다.

기존의 그룹 및 프로젝트 탐색은 초기에는 조직으로 범위가 설정될 것입니다. 그러나 공개 그룹 및 프로젝트의 발견 가능성을 지원하기 위해 조직 간에 횡단하는 전역 탐색이 필요합니다. 특히 오픈 소스 프로젝트의 발견을 위한 맥락에서 특히 중요합니다. 사용자 피드백은 여기여기에서 확인할 수 있습니다.

1. 정의

탐색 기능은 사용자가 그룹 및 프로젝트를 발견하는 데 도움을 줍니다. 인증되지 않은 사용자는 공개 그룹 및 프로젝트만 탐색할 수 있으며, 인증된 사용자는 액세스할 수 있는 모든 그룹 및 프로젝트를 볼 수 있습니다. 이에는 비공개 및 내부 그룹 및 프로젝트도 포함됩니다.

2. 데이터 흐름

3. 제안

탐색 기능 문제는 셀 간 통신 해결의 전반적인 유산 아래에 있습니다. 이 주제는 더 심층적인 연구가 필요합니다.

추가 조사를 위한 가능한 방향은 아래와 같습니다.

3.1. 읽기 전용 테이블 미러

  • 공유 클러스터 전역 데이터베이스에 shared_projects 테이블을 생성합니다.
  • 이 테이블의 모델은 읽기 전용입니다. 삽입/업데이트/삭제가 허용되지 않습니다.
  • 테이블은 프로젝트 셀 지역 테이블에서 데이터(또는 일부 데이터)를 채웁니다.
    • 셀 지역 모델인 프로젝트(즉, Cell-local)은 로컬 데이터베이스에 기록합니다. 주로 이 모델을 셀 지역에서 사용합니다.
    • 이 데이터는 변경 사항이 있는 경우 백그라운드 작업을 통해 shared_projects로 동기화됩니다.
    • shared_projects의 데이터는 표시할 프로젝트 탐색에 필요한 모든 정보가 정규화되어 저장됩니다.
  • 프로젝트 탐색(현재)은 인스턴스 전체 기능의 일부이며, 어떠한 조직/그룹에 속한 것이 아니기 때문에 데이터 모델의 읽기 모델을 사용하여 데이터를 읽을 것입니다.
  • 사용자가 프로젝트를 클릭하면 해당 프로젝트가 포함된 셀로 리디렉션됩니다.

단점:

  • 인스턴스 전역 데이터에 액세스하는 명확한 패턴이 있어야 합니다. 그러나 이는 관리 기능에 유용할 수도 있습니다.
  • 프로젝트 탐색이 오늘날보다 풍부한 기능을 갖추지 못할 수 있습니다(다양한 필터링 옵션, 프로젝트에 대한 역할 등).
  • CQRS를 관리하는 데 추가 복잡성이 있습니다.

3.2. 조직으로 범위 설정된 탐색

프로젝트 탐색 및 그룹 탐색은 조직으로 범위가 설정됩니다.

단점:

  • 그룹 및 프로젝트의 전역 발견 기능이 없습니다.

4. 평가

기존의 그룹 및 프로젝트 탐색은 초기에는 조직으로 범위가 설정될 것입니다. 탐색 기능의 현재 사용을 고려하면, 이는 우리가 수용 가능하다고 판단합니다. 모든 기존 사용자, 그룹 및 프로젝트가 초기에는 기본 조직의 일부이므로 그룹 및 프로젝트는 현재와 같이 탐색 가능하고 접근 가능할 것입니다. 기존 그룹 및 프로젝트가 기본 조직에서 다른 조직으로 이동할 때에만 이것이 눈에 띄는 문제가 될 것입니다. 이에 대한 완화 방안은 이슈 #418228에서 논의됩니다. 궁극적으로, Explore는 전체적으로 더 나은 검색 경험으로 대체될 수 있습니다.

4.1. 장점

4.2. 단점

  • GitLab 소유의 최상위 그룹은 그들 자신의 조직으로 이동되며 기본 조직의 탐색 가능성에서 분리될 것입니다.