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