Page 테이블은 페이지 revision 원본을 저장한다.
(site, name, revision)contentdateTime, user, remoteAddress, comment, isMinorEditpermRead는 더 이상 사용하지 않으며 evolution 51에서 제거했다.최신 본문, history, diff, blame, include, search처럼 revision 원본이 필요한 경로는 Page를 직접 읽는다.
PageMeta 테이블은 페이지별 최신 상태 캐시다.
(site, name)revision: 최신 revisiondateInserted: row 생성 시각dateUpdated: 계산 완료 시각image: 대표 이미지size: 최신 revision의 content lengthPageMeta.permRead도 evolution 51에서 제거했다. 읽기 권한 판정은 Permission 기반으로 처리한다.
페이지 계산 시 PageLogic.calculate가 최신 Page를 읽고 PageMeta.upsert를 수행한다.
대표 이미지는 다음 순서로 선택한다.
#!Schema의 image 또는 logoAttachment[[Image(...)]][[Attachment(...)]]이미지가 없으면 NULL로 저장하고 렌더링/API 쪽에서 기본 이미지를 사용한다.
페이지 이름 목록과 최신 페이지 목록/size는 PageMeta 기반 캐시를 사용한다.
AhaWikiCache.PageMeta.SeqPageNameAhaWikiCache.PageMeta.SeqPageLatestSummaryContextSite.setPageNameContextSite.seqPageByPermission페이지 생성, 수정, 삭제, rename 시 관련 PageMeta row와 캐시를 갱신하거나 무효화한다.
Similar pages by cosine similarity. Words after page name are term frequency.