[[분류:openNAMU]]
[include(틀:위키 엔진)]
||<-2>
{{{#!wiki style="margin: -5px -10px; padding: 7px 10px; background-image: linear-gradient(to right, #007d72, #00a495)"
{{{#fff '''{{{+1 openNAMU}}}''' [br] 오픈나무}}}}}} ||
||<-2> [[파일:openNAMU.png|width=200px]] ||
|| '''종류''' ||[[위키 엔진]] ||
|| '''개발 시작''' ||[[2016년]] 4월 23일 ||
|| '''개발자''' ||[[https://github.com/surplus-dev|surplus-dev]] ||
|| '''언어''' ||[[한국어]], [[영어]] ||
|| '''안정화 버전''' ||v3.4.5-stable1^^(2022년 6월 12일)^^ ||
|| '''웹사이트''' ||[[https://github.com/2DU/openNAMU|GitHub]] [br][[https://2du.pythonanywhere.com/w/메인|테스트 위키]] ||
[목차]
[clearfix]
== 개요 ==
{{{#!folding [구동 화면 펼치기 · 접기 ]
|| {{{#!wiki style="margin: -6px -10px"
[[파일:aed9ff_on-js.png|width=97.2%]]}}} || {{{#!wiki style="margin: -5px -10px"
[[파일:54f63c_on-fi.png|width=100%]]}}} ||
|| JSON 기반 버전 || 파일 기반 버전 ||
|| {{{#!wiki style="margin: -6px -10px"
[[파일:onamu316.png|width=87%]]}}} || {{{#!wiki style="margin: -5px -10px"
[[파일:openNAMU v3.4.5.jpg|width=100%]]}}} ||
|| v3.1.6 || v3.4.5 ||
||<-2> 파이썬 기반 ||}}}
* [[https://github.com/2DU/openNAMU|GitHub]]
* [[https://github.com/2DU/openNAMU/issues|이슈 트래커]][* 간단한 이슈는 다른 개발자도 담당한다고 한다.]
* [[https://2du.pythonanywhere.com|테스트 위키]][* [[https://github.com/2du/openNAMU/issues/659|기존에는 GitHub의 자체 기능을 이용했다.]] ~~[[https://github.com/2du/openNAMU/wiki|링크]]~~(없어졌다)]
[[알파위키]]의 [[알파위키:문법 도움말|나무마크]] 문법을 지원하는 [[Python|파이썬]] 기반 [[위키 엔진]]이다. 기존에는 [[Node.js]]로 개발됐었다.
호스팅은 [[Python|파이썬]] 3.7 이상을 사용할 수 있는 기기에서 동작이 가능하다. 윈도우, 우분투는 물론이고 라즈베리 파이, [[안드로이드(운영체제)|안드로이드]]에서도 동작이 가능하며, PyDroid 3 등의 파이썬 3을 구동하는 애플리케이션을 사용한다. 파이썬 3.7부터 호스팅할 수 있다.
파이썬 3.7을 지원하지 않는 Windows XP에서는 호스팅할 수 없다. 즉 Windows Vista부터 가능하다. --지못미 엑스피--
== 작동 원리 ==
원래는 Node.js Express 기반이였고 JSON에 모든 데이터를 기록하는 형태였으나, 한 번 엎어진 이후로 파일에 기록하는 모니위키 형식을 띄게 되었다. --그래서 엄밀히 말하면 [[the seed]]보다 [[모니위키]]에 가깝다--
그래서 구조적 문제를 해결하기 위해서 MySQL로 돌아가는 오픈나무가 [[https://github.com/2DU/Ownet|개발 중]]이었는데 편하게 하려고 파이썬으로 바꿨다고 한다. 또 개인용으로 쓰기 좋고 백업이 편한 디비를 찾다가 SQLite로 바꾸었다. 그러다가 MySQL도 같이 지원하게 된다.
비밀번호는 처음에는 bcrypt로 암호화했다가 현재는 bcrypt에 큰 문제가 있어 [[SHA-3]] 혹은 [[SHA-256]] 방식만 지원한다. 웬만하면 SHA-3를 사용하라는 개발자의 말이 있으니 유의할 것.
=== 역사 ===
* 저장 방법: JSON -> 파일 -> MySQL -> SQLite -> MySQL(및 MariaDB) 및 SQLite
* 프레임워크: Express.js -> Flask -> bottle[* 2.0.0부터 적용] -> Flask[* 2.6.0부터 적용]
* 프로그래밍 언어: Node.js -> [[Python]]
== 장단점 ==
=== 장점 ===
* 설치가 간단하다.
* 설치 후 즉시 사용할 수 있다.
* 나무마크를 지원한다.
* 쓸모 있는 기능 다수 보유[* 여러 가지 필터, 투표 기능 등]한다.
* SQLite의 경우 DB 프로그램을 설치 필요가 없다.
=== 단점 ===
* 파이썬 지원 호스팅 및 서버가 필요하다.
* 구조가 어설프다.
* 확장기능이 없다.[* 다만 커스텀 코드라는 기능으로 대체되었다.]
* 텍스트로만 기록을 저장하기 때문에 금방 용량이 커지며, 이로 인해 대형 위키에 부적합하다.
* VirtualHost를 지원하지 않는다.
* 이름공간이라는 개념이 없다. 사용자 문서는 그냥 앞이 user:로 시작되는지 확인하고 권한을 결정할 뿐이다.
* 보안 이슈가 가끔 발생한다.
== 사용하는 위키 ==
* [[오픈테섭]]
* [[시드위키]]
=== 없어진 위키 ===
* [[DICC위키]]
* [[바다위키#s-2|신 바다위키]]
* 인싸위키
* 허수위키
* MGWiki
* [[러블리즈위키]]
* [[알파위키/역사/붕괴 후 혼란기|2차 알파위키]]
* [[대한위키실록]]
* 오픈키위
== 기타 ==
* 예전에는 개발자가 개발을 포기했으나 다른 개발자가 다시 잡고 개발 중이다.
* 위키엔진을 왜 만들었냐면 '''도쿠위키랑 모니위키를 써봤는데 맘에 안 들어서'''라고 한다. [[https://2du.pythonanywhere.com/w/오픈나무|관련 문서]]
* 3.x 버전부터 한국어와 영어가 지원되기 때문에, 한글판에서도 영어가 좀 섞여 있다.
* 3.1.x부터는 점점 JavaScript를 활용하는 추세이다. 따라서 JavaScript를 끄면 토론이 더 이상 불가능하며 일부 렌더링이 되지 않는다.
* 2020년 8월 11일부로 안정화(stable), 베타(beta), Dev(카나리아)의 3가지 빌드로 구분된다. 깃허브에서는 브랜치를 고르지 않으면 기본적으로 베타 버전이 내려받아진다.
* '''v3.4.5 (stable2) (beta3) (dev59)''' 버전은 로그인 하면 왜인지 500 Internal Server Error 라는 에러문구가 뜬다.
* 나무마크 호환이 된다는 점에서 여러 단점을 가지고 있음에도 불구하고 자주 사용되었던 엔진이었으나 현재는 [[the tree|더 좋은 엔진]]이 나와 해당 엔진을 사용하는 위키가 없어지는 추세이다. [[다올위키]]는 이미 엔진을 the tree로 변경하였으며 조만간 [[소나위키]]도 엔진을 변경할 예정이다.
[각주]
[include(틀:문서 가져옴/나무위키, title=openNAMU, version=182)]