Db Wiki Actions

차례 [+]

액션이란

DbWiki에서 액션이라는 개념은 주어진 페이지에 대해 무엇을 하고자 하는지를 지정하기 위한 수단입니다.

액션은 구체적으로는 위키 페이지 URL의 action 인자를 통해 지정됩니다. 예를 들어 페이지를 편집하기 위한 액션은 edit이고, 실제로 편집 버튼은 다음과 같은 형태의 URL을 링크합니다.

http://occam.n4gate.com/dbwiki/index.php/DbWikiActions?action=edit

action의 기본값은 browse입니다. 즉 action 인자를 써주지 않으면 그냥 페이지의 내용이 HTML 형태로 표시됩니다.

DbWiki는 여러가지 액션들을 지원하며, 대부분 사용자 인터페이스를 통해서 발동시킵니다. 즉 주소 창에 action= 을 직접 써줄 일은 별로 없습니다.

그러나 여러가지 액션들을 잘 알고 있으면, 또한 URL을 통해 직접 지정할 수 있으면 DbWiki를 좀 더 잘 활용할 수 있을 것입니다. (예를 들면 명령행의 wget이나 lynx를 통해서 특정 페이지의 XML 소스를 파일로 저장하는 하거나 그런 작업을 자동화시키는 등).

액션 버튼 만들기

대괄호 링크에서 phpwiki: 라는 접두어를 써주면 페이지 안에서도 액션을 사용하는 버튼을 만들 수 있습니다.

예:

[이 페이지 편집 | phpwiki:?action=edit]

이 페이지 편집

여러 가지 액션들

다음은 여러가지 액션들입니다.

편집

edit

[편집] 버튼에 해당. 이것은 항상 버튼을 통해서 접근하는 것이 좋습니다.

출력

docbook

DocBook 소스를 표시합니다. 페이지 자체는 HTML이고, DocBook 소스는 HTML 페이지 안의 일부로 표시됩니다. [DocBook] 버튼에 해당. 역시 버튼을 통해서 접근하는 것이 좋습니다.

docbookxml

DocBook XML 소스를 그 자체로, 즉 MIME 형식 text/xml 형태로 출력합니다. 현재 [XML] 버튼에 할당되어 있습니다.

시험해 보세요


이곳에서, 이 액션에 대한 링크나 버튼을 기본 HTML 화면에 추가할지, 아니면 [DocBook] 버튼을 클릭했을 때 나오는 페이지에 추가할지 고민입니다. 기본 화면에 추가하면 편하긴 하겠지만 버튼이 너무 많고 복잡하게 보일 것 같아서요.... --류광

둘 다 있으면 복잡해질 것 같긴 하군요. 지금처럼 copy&paste로 사용하는 페이지는 DocBook 파일을 가져다 직접 편집해서 쓰는 사람들이 주로 쓰고, text/xml로 받는 것은 DocBook 태그는 잘 몰라도 그냥 받아다 여러 형태로 변환해서 쓰는 사람들에게 편하다고 본다면, DbWiki에서는 후자를 더 잘 지원해야 하지 않을까요? -- ?김민식

일단 [XML]이라는 버튼으로 추가했습니다. 별로 안 복잡하다고 자기최면을 걸고 있습니다 ^^ --류광

info

[정보] 버튼에 해당. DB에 존재하는 버전들의 정보가 정리되어 나옵니다.

diff

[차이] 버튼에 해당. 추가로 previous=major 또는 previous=minor, previous=author가 붙을 수 있습니다. 각각 이전의 주요 버전, 이전의 사소한 버전, 이전 작성자 버전과의 차이를 뜻합니다. version 인자를 통해서 기준 버전을 지정할 수도 있습니다. [차이] 페이지와 [정보] 페이지의 버튼들과 링크들을 참고하세요.

관리

lock

페이지를 잠급니다. 잠긴 페이지는 관리자로 로그인한 사람만 편집할 수 있습니다.

unlock

lock의 반대. 역시 관리자만 가능.

remove

완전한 페이지 지우기. 관리자만 가능.

dumpserial

DB에 있는 페이지 내용들을 서버 상의 한 디렉토리에 덤프합니다. 역시 관리자용. action 이외에 directory, type이라는 인자를 가집니다. directory는 덤프될 디렉토리, type은 덤프 형식입니다. type을 생략하면 E-mail에서와 동일한 인코딩이 적용되고 type=normal로 하면 그냥 텍스트 그 자체로 됩니다.

추가 정보

좀 더 자세한 내용은 DbWikiDev:DbWikiActions를 참고하세요.