내가꿈꾸는위키엔진

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS

FrontPageUnixThomasSamuelKuhn신나이노스모크접속장애/2002 내가꿈꾸는위키엔진

내가꿈꾸는위키에서 ExtractPage되었습니다.

DeleteMe 꿈꾸는은 왠지 실현 가능성이 별로 없는 것 처럼 보입니다 ^^ =3=33
전 '바라는'이라고 씁니다. --kz



1. 다국어 위키

TranslatorsWiki가 아니라 서로 다른 두 언어권의 사람들이 서로 정보를 어려움 없이 공유할 수 있는 위키가 있었으면 합니다. 즉, 모든 페이지들이 문단 단위로 서로 다른 두 언어가 공존할 수 있도록 코딩되는 것입니다.

물론 여기엔 새로운 위키엔진과 "통역자"의 희생이 있어야겠죠. --PuzzletChung

DaNew : Esperanto Wiki Site는 어떨까요? 참여자가 Esperanto를 배워야하는 단점이 있지만(그러나 에스페란토는 매우 쉽습니다), multilingual로 인한 어려움을 모두 해소할 수 있습니다.

태그마다엔 lang 속성을 넣고, 자기의 언어는 UserPreferences에 설정해서 EditText할 때 그 언어 정보가 새로 추가되는 텍스트의 lang 속성에 들어가고, BabelFish 식의 번역 엔진이 위키 텍스트의 각 lang을 현재 사용자 설정의 lang으로 번역해주고, 운운..
http://enjoyjapan.naver.com/ 가 그런 서비스를 얼추 하고 있고, http://mail.i18n.org/mailman/listinfo 가 그걸 모델로 메일링 교환 서비스를 구축했습니다.

MoniWiki 1.0.7부터는 저자동성의 다국어 기능을 지원합니다. 한 페이지를 페이지이름, En~페이지이름, Fr~페이지이름 식으로 만들면 각각의 페이지를 wiki.php/페이지이름, wiki.php/~En/페이지이름, wiki.php/~Fr/페이지이름 식으로 엑세스할 수 있고, 따라서 InterWiki 링크를 걸기도 편하도록 구현되어 있습니다. 실제로 적용된 예는 무신 님이... =3=3=3 --PuzzletChung
다국어 지원 기능은 그냥 부수적인 효과일 뿐이고, 버전 1.0 이후로 계속 지원하던 NameSpace를 분리해서 다중 위키(아래에서 만든 가상서브위키)를 만들 수 있는 기능을 약간 개선한 것입니다. 최신 버전에는, 내부 위키페이지간 연결을 SisterWiki를 응용해서 자동 연결하게 하였습니다. :) --무신

See also:

2. P2PWiki

문제점: P2PWiki 페이지에서 논의된 것과 같이 위키의 물리적 권한이 특정 집단/개인/서버에게 집중되는 현상이 있습니다.

주장: P2P로 구현된 위키엔진은 어떨까요.

구현: PuzzletChung/P2PWiki제안서.

장점:

단점:

흥미로운 점: FourAsOfWiki의 의미에서 벗어납니다.

3. 채팅이 되는 위키엔진

문제점: 쓰레드모드모의채팅모드로 토론을 진행할 때 토론하는 상대방이 자신의 의견에 언제 답변할 지 모르기 때문에 토론의 진행이 매끄럽지 못하게 됩니다. 노스모크의외로움도 문제점이 될 수 있겠습니다.

주장: 위키엔진에서 채팅이 되도록 구현해 주는 것이 어떨까요.

구현: 일반 채팅 창과 비슷하게 하되 옆에 EditText 창을 만들어 채팅이 진행되는 내용을 그때그때 정리할 수 있게 합니다.
  • 프로그래머의 취향에 따라서 모든 페이지를 수정할 때마다 채팅 창이 뜨게 할 수도 있고, 채팅 방을 만들 때 수정할 페이지를 불러 내게 할 수도 있습니다.
  • 동시수정이 안 되도록 EditLock을 걸어 놓는 것도 괜찮겠습니다. 다른 위키엔진과는 달리 EditLock을 걸고 수정하는 사람에게 불만을 표현할 수 있습니다. :)

장점: 위의 문제점이 해결됩니다. 그리고
  • 토론 페이지에 불필요한 문장들이 어느 정도 사라지는 효과도 얻을 수 있을 것 같습니다.
  • 개인위키를 만들고 싶어도 채팅이 안 되기 때문에 망설이는 사람도 있지 않을까요?

단점: 서버에 부하가 많이 걸리겠습니다.

흥미로운 점: 그 자체로 흥미롭지 않습니까?

4. 역링크를 통하지 않는 분류

문제점:
  • 분류패턴의 기능을 강화해야 합니다: 위키의 거의 모든 페이지를 지도만으로 커버하지 않는 한 분류작업은 필요합니다. 그러나 분류패턴지도패턴의 유사성 때문에 분류작업의 의미가 퇴색되더니 YoriJori같은 위키엔진에서는 "분류패턴을 쓰지 않겠다"는 이야기도 나오고 있습니다.
  • 모든 역링크InformativeLink는 아니기 때문에 분류 페이지에서 역링크를 검색할 때에 엉뚱한 페이지가 나올 수 있습니다. (예: 연속적분류패턴에는 &리학분류&, &물분류& 등이 있습니다. 실제 분류는 &키위키분류&와 &스모크분류&입니다.)

주장: 본문에 포함된 역링크를 통하지 않고 본문과 따로 분리된 데이터베이스를 만들어서 각각의 페이지들이 포함된 분류를 관리하는 것은 어떨까요.

구현: 이 기능은 이미 모인모인MoinMoin:LikedFrom 매크로로 구현되어 있습니다.

장점: 위의 문제점이 해결되는 것 이외에도 약간의 부가적인 기능이 따라옵니다. (RecentChanges를 분류별로도 볼 수 있게 됩니다.)

단점: 위키의 정신을 역행하는 행위가 될 수 있습니다.

흥미로운 점: 생각 중입니다.

DaNew의 개인위키에서는 LinkedFrom 매크로를 써서 분류(묶음)를 하고 있습니다. 이것이 조금 비슷할까요?
예, 맞습니다.. 이런 기능이 이미 구현되어 있었군요..
LinkedFromBackLinks(역링크)라는 이름으로 여러 위키엔진에서 Full text search하지 않고 링크만 search하는 방식의 구현을 사용합니다. (아마도 PhpWiki가 이러한 방식을 사용하죠 ? 제목을 누르면 역링크를 서치합니다. SFReaders는 제목을 누르면 역링크만 검색하도록 하는 것 같더군요.) MoniWiki는 Full search할 때 옵션을 주어 링크만 서치하도록 할 수 있습니다. LinkedFrom은 매크로이기 때문에 선택적으로 페이지에서 역링크를 포함할 수 있는 기능이 있다는 점이 다르겠군요. --무신

[http]DiamondWiki가 본문과 분류를 분리한 방식을 사용합니다. 엄밀히 말하면 '분류'가 아닙니다만. --이응준

5. 공지사항 띄우기

문제점: 위키는 메인 페이지가 존재하지 않기 때문에 온라인 상의 일반 동호회나 친목 도모형 커뮤니티처럼 공지사항을 띄우기가 어렵습니다.

주장: 어떤 위키엔진으로 돌리는 위키라도 위에 뜨는 툴바에 일반적인 위키 페이지를 수정하듯이 공지사항을 넣을 수 있도록 하는 것을 어떨까요. 예를 들어 AllUsersNotice라는 페이지를 툴바에 include시키고 그 페이지를 WikiSeed로 제공하는 것입니다.

구현: 모인모인에서는 툴바에 있는 링크를 사용자 별로 지정할 수 있게 하는 KTUG:QuickLink기능을 지원합니다. 하지만 PuzzletChung이 바라는 것은 항해막대기 자체를 통째로 코딩할 수 있게 하는 기능입니다.

장점: 위의 문제점이 해결됩니다.

단점:
  • SFReaders:SFReaders처럼 한 가지를 주제로 한 위키가 아니라면 별로 쓸 일이 없습니다.
  • 이것 역시 위키의 정신을 역행하는 행위가 될 수 있습니다. 그러나 밑의 "흥미로운 점"을 사용하면 오히려 위키엔진이 제공하는 기능 하나가 사라지기 때문에 긍정적이 되지 않을까 하고 생각합니다.

흥미로운 점: 기능을 확장하면 항해막대기 자체를 위키엔진에서 지정해준 대로 쓰지 않고 위키 페이지처럼 코딩할 수 있게 만들 수도 있습니다.

항해막대기 자체를 위키엔진에서 지정해 준대로 쓰지 않고 위키 페이지처럼 편집할 수 있게 할수도 있겠다. 아마도 Global한 셋팅이 있을 것이고, Global한 것을 Include하는 매크로, 그리고 ChangeYourCss와 같이 개인이 추가할 수 있는 부분이 있을 것이다. --서상현

대문이 있지 않나요? --최종욱
위키에는 StartingPoints가 많기 때문에 "누구에게나 알려질 수 있는 메시지"를 "누구나 보게 되는 페이지"에 넣는다는 기능 하나가 아쉽습니다. PuzzletChung도 그렇고 대문을 항상 들여다 보지 않는 사람도 있습니다. 2차홈페이지분류정리작업을 위하여 RecentChanges를 고친 이례적인(?) 일도 있습니다만... (만약 필요하다면) 위의 항해막대기를 편집할 수 있도록 하여 그 곳에 공지사항을 띄울 수 있게 하는 방법도 있을텐데 하는 생각이었습니다.

See RecentChangesPersonalization, UnifiedRecentChanges

6. 엽기위키 - running code도 고칠 수 있는 위키엔진

내가꿈꾸는위키엔진은 아니지만, 페이지 내용 뿐만이 아니라, 위키엔진을 돌리는 소스코드도 고칠 수 있는 위키엔진이 있을까요?

구현: 소스코드에 퍼미션을 모두 풀어 놓고, 소스코드를 편집할 수 있는 인터페이스를 만듭니다. 만약 스크립트라면 코드를 고치는 동안에 그 코드가 작동되는 충돌을 방지하기 위해, 컴파일되어야 한다면 컴파일을 하기 위해 정기적으로 사이트를 닫고 해당 처리를 합니다.

장점: DontComplainJustDoItYourself의 확장?

단점: 사이트를 언제나 폐쇄할 수 있고, 백도어를 놓을 수 있고, 온갖 나쁜 짓을 다 할 수 있다. 책임감을 질 필요 없이.


7. 엽기위키 - 페이지 삭제가 불가능한 위키

구현: 페이지 삭제 명령이 없습니다. 대신 "병합" 명령이 있어서 두 개의 페이지를 하나로 단순히 합치는 기능만 합니다. 즉 페이지를 삭제하려면 다른 페이지와 병합시킨 뒤 병합된 페이지를 편집하여 해당 내용을 삭제해야 하는 번거로움이 있습니다.
  • 이렇게 하면 페이지를 삭제하기 이전에 그 페이지의 내용과 관련있는 다른 페이지를 한 번쯤 찾아보게 만드는 어포던스가 생깁니다.
  • 별 내용이 없는 페이지들을 병합/삭제하기 위한 페이지인 &지통&이 생길 수 있는데, 일반 OS의 휴지통처럼 삭제하기 이전의 중간 역할을 할 수 있습니다.

OriginalWiki는 2000년에서야 페이지 삭제를 도입했다고 합니다. See Wiki:WikiHistory

8. 멀티미디어 위키

한마디로 말해 멀티 미디어 위키다. 현재의 인터넷에서 이용되는 멀티 미디어와는 다른 맥락을 갖는다. 지금 노스모크에서는 많은 토론이 이루어 지고 있는데 이것들중에 어떤 것들은 그림으로 개념화 해서 보여주면 훨씬 명확한것들이 있다. 물론 그림판에서 만들어서 파일로 올리는 방법정도로 가능한 경우도 있겠지만 개념을 그리는 기능이 지원되는 위키를 실험해볼만한 가치는 있지 않을까? 생각한다. 잡종은 만약 음악하는 사람들이나 미술하는 사람 혹은 무용하는 사람이 위키를 만들었다면 현재의 텍스트 형태를 바탕으로 하면서도 훨씬 새로운 위키를 만들어 내지 않았을까 생각을한다. --잡종
멋집니다! MidiWiki 어떨까요? 그림은 도구에 많이 좌우를 받으므로 조금 힘들 듯 싶습니다만, Midi라면 충분히 가능하리라 생각합니다. -- 최종욱
텍스트 형식으로 작업한 뒤 나중에 미디로 고쳐야겠죠. 퀵베이직에도 이 비슷한 게 있었는데, 악보를 텍스트로 구현한 [http]abc Language라는 게 있더군요.
DeleteMe abc 재밌죠. 쉽게(?) 만들 수 있는 편이고 악보 조판도 할 수 있는 :) 예전에 미디 파일을 만들 수 있다기에 한번 해봤었지만, 사운드 카드를 탓하며 관 두었었지요.
아, 그럼 지금 노스모크 페이지에선 미디파일재생이 불가능한가요? --얀종이
[http]샘플 미디 들어보기

이미 멀티미디어 위키가 있습니다. 음악, 동영상, 프로그램, 그림까지 모두 협업으로 작업할 수 있습니다. SuperSwiki라고 합니다. 기존의 VM(예컨대 Squeak)을 활용하는 것이 각각의 기능을 만들어 하나씩 붙이는 것보다 더 쉽고 노력이 적게 들 것이라 생각합니다. --김창준

9. 콘솔&DB위키

기본적으로 mysql랑 비슷한(?) 위키이다.
명령어 입력방식이며 위키만의 파일데이터베이스구조를 내장했다.
별다른 클라이언트 없이 텔넷으로 접속해서 명령어로 위키문서를 수정/삭제한다.(vi같은..)
다른 PHP,ASP,JSP같은 웹언어에서 이 위키를 DB로 이용가능해서 위키사이트도 제작가능.좀 오버하자면 sql문법같은 것도 마련해둠...-_-; --오토

10. 가상 서브 위키

류기정이 생각하는 가상서브위키는 기존의 자매위키나 인터위키와는 다르다. 그것은 말하자면 '묶어놓기'와 '링크'에 불과하다. 위키라면 무엇보다 'Recent change'를 지원해야 한다. 그러므로 다음과 같은 방식의 위키를 제안한다.

위키내에 하위위키를 손쉽게 만들수 있다. 예컨데, 노스모크내에 <여행>에 관한 위키를 하나 만들고 싶다면, 그런 위키 페이지 밑에는 위키 분류란에 추가적으로 <여행서브위키분류>라는 식으로 태그를 단다. 그리고 <서브위키 바뀐글> 페이지란 걸 만들 수 있어서, 가령 <여행서서브위키바뀐글>이란 페이지는, 자동적으로 <여행서브위키분류>태그를 가진 페이지들에 관하여 업데이트 여부를 조사하고, 그 변화 양상을 보여준다. 이렇게 하면 정말로 독자적인 위키가 있는 것처럼 보일 것이다. 물론 해당 서브위키안에서의 검색으로 제한되는 검색창도 붙어 있을 것이다. 이런 서브위키가 많아진다면, 노스모크의 메인 검색창 앞에는 특정 서브위키를 선택할 수 있는 리스트박스가 생길 수도 있겠다.(원한다면 <대문>페이지도 만들수 있으리라!)

다른 위키에 있는 정보에 관해서는, 예컨데 <SF리더스위키>의 <우주여행>페이지를 <여행서브위키>의 한 페이지로 포함시키고 싶다면(말하자면 인터위키), 해당 페이지 밑에는 역시 <여행서브위키분류>란 태그가 들어가고, 노스모크에 있는 <여행서브위키바뀐글>에는, 검토해야할 외부위키에 대한 리스트정보가 있거나, 혹은 노스모크내에 같은 이름의 페이지를 만들고 링크하는 방법이 있을 수 있겠다. 이런 방식이 가능하다면 말그대로 가상서브위키가 될 것이다. 단, 이런 체제를 도입할 경우, 여러 위키들이 표준적으로 채택해야 원활하게 돌아가겠지만.

여기에는 OOP적인 상속성의 개념이 포함되는데, 각 서브위키의 정보는 고스란히 상위위키(노스모크)에 포함된다. 이럴때 이름공간의 충돌방지나 은닉성을 보장받기 위해, 페이지에 public, private 과 같이 추가 태그를 포함시킬 수 있다. public 페이지는 보통의 노스모크 페이지와 똑같지만, private 페이지는 해당 서브위키에서만 접근 가능하고, 이 경우 각 서브위키간의 이름은 충돌하지 않는다.

이런 내용이 있었군요. MoniWiki에서는 버전 1.0부터 이러한 방식의 서브위키를 구현하였습니다. Namespace를 분리하기 위해서 분리자 '~'를 두었고, 하고싶은것~우주여행 상상~우주여행 페이지는 각각 다른 namespace를 가지고 서로 충돌하지 않죠. TWiki는 이미 이러한 가상 서브위키를 예전부터 지원하고 있고, PmWiki도 잘 지원합니다. --무신
UseModWiki에서 지원하는 /페이지이름도 비슷한 맥락이지 않나요? --얀종이


"; if (isset($options[timer])) print $menu.$banner."
".$options[timer]->Write()."
"; else print $menu.$banner."
".$timer; ?> # # ?>