r88
r35
1[[분류:the seed]][[분류:the tree]]{{{#!if ms='style="display: inline; font-family: monospace;"', bean='double space', bl='차단 내역 숨김'
r86
2}}}[Include(틀:the seed/둘러보기)]
r1
3[목차]
4== 개요 ==
r54
5본 문서는 [[the tree]]엔진과 [[the seed]]엔진의 기술적인 차이점을 적어놓은 문서이다. the tree엔진은 the seed의 기본적인 구조를 구현하되 편의적인 기능을 하나씩 추가해나가고 있어 the seed 엔진과 차이가 있다.
r82
6경우에 따라 피드백을 [[더시드포럼|the seed forum]]에든 [[https://github.com/wjdgustn/thetree/issues|the tree issue tracker]]에든 제시함으로써 상호 업데이트가 필요한 내역으로 이용될 수도 있다.
r1
7== 권한 ==
r80
8 * [[disable_two_factor_login]], grant_hidelog[*@bl@ 차단내역에 기록(log)이 표시되지 않는 권한], login_history_hidelog[*@bl@], batch_revert_hidelog[*@bl@], engine_developer 권한이 추가로 존재한다.
9 * the seed에는 [[member]] 권한을 회수할 수 있지만 the tree에는 제시된 grant를 통한 인터페이스만 보면 member 권한 회수가 불가능하다.
r75
10
r69
11== [[네임스페이스|이름공간]] ==
12 * 공통적으로 {{{문서}}}, {{{틀}}}, {{{분류}}}, {{{파일}}}, {{{사용자}}}, {{{삭제된사용자}}} 이름공간이 기본으로 탑재되어 있다.
r12
13 * the tree에는 기본값으로 the seed와 다르게 {{{토론}}}, {{{투표}}}, {{{특수기능}}}, {{{시스템}}}이 탑재되어 있지 않다.
r48
14 * the seed는 이름공간을 추가하려면 서버에 접근해야 하지만, the tree는 config 권한으로 추가할 수 있다.
r75
15
r19
16== 네비게이션 바 ==
17 * 최근 변경 : the tree에는 최근 변경 중 전체 내역에서 사용자 문서 변경내역을 보기/숨기기{{{#gray (기본값:숨기기)}}} 기능을 이용하여 사용자 문서를 포함한 문서 전체의 최근 변경 내역을 볼 수 있다.
r20
18 * RandomPage : 기능은 동일하게 무작위로 출력된다. 그러나 목록을 뽑는 방식에서 차이가 있다. the seed는 문서 수가 0개인 경우를 제외하고는 중복을 포함하여 무조건 --내 손에 쥘 패를-- 20개가 될 때까지 뽑지만, the tree에는 중복이 배제된다. 문서 수가 20개 미만인 네임스페이스를 대상으로 새로 목록을 뽑을 때마다 순서만 바뀌어 나온다.
r25
19 * 차단 내역(BlockHistory) : 기능은 동일하다. the tree에는 ACL 그룹에 등록, ACL 그룹에서 제거, 권한 설정, 로그인 내역 조회, 일괄 되돌리기의 기록만을 골라 볼 수 있는 분류 기능이 추가되어 있다. [[aclgroup_hidelog]]으로 숨겨진 기록은 두 엔진 공통적으로 당연히 안 보인다.
r75
20
r1
21== 문법 ==
r2
22=== 공통점 ===
23 * \{{{ \}}} 계열 문법 : 다음 문법은 공통적으로 지원된다.
r22
24 * -5, -4, ... , +4, +5 의 글자 크기
25 * #color,#color 로 글자 색상 주기
r2
26 * #!wiki style=""을 이용한 css
r83
27 * #!if 문법. 연계되는 기능 없이 일부만.
r2
28 * #!html 문법
29 * #!syntax 문법
r22
30
r2
31=== 차이점 ===
r42
32 * the seed에 구현되지 않은 문법이 존재한다.
r60
33##)]
r26
34 * {{{#!wiki @ms@
r1
35\[vote({{{#green,#green 제목}}}, {{{#teal,#teal 선택지1}}}, {{{#teal,#teal 선택지2}}}, {{{#teal,#teal 선택지3}}}, ... )\]}}} 문법으로 설문조사 또는 투표를 할 수 있다. ---[[투표:???]]---
r60
36##)]
r68
37
38 토론 스레드에서만 사용할 수 있으며 댓글 추가가 허용되지 않는 조건에서는 투표가 반영되지 않는다. 그리고 질문지와 선택지에 text-align 등 일부 종류를 제외하고 wiki style 을 이용한 CSS 문법을 쓸 수 있으며, 링크 문법도 지원된다. 반점({{{,}}})을 텍스트로 나오게 할 곳은 텍스트 처리로 나오게만 해주면 문법이 깨지지 않게 충분히 긴 문장도 넣을 수 있다.
r1
39
r39
40 * the tree에 구현되지 않은 문법이 존재한다.
41 * 기본적인 글자 강조 표현 문법에 소소한 차이점이 있지만 문서를 편집하고 읽기에 큰 문제되는 부분은 없다. 기본적인 글자 강조 표현으로 쓰이는 문법은 양쪽에 같은 기호를 2개씩 연속으로 쓰면 동작되는데 the seed에는 3개를 연속으로 쓰더라도 동작되지만 the tree에는 3개가 인식되지 않는다.
42 이를테면 {{{#!wiki @ms@
r3
43\^\^\^윗첨자\^\^\^}}}, {{{#!wiki @ms@
r4
44\,\,\,아랫첨자\,\,\,}}}, 등등은 the seed에서는 정상적으로 나오는데 the tree에서는 2개까지만 읽기 때문에 {{{#!wiki @ms@
r3
45\^\^\^윗첨자\^\^\^}}}는 {{{#!wiki @ms@
46{{{#orange \^\^}}}\^윗첨자{{{#orange \^\^}}}\^}}}처럼 인식되어 {{{#!wiki @ms@
r4
47^^\^윗첨자^^\^}}}로 나온다. 단, {{{#!wiki @ms@
48\'\'\'볼드체\'\'\'}}}는 정상적으로 인식된다.
r72
49 * if 문법 중 the tree는 다음 문법이 지원되지 않는다.
50 * 등호 1개로 만드는 변수값 정의 또는 재정의(예 : 변수=값)
r74
51 * {{{#!if 설명서='if 문법으로 변수=값 으로 정의한 변수를 @변수@ 식으로 호출하는 방법도 마찬가지로 지원되지 않는다.'
52}}}@설명서@
r71
53 * {{{#!if "0"[0]>0
54"문자열"[index]를 프로그래밍용 정수값으로 불러오는 문법 ([[https://feedback.theseed.io/posts/1604/string-prototype-charcodeat-meseodeu-heoyong|참고]]{{{-3 ^^더시드포럼^^}}}) }}}
55 * {{{#!if "더"[0]==0xb354
56문자의 0x○○○○식 유니코드 16진법 계산.}}}
57 * indexOf, lastIndexOf, substring, substr 등 the seed에 지원되는 문자열 메서드(method)가 the tree에는 지원되지 않는다.
58 관련 문서 : [[https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String|Mozilla MDN Web Docs, JavaScript/Reference/Global_Objects/String]]
r79
59 * --the tree에는 [[틀:구 계산기]]를 돌릴 수 있으나 [[틀:구 계산기2]]는 못 돌린다.--
r75
60
r1
61== ACL ==
r21
62the tree에 다음과 같은 기능이 더 추가되어 있다.
r1
63 * the seed 구버전 같이 네임스페이스만이 아니라 문서에 읽기 ACL을 걸 수 있다.[* {{{#gray,#gray ''(insert,read,deny,perm:any으로 ACL 변경)''}}}]
r87
64 [[위키운영]] 같은 보안 문서가 있다면 문서의 read ACL에 perm:any를 허용시키는 규칙을 넣는 등 고의로 노출시키는 트롤링을 잘 막아야 한다.
r55
65 * 토론 ACL이 있다. 스레드에 해당하는 ACL 규칙이 없으면 문서 ACL을 적용한다. --문서 ACL 실행이라고 gotopage 같은 기능이 생길 것 같다.--
r87
66 다만 누가 슬쩍 ACL을 바꿔도 내역이 표시되지 않아 누가 ACL을 바꿨는지 추적하기 어렵다는 문제점이 남아있다. 그리고 마찬가지로 위키운영:운영회의 같은 토론이 있다면 여기에 read ACL에 perm:any를 허용시키는 규칙을 넣는 등 고의로 노출시키는 트롤링을 잘 막아야 한다. 문서 읽기가 거부되었다 하더라도 스레드 읽기가 허용되면 {{{#!wiki @ms@
67{{{#blue 도메인}}}/discuss/{{{#deepskyblue 문서명}}}}}}은 못 읽어도 스레드 주소를 올바르게 입력하여 들어가는 것으로 스레드 읽기(!)가 가능하다.
r29
68 * 파일 이름공간의 역사가 없는 문서에도 ACL을 걸 수 있다.
r88
69 확장자가 없는 이름의 문서에도 ACL을 걸 수 있으며, 문서 이동은 문서 이름은 기존 이름을 확장자로 가지는 다른 이름이면서 파일 속성 네임스페이스인 문서명에만 유효하다. 이를테면 {{{#!wiki @ms@
70파일:__1__}}}은 {{{#!wiki @ms@
71파일:테스트.__1__}}}같은 이름으로만 이동할 수 있다.
r7
72 * NOT Condition으로 해당 사용자가 아닌 사용자를 대상으로 ACL을 설정할 수 있다. 집합(set)으로 보자면, 이용자로서 접근 가능한 모든 이름을 모아놓은 집합에서 해당 집합의 여집합에 해당하는 대상으로 둔다. --NOT perm:human 거부--
r14
73 NOT 대상 허용, NOT 대상 gotons 같은 ACL 규칙만을 다 만들어놓고 마지막으로 perm:any 허용을 달아놓았다면 고생을 해야 할 수 있으니 NOT Condition을 잘 써야 한다.
r44
74 NOT를 응용해 여러 조건을 만족해야 하는 규칙을 만들 수 있다.
75 예시)
76{{{#!wiki style="word-break: keep-all"
r45
77||<tablewidth=500>No ||Condition ||Action ||Expiration ||
r44
78||1 ||NOT 자동 인증된 사용자 ||거부 ||영구 ||
79||2 ||NOT 해당 문서 기여자 ||거부 ||영구 ||
80||3 ||가입한지 15일 지난 사용자 ||이름공간ACL 실행 ||영구 ||}}}
81
r43
82 * 다른 이름공간(네임스페이스) ACL을 따르도록 설정할 수 있다. 문서 역사에 gotootherns(go to other n{{{#gray ame}}}s{{{#gray pace}}})로 나온다. 다만 어느 네임스페이스를 차용했는지는 문서 역사에 표기되지 않으며 문서의 ACL 목록을 들어가서야 볼 수 있다.
r21
83 * 없는 이름공간으로 시도하면 {{{#!wiki @ms@
84'''[오류!]''' ,,,,,, ○○○ 이름공간은 존재하지 않습니다!}}}[*@bean@ 띄어쓰기가 2칸이다.] 라는 오류를 반환한다.
85 * 설정하려는 문서의 이름공간과 같은 이름의 이름공간으로 시도해보면 {{{#!wiki @ms@
86'''[오류!]''' ,,,,,, 같은 이름공간으로 이동할 수 없습니다.}}}[*@bean@ 띄어쓰기가 2칸이다.] 라는 오류를 반환한다.
r28
87== 토론 ==
88 * 토론 댓글 권한이 부족하다면 토론 관리 도구[* manage_thread의 기능]을 사용할 수 없다.
r31
89
r50
90== 알림 ==
91the tree에는 알림이 별도 페이지로 구현되어 있다.({{{#blue 도메인}}}/member/notifications)
92
93토론에서 사용자 문서를 링크할 때 알림이 전송된다.
94
r66
95== 일괄 되돌리기 ==
r67
96 * the seed에서는 Duration 값을 변경할 수 없지만[* 24시간으로 고정됨], the tree에서는 변경이 가능하다.[* 단, 24시간보다 더 긴 값으로 변경할 수는 없다.]
r51
97== 버그 ==
98=== the tree에만 있는 버그 ===
99=== the seed에만 있는 버그 ===
100차단 내역에서 UUID로 권한 설정, 로그인 기록 조회 내역이 검색되지 않는다.
101차단 내역에서 사용자명으로 일괄 되돌리기 내역이 검색되지 않는다.
r75
102
r31
103== 기타 ==
r58
104 * 생성되는 그라바타(gravatar)가 the seed엔진 위키에서 생성되는 그라바타와는 다르다. (나무위키 게시판과도 다르다.) 단, 동일한 엔진에 같은 계정명이라면 어느 위키에서 로그인을 하든 그라바타가 동일하게 나타난다.
r61
105 * 문서 이름으로 볼 수 있는 미세한 차이점
106 * {{{#!wiki @ms@
r60
107{{{#blue 도메인}}}/w/}}}으로 들어갈 경우 the seed 엔진에는 User Interface를 벗어난 404 오류 페이지로 넘어가지만 the tree 엔진에는 {{{#!wiki @ms@
108문서 이름이 없습니다.}}} 라는 오류 문구와 {{{이전 화면}}} 단추를 보여준다.
r61
109 * {{{#!if " "[0]==0x00A0
110{{{#!wiki @ms@
111문서: }}}(%C2%A0==0x00A0, No-Break Space)을 편집해보고자 {{{#!wiki @ms@
r62
112{{{#blue 도메인}}}/edit/%C2%A0}}}주소로 들어가 편집기를 열 경우 the seed에서는 {{{문서 이름이 올바르지 않습니다.}}}라는 오류 문구를 보여주고 편집기가 열리지 않는다. the tree에서는 편집기가 정상적으로 열리지만 저장을 시도할 경우 {{{invalid_captcha}}} 라는 오류 문구가 나오고 저장되지 않는다.}}}
r63
113 * the seed 엔진에서 {{{#!wiki @ms@
r64
114%EF%B8%8F}}}를 이용한 [[️|이 문서]]의 편집은 저장되나 the tree 엔진에서 해당 제목의 문서를 개설하려고 시도해보면 마찬가지로 {{{invalid_captcha}}} 라는 오류 문구가 나오고 저장되지 않는다.
r32
115 * 반달 표시된 리비전에도 리비전 숨기기 버튼이 표시된다.
116 * 감사 로그({{{#blue 도메인}}}/admin/audit_log) 기능이 있으며 [[config]] 권한으로 사용할 수 있다.
r33
117 * 이름공간 ACL 편집, 스레드 삭제, ACL 그룹 생성 및 삭제, 개발자 지원 내역이 기록된다.
r37
118 * 약관에 HTML을 사용할 수 있다.
r46
119 * ACL 그룹의 이름을 변경할 수 있다.
r49
120 * the tree에는 the seed와 달리 '비밀번호 없이 패스키만 이용해 로그인' 기능이 있다.
r1
121[각주]
122[Include(틀:문서 가져옴/the seed, 위키=더시드위키, 문서명=the tree, 버전=19, uuid=57eff439-d9e7-461c-8a84-e7108cd4f488)]