Sister Sites

FrontPage|FindPage|TitleIndex|RecentChanges| UserPreferences P RSS


자매 사이트 see also Wiki:SisterSites

WikiName 공간을 공유하는 위키들 혹은 그 기술. WardCunningham의 구현철학과 예제코드는 [http]Tips For SisterSites 참고.

대화에는 컨텍스트가 있습니다. 단어의 의미는 이 컨텍스트에 따라 달라집니다. 예를 들어, "제가 요즘 인라인 스케이트를 타는데 좀 넘어지고 그래요. 훈련이 부족해서겠죠"라고, 어떤 운동이야기를 하다가 "훈련"이라는 말이 나온 경우가 있을테고, "병역특례 어쩌고 저쩌고, 여름이 좋을까 겨울이 좋을까, 훈련 빡세다던데 운운"이라는 컨텍스트에서 "훈련"이라는 말이 있는데, 양자는 그 의미가 사뭇 다릅니다.

SisterSites는 대화의 컨텍스트 전환입니다. 이런 경우, SisterSites간의 WikiName 충돌은, 하나의 위키 내부에서의 WikiName 충돌과 마찬가지로, 바람직한 것입니다(이 의도를 이해하지 못하고 무조건 이름공간을 분리해내려는 기술우선주의적 태도를 경계해야 할 것입니다). WardCunningham은 이를 일러 행복한 이름 충돌(Happy Name Clashes)이라고 부릅니다. see also HierarchicalWiki

{{|
... Two sites are candidates to be sisters if the collisions in their vocabulary are likely to be useful. The reader, like the listener, has to decide where to take the switch. ... --WardCunningham from his [http]weblog
|}}

만약 "저작권"이라는 페이지가 프로그래머들의 위키와 법관련 위키(e.g. LovolNet)에 모두 존재한다면, 행복한 이름 충돌이 될 수 있지 않을까 생각합니다. 프로그래머들의 위키의 저작권 페이지에서는 프로그래머라는 컨텍스트 하에서의 저작권, 프로그래머가 보는 저작권을 이야기하고, 법관련 위키에서는 좀 더 법적(지적재산권) 개념에 가까운 저작권 이야기를 하겠지요. ThisIsNotAnEncyclopedia를 따르면 그렇게 될 겁니다. 양자가 SisterSites로 연결되어 있을 경우, 독자는 한쪽의 페이지에서 다른 쪽의 페이지로 컨텍스트 전환을 선택할 수 있겠죠. "아, 예비군 훈련 말고, 글쓰기 훈련 말야..."

XperDotOrg는 이런 SisterSites를 구현해 사용하고 있습니다. (SisterSites에 존재하는 유사이름LikePages도 같이 표시해 주도록 설정 가능합니다만 CPU 부하가 큽니다)

그렇지만 이 방식은 현재의 위키와 같이 여전히 노드 중심적입니다(명사중심적). 저는 이를 뒤집어서 링크 중심적으로(동사중심적) 역전을 시킬 연구를 하고 있습니다. 뇌가 지식을 어떻게 처리, 저장하는지, 시냅스와 뉴런은 어떻게 구조화되는지 등에서 영감을 받고 있습니다. "위키 뒤집기"가 되겠죠.



자매사이트로 등록해서 유용하려면 1)위키간에 이름 충돌이 많아야 합니다. 페이지이름에 일관된 작명법이 전제되어야 하는 것이죠. 가장 좋은 방법은 위키들이 일상적인 담화의 어휘를 그대로 페이지이름으로 사용하는 것이라고 봅니다. 예컨데, 페이지이름의 가이드라인을 따를 수 있겠죠. 그리고 2)서로 컨텍스트가 좀 달라야 합니다. 여기서 하는 소리나 저기서 하는 소리나 다 비슷비슷한 소리라면 굳이 두 장소로 나눠 이야기할 필요가 없겠죠. 대부분의 국내 위키사이트에서 노스모크와 이름 충돌이 있는 위키 페이지들은 현존하는 노스모크의 위키 페이지와 대동소이한데, 이런 견지에서 보면, 노스모크 입장에서는 자매사이트의 유용성이 별로 없어 보입니다. 타 위키에서 노스모크를 자매사이트로 삼는 것은 유용할 것으로 생각합니다.

그렇지만 자매사이트로 엮어주면 이름 충돌을 더 이끌어 내는 어포던스도 있다고 봅니다. 블로그의 TrackBack과 같은 효과를 볼 수 있습니다. 자매사이트 간에 공통 언어를 촉진할 수 있습니다.



김창준님께서 SisterSites에 열어주셔서 감사합니다. ;)

초창기 GnomeKorea위키가 만들어졌을때 갇힌 위키를 소통할 목적으로 kz님이 SisterWiki를 제안했습니다. 그때 저도 비슷한 구현의 InterWiki확장을 구상하고 있었던 터였지요. 적당히 구현한 상태에서 KLE위키와 GnomeKorea위키에서 사용하고 있었는데 이미 OriginalWiki에서 구현해 놓은 것이 있더군요 ^^;; TheyAreAsSmartAsYouAre (See KLE:SisterWiki)

더 찾아보니, 이와 비슷하거나 기술적으로 꼭 같은 구현을 MeatballWiki, AndStuff, OriginalWiki에서 모두 사용하고 있었는데, 각각 다른 명칭으로 부르고 있었습니다.

MeatballWiki에서는 MetaWiki로, AndStuff에서는 TwinPagesOriginalWiki에서는 SisterSites로 말이죠.

그래서 TwinPages가 가장 이해하기 쉬운 명칭이라고 생각하여 이 명칭을 선택했고, SisterSistes라는 명칭보다는 SisterWikis가 InterWiki,MetaWiki관계와 더 어울릴 것 같아서 SisterWiki명칭을 선호하였으며(한국말로 자매위키라고 하면 이해가 쉬우니), SisterSites라는 명칭은 GnomeKorea위키에서 그 문자 그대로의 이름으로 받아들여 최 하단의 사이트목록으로 제공하게끔 구현하였습니다.

어떤 것이 강렬한 메타포를 가지는지 확신할 수 없었기에 처음 선택했던 명칭을 그대로 사용하고 있었지요 ^^;;

제 잠정적 결론으로는 MeatballWikiMetaWiki가 가장 효율적으로 구현된 방법이라고 생각합니다. MetaWiki방법으로 만들어지는 Metadb는 일반적인 hash로 변환하기도 가장 수월하며 SisterSites가 늘어나더라도 수행속도에 거의 영향을 주지 않습니다. 위의 WardCunningham의 초기(?)구현은 각 자매위키마다 db를 따로 두는 방식인데 반하여 Metadb는 모든 SisterSites의 db를 하나의 key로 접근하는 방식이죠. --무신
XperDotOrg는 이 방식을 사용합니다(SisterSites들에 대해 Fuzzy LikePages도 제공하죠). WardCunningham의 미덕은 "Simplicity"를 깨닫게 해준다는 데 있죠. :) --김창준

XperDotOrg에서는 SisterSites로 향하는 링크를 가진 페이지에 ^표식을 달아두었더군요. 좋은 메타포를 가집니다 :) GnomeKorea에서는 SisterSites에만 있는 링크를 어떤 식으로 표시해야 할지 를 몰라서 그냥 모인모인FootNote방식(1 2가 붙는)을 그대로 썼었는데 ^^;; 두 장점을 결합해서 ^1 ^2와 같은 표식이 붙도록 해볼까나... --무신

InterPage라는 개념은 어떨까요. 노스모크모인모인과 함께 WikiSeed가 배포되고 있습니다만, 개인위키에 심은 WikiSeed노스모크에서의 수정사항이 반영되지 않고 그 역 또한 반영되지 않습니다. 그렇다고 해서 WikiSeed에 해당하는 모든 페이지를 일일히 InterWiki를 이용해서 링크를 걸기엔 너무 불편할 뿐더러, 페이지이름을 변경할 때 InterWiki 링크를 지원하는 액션이 아직 없다는 문제도 있습니다. 그렇지만 SisterWiki는 너무 과다한 기능이라고 생각하는 사람도 있을 수 있구요. 아예 InterMap처럼 이런이런 페이지들은 노스모크를 참조하라고 지정할 수 있는 설정이 가능하면 어떨까 합니다. 그렇게 되면 씨앗은 페이지내용이 아닌 단지 페이지이름의 목록을 담고 있는 InterPage 하나면 되겠죠. --DaNew

InterPage를 만든다면 그것 역시 SisterWiki와 기술적으로 같은 구조가 되겠죠. 매번 InterPage를 파싱하는 부하보다는 db로 저장하게끔 하는게 낫겠고, 그렇게 되면 SisterWiki와 꼭 같아집니다. SisterWiki는 그리 과다하지 않습니다. 국내의 큰 위키를 모두 합해도 1MB가 넘지 않습니다. 개인위키라면 써볼만 한 것입니다. (기능을 켜고 안 켜고에 따라서 RPS가 4.3에서 4.0으로 떨어지는 정도입니다) --무신

MetaDB의 크기 비교

See also SisterWiki MetaWiki


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