[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
1. 개요[편집]
본 문서는 the tree엔진과 the seed엔진의 기술적인 차이점을 적어놓은 문서이다. the tree엔진은 the seed의 기본적인 구조를 구현하되 편의적인 기능을 하나씩 추가해나가고 있어 the seed 엔진과 차이가 있다.
경우에 따라 피드백을 the seed forum에든 the tree issue tracker에든 제시함으로써 상호 업데이트가 필요한 내역이나 제안할 수 있는 사항으로 이용될 수도 있다.
the seed에는 있는 기능들 중 the tree에 없는 기능은 the tree commit에서 예고 없이 추가될 수 있으며, 본 문서에서 해당 서술된 항목이 삭제될 수 있다.
경우에 따라 피드백을 the seed forum에든 the tree issue tracker에든 제시함으로써 상호 업데이트가 필요한 내역이나 제안할 수 있는 사항으로 이용될 수도 있다.
the seed에는 있는 기능들 중 the tree에 없는 기능은 the tree commit에서 예고 없이 추가될 수 있으며, 본 문서에서 해당 서술된 항목이 삭제될 수 있다.
2. 권한[편집]
- disable_two_factor_login, grant_hidelog[차단 내역 숨김], login_history_hidelog[차단 내역 숨김], batch_revert_hidelog[차단 내역 숨김], engine_developer 권한이 추가로 존재한다.
3. 이름공간[편집]
- 공통적으로
문서,틀,분류,파일,사용자,삭제된사용자이름공간이 기본으로 탑재되어 있다. - the tree에는 기본값으로 the seed와 다르게
토론,투표,특수기능,시스템이 탑재되어 있지 않다. - the seed는 이름공간을 추가하려면 서버에 접근해야 하지만, the tree는 config 권한으로 추가할 수 있다.
4. 네비게이션 바[편집]
- 최근 변경 : the tree에는 최근 변경 중 전체 내역에서 사용자 문서 변경내역을 보기/숨기기(기본값:숨기기) 기능을 이용하여 사용자 문서를 포함한 문서 전체의 최근 변경 내역을 볼 수 있다.
- RandomPage : 기능은 동일하게 무작위로 출력된다. 그러나 목록을 뽑는 방식에서 차이가 있다. the seed는 문서 수가 0개인 경우를 제외하고는 중복을 포함하여 무조건
내 손에 쥘 패를20개가 될 때까지 뽑지만, the tree에는 중복이 배제된다. 문서 수가 20개 미만인 네임스페이스를 대상으로 새로 목록을 뽑을 때마다 순서만 바뀌어 나온다. - 차단 내역(BlockHistory) : 기능은 동일하다. the tree에는 ACL 그룹에 등록, ACL 그룹에서 제거, 권한 설정, 로그인 내역 조회, 일괄 되돌리기의 기록만을 골라 볼 수 있는 분류 기능이 추가되어 있다. aclgroup_hidelog으로 숨겨진 기록은 두 엔진 공통적으로 당연히 안 보인다.
5. 문법[편집]
5.1. 공통점[편집]
- {{{ }}} 계열 문법 : 다음 문법은 공통적으로 지원된다.
- -5, -4, ... , +4, +5 의 글자 크기
- #color,#color 로 글자 색상 주기
- #!wiki style=""을 이용한 css
- #!if 문법. 연계되는 기능 없이 일부만.
- #!html 문법
- #!syntax 문법
5.2. 차이점[편집]
- the seed에 구현되지 않은 문법이 존재한다.
- [vote(제목, 선택지1, 선택지2, 선택지3, ... )]문법으로 설문조사 또는 투표를 할 수 있다.
투표:???
토론 스레드에서만 사용할 수 있으며 댓글 추가가 허용되지 않는 조건에서는 투표가 반영되지 않는다. 그리고 질문지와 선택지에 text-align 등 일부 종류를 제외하고 wiki style 을 이용한 CSS 문법을 쓸 수 있으며, 링크 문법도 지원된다. 반점(,)을 텍스트로 나오게 할 곳은 텍스트 처리로 나오게만 해주면 문법이 깨지지 않게 충분히 긴 문장도 넣을 수 있다.
- the tree에 구현되지 않은 문법이 존재한다.
- 기본적인 글자 강조 표현 문법에 소소한 차이점이 있지만 문서를 편집하고 읽기에 큰 문제되는 부분은 없다. 기본적인 글자 강조 표현으로 쓰이는 문법은 양쪽에 같은 기호를 2개씩 연속으로 쓰면 동작되는데 the seed에는 3개를 연속으로 쓰더라도 동작되지만 the tree에는 3개가 인식되지 않는다.
이를테면^^^윗첨자^^^,,,,아랫첨자,,,, 등등은 the seed에서는 정상적으로 나오는데 the tree에서는 2개까지만 읽기 때문에^^^윗첨자^^^는^^^윗첨자^^^처럼 인식되어^윗첨자^로 나온다. 단,'''볼드체'''는 정상적으로 인식된다. - if 문법 중 the tree는 다음 문법이 지원되지 않는다.
- 등호 1개로 만드는 변수값 정의 또는 재정의(예 : 변수=값)
- if 문법으로 변수=값 으로 정의한 변수를 @변수@ 식으로 호출하는 방법도 마찬가지로 지원되지 않는다.
- "문자열"[index]를 프로그래밍용 정수값으로 불러오는 문법 (참고더시드포럼)
- 문자의 0x○○○○식 유니코드 16진법 계산.
- indexOf, lastIndexOf, substring, substr 등 the seed에 지원되는 문자열 메서드(method)가 the tree에는 지원되지 않는다.
관련 문서 : Mozilla MDN Web Docs, JavaScript/Reference/Global_Objects/String
6. ACL[편집]
the tree에 다음과 같은 기능이 더 추가되어 있다.
- 토론 ACL이 있다. 스레드에 해당하는 ACL 규칙이 없으면 문서 ACL을 적용한다.
문서 ACL 실행이라고 gotopage 같은 기능이 생길 것 같다.
다만 누가 슬쩍 ACL을 바꿔도 내역이 표시되지 않아 누가 ACL을 바꿨는지 추적하기 어렵다는 문제점이 남아있다. 그리고 마찬가지로 위키운영:운영회의 같은 토론이 있다면 여기에 read ACL에 perm:any를 허용시키는 규칙을 넣는 등 고의로 노출시키는 트롤링을 잘 막아야 한다. 문서 읽기가 거부되었다 하더라도 스레드 읽기가 허용되면도메인/discuss/문서명은 못 읽어도 스레드 주소를 올바르게 입력하여 들어가는 것으로 스레드 읽기(!)가 가능하다. - 파일 이름공간의 역사가 없는 문서에도 ACL을 걸 수 있다.
확장자가 없는 이름이나 유효하지 않은 확장자의 파일 문서에도 ACL을 걸 수 있다.(...)[5] - NOT Condition으로 해당 사용자가 아닌 사용자를 대상으로 ACL을 설정할 수 있다. 집합(set)으로 보자면, 이용자로서 접근 가능한 모든 이름을 모아놓은 집합에서 해당 집합의 여집합에 해당하는 대상으로 둔다.
NOT perm:human 거부
NOT 대상 허용, NOT 대상 gotons 같은 ACL 규칙만을 다 만들어놓고 마지막으로 perm:any 허용을 달아놓았다면 고생을 해야 할 수 있으니 NOT Condition을 잘 써야 한다.
NOT를 응용해 여러 조건을 만족해야 하는 규칙을 만들 수 있다.
예시)
No | Condition | Action | Expiration |
1 | NOT 자동 인증된 사용자 | 거부 | 영구 |
2 | NOT 해당 문서 기여자 | 거부 | 영구 |
3 | 가입한지 15일 지난 사용자 | 이름공간ACL 실행 | 영구 |
- 다른 이름공간(네임스페이스) ACL을 따르도록 설정할 수 있다. 문서 역사에 gotootherns(go to other namespace)로 나온다. 다만 어느 네임스페이스를 차용했는지는 문서 역사에 표기되지 않으며 문서의 ACL 목록을 들어가서야 볼 수 있다.
- 없는 이름공간으로 시도하면[오류!] ○○○ 이름공간은 존재하지 않습니다![double space] 라는 오류를 반환한다.
- 설정하려는 문서의 이름공간과 같은 이름의 이름공간으로 시도해보면[오류!] 같은 이름공간으로 이동할 수 없습니다.[double space] 라는 오류를 반환한다.
7. 토론[편집]
- 토론 댓글 권한이 부족하다면 토론 관리 도구[8]을 사용할 수 없다.
8. 알림[편집]
the tree에는 알림이 별도 페이지로 구현되어 있다.(도메인/member/notifications)
토론에서 사용자 문서를 링크할 때 알림이 전송된다.
토론에서 사용자 문서를 링크할 때 알림이 전송된다.
9. 일괄 되돌리기[편집]
10. 버그[편집]
10.1. the tree에만 있는 버그[편집]
10.2. the seed에만 있는 버그[편집]
차단 내역에서 UUID로 권한 설정, 로그인 기록 조회 내역이 검색되지 않는다.
차단 내역에서 사용자명으로 일괄 되돌리기 내역이 검색되지 않는다.
차단 내역에서 사용자명으로 일괄 되돌리기 내역이 검색되지 않는다.
11. 기타[편집]
- 생성되는 그라바타(gravatar)가 the seed엔진 위키에서 생성되는 그라바타와는 다르다. (나무위키 게시판과도 다르다.) 단, 동일한 엔진에 같은 계정명이라면 어느 위키에서 로그인을 하든 그라바타가 동일하게 나타난다.
- 문서 이름으로 볼 수 있는 미세한 차이점
- 도메인/w/으로 들어갈 경우 the seed 엔진에는 User Interface를 벗어난 404 오류 페이지로 넘어가지만 the tree 엔진에는문서 이름이 없습니다.라는 오류 문구와
이전 화면단추를 보여준다. - 문서:(%C2%A0==0x00A0, No-Break Space)을 편집해보고자도메인/edit/%C2%A0주소로 들어가 편집기를 열 경우 the seed에서는
문서 이름이 올바르지 않습니다.라는 오류 문구를 보여주고 편집기가 열리지 않는다. the tree에서는 편집기가 정상적으로 열리지만 저장을 시도할 경우invalid_captcha라는 오류 문구가 나오고 저장되지 않는다. - the seed 엔진에서%EF%B8%8F를 이용한 이 문서의 편집은 저장되나 the tree 엔진에서 해당 제목의 문서를 개설하려고 시도해보면 마찬가지로
invalid_captcha라는 오류 문구가 나오고 저장되지 않는다.
- 반달 표시된 리비전에도 리비전 숨기기 버튼이 표시된다.
- 감사 로그(도메인/admin/audit_log) 기능이 있으며 config 권한으로 사용할 수 있다.
- 이름공간 ACL 편집, 스레드 삭제, ACL 그룹 생성 및 삭제, 개발자 지원 내역이 기록된다.
- 약관에 HTML을 사용할 수 있다.
- ACL 그룹의 이름을 변경할 수 있다.
- the tree에는 the seed와 달리 '비밀번호 없이 패스키만 이용해 로그인' 기능이 있다.