Skip to content
created by Aha00aAha00a at 2026-05-24
last modified by Aha00aAha00a at 2026-05-24
revision: 1

Dev Page

1. Tables

1.1. Page

Page 테이블은 페이지 revision 원본을 저장한다.

  • 키: (site, name, revision)
  • 본문: content
  • revision 메타: dateTime, user, remoteAddress, comment, isMinorEdit
  • permRead는 더 이상 사용하지 않으며 evolution 51에서 제거했다.

최신 본문, history, diff, blame, include, search처럼 revision 원본이 필요한 경로는 Page를 직접 읽는다.

1.2. PageMeta

PageMeta 테이블은 페이지별 최신 상태 캐시다.

  • 키: (site, name)
  • revision: 최신 revision
  • dateInserted: row 생성 시각
  • dateUpdated: 계산 완료 시각
  • image: 대표 이미지
  • size: 최신 revision의 content length

PageMeta.permRead도 evolution 51에서 제거했다. 읽기 권한 판정은 Permission 기반으로 처리한다.

2. Calculation

페이지 계산 시 PageLogic.calculate가 최신 Page를 읽고 PageMeta.upsert를 수행한다.

대표 이미지는 다음 순서로 선택한다.

  • #!Schemaimage 또는 logo
  • 업로드된 Attachment
  • [[Image(...)]]
  • [[Attachment(...)]]

이미지가 없으면 NULL로 저장하고 렌더링/API 쪽에서 기본 이미지를 사용한다.

3. Read Paths

페이지 이름 목록과 최신 페이지 목록/size는 PageMeta 기반 캐시를 사용한다.

  • AhaWikiCache.PageMeta.SeqPageName
  • AhaWikiCache.PageMeta.SeqPageLatestSummary
  • ContextSite.setPageName
  • ContextSite.seqPageByPermission
  • Admin Page 목록과 재계산 대상 선택

페이지 생성, 수정, 삭제, rename 시 관련 PageMeta row와 캐시를 갱신하거나 무효화한다.

4. See Also

4.2. Similar Pages

Similar pages by cosine similarity. Words after page name are term frequency.

  • Same Wiki
    • 42.84% Dev WebSocket page(17:42), updated(1:26), 페이지(5:20), wiki(2:13), name(4:8), 최신(6:6), revision(6:5), site(4:5), 권한(1:7), date(3:3)
    • 36.57% Dev Attachment page(17:14), attachment(2:20), 페이지(5:11), name(4:10), 삭제(1:10), content(2:7), seq(3:6), site(4:4), date(3:5), 이미지(1:6)
    • 35.27% Dev Cache cache(2:45), page(17:17), site(4:29), aha(2:31), wiki(2:30), seq(3:20), meta(8:8), 삭제(1:14), 페이지(5:7), permission(2:7)
    • 35.18% Api api(1:85), page(17:29), 페이지(5:19), revision(6:18), name(4:18), wiki(2:15), edit(1:16), minor(1:16), aha(2:14), content(2:12)
    • 32.98% HotKey page(17:8), 페이지(5:1), aha(2:3), edit(1:4), wiki(2:2), comment(1:1), history(1:1), rename(1:1), minor(1:1), blame(1:1)
    • 31.89% MacroPageCount page(17:2), 페이지(5:2), wiki(2:1), 관련(1:1)
    • 31.74% Dev SisterWiki site(4:47), page(17:13), name(4:7), wiki(2:9), meta(8:2), 사용한다(2:6), 최신(6:2), 대상(1:6), cache(2:4), 이름(1:4)
  • Sister Wikis
    • 39.62% Aha00a:ProjectAhaWiki page(17:7), name(4:16), revision(6:12), content(2:5), time(1:6), wiki(2:3), aha(2:2), remote(1:2), address(1:2), comment(1:2)
    • 32.09% Aha00a:RecentChanges page(17:3), revision(6:1), name(4:1), date(3:1), include(1:2), api(1:2), minor(1:2), wiki(2:1), comment(1:1), address(1:1)

4.3. Adjacent Pages

Control
≤ 32
all
1.0x
1.0x
80
-120
ON
Metrics
Nodes(visible/total)0/0
Links(visible/total)0/0
Avg degree0.00
Depth coverage0
Queue(fetch/graph)0 / 0
Zoom(scale)1.00x
Ctrl/⌘ + Scroll: Zoom
Root 1-hop 2-hop+