본문 바로가기
Web Development/Mediawiki

[Mediawiki] 미디어 위키 틀(Template)과 양식(Form)의 이해 (feat. 사용 방법)

by 감자맹고우 2022. 7. 28.
728x90
반응형

최근 미디어 위키를 사용할 일이 생겼다.

이를 위해 서버를 세팅하고 미디어 위키와 각종 Extension들을 설치했다.

슬프게도 설치나 설정방법은 레퍼런스가 있었지만, 사용 방법이나 이해를 쉽게 해줄만한 자료는 찾기가 어려워 고생했다.

어쩔 수 없이 맨 땅에 헤딩하듯, 하나하나 사용해보며 이해를 하고 사용 방법을 터득했는데, 이를 통해 얻은 지식을 공유하고자 한다.

 

일단 이번에 공유할 내용은 Page Forms 익스텐션을 통한 Form 작성 시 참고할 수 있는 내용으로 아래와 같다.

 

[ 목 차 ]

1. 양식(Form), 틀(Template), 문단(Section)에 대한 설명
2. 틀 생성, Cargo 익스텐션(속성 포함), Semetic wiki(시맨틱 위키) 설명
3. Form 사용 방법

 

 

1. 양식(Form), 틀(Template), 문단(Section)에 대한 설명

 

(1) 양식(Form)

일단, 폼은 Extension을 설치하면서 알 수 있듯이 동일한 문서 양식을 미리 만들어두는 기능이다.

예를 들어, 어떤 영화에 대한 문서를 만든다고 가정해보자.

만약 작성자에 따라 영화 문서의 양식이 모두 다르다면, 작성자도 독자도 모두 불편할 것이다. 왜 그럴까???

일단, 작성자는 매번 새로운 영화에 대한 문서를 만들 때마다, 양식을 복사하든 새로 쓰든 매번 일일히 썼던 내용을 다시 써야하기 때문에 불편하다.

그리고, 독자는 작성자마다 달리 작성된 영화 정보를 보며 혼란스러울 것이다. 어떤 영화는 영화 평점이 나와있고, 어떤 영화는 평점이 안나와있다면, 위키라기보다는 작성자의 취향대로 쓴 블로그 리뷰에 가까운 느낌이 들 것이다.

 

이를 위해 최소한의 양식/규칙을 지켜 글이 작성될 수 있도록, 또 편의성을 도모하도록 양식을 생성하는 확장 기능이 Page Forms Extension 이다.

확장 기능 및 설치는 구글링과 레퍼런스를 통해 진행할 수 있기에 생략하였음을 양해 부탁드린다.

 

그럼 이제, 설치해놓은 미디어 위키에서 Special:CreateForm을 쳐서 폼 생성 페이지로 들어가보자.

 

출처 : Edutech Wiki

들어가자마자 난감하다.

일단, 3개의 입력란이 있다. 각각 양식 명칭, 틀 추가, 문단 추가로, 양식 명칭은 이름을 입력하는 곳이라는 것을 알겠는데 틀과 문단은 무엇인지 쉽게 알 수 없다.

그럼 이제 틀과 문단이 무엇인지 알아볼 차례이다.

 

반응형

 

(2) 틀(Template)

틀은 무엇일까. 여러 케이스를 만드는 시행착오를 거쳐보니 틀도 일종의 양식과 같은 것임을 알 수 있었다.

틀도 폼처럼 여러 문서에 동일한 양식을 제공하는 기능이다. 이미지나 Infobox 등을 미리 만들어두고 이것을 여러 문서에 공통적으로 사용할 수 있도록 해준다.

그러면 틀(Template)과 양식(Form)의 차이는 무엇일까.

 

1. Form은 양식 그 자체로 문서를 만들어주는 기능이다.
2. Template은 문서 내에 복사/붙여넣기처럼 일정 양식을 삽입할 수 있도록 해주는 기능이다.

 

예를 들어, 틀:태극기이미지 라는 태극기 이미지 파일을 틀로 만들었다고 가정하자.

그러면, 태극기 문서와 대한민국 문서에 일일히 추가해줄 필요 없이, 만들어 둔 태극기이미지 틀만 각각의 문서에서 {{}}로 불러오면 된다.

그리고 가장 큰 장점은, 일괄 관리에 있다. 만약 태극기 이미지가 너무 옛날 버전이라면, 새로운 이미지로 틀을 수정하기만 하면, 태극기이미지 틀이 사용된 모든 문서를 새로운 이미지로 업데이트할 수 있는 것이다.

또한, Infobox의 경우에는 행의 제목은 그대로 두고 값만을 입력하여 보여줄 수 있는 장점이 있다.

 

출처 : 나무위키

 

위의 이미지를 살펴보자. 빨간색 네모가 바로 틀(Template)에 해당한다.

 

목차는 기본적으로 틀이 없어도 4개의 문단을 가진 경우 자동 생성된다.

하지만, 4개 미만일 경우에는 __FORCEDOC__과 같은 내용을 입력하여 목차 위치를 지정해 강제 생성할 수 있는데, 만약 이를 '틀:목차'와 같이 틀로 만들어둔다면, 다른 문서에서 간단하게 {{목차}}를 입력하는 것으로 불러 쓸 수 있다.

 

또한, Infobox의 경우에는 '라이선스, 개발자, 나무위키 적용일'과 같이 제목에 따라 각각의 값을 입력하여 박스를 구현할 수 있다.

 

그러나 일종의 매크로처럼 만능처럼 보이는 틀은 한가지 문제가 있는데, 문서마다 달리 쓸 수 없다는 점이다. 예를 들어, 어떤 문서에서는 위의 '라이선스, 개발자, 나무위키 적용일' 대신 '라이선스, 개발자, 개발 완료 일자' 로 고쳐 쓰고 싶다면 만들어 놓은 틀을 쓸 수 없다. 즉, 문서 내에서 틀 자체의 편집기능은 따로 없다.

 

 

(3) 문단(Section)

이와 다르게 문단은 문서 내에서 자체를 편집할 수 있게 해준다.

문단은 위의 파란색 네모에 해당하는데, 1~4 Level의 Depth를 설정할 수 있다.

이미지의 목차에서 볼 수 있듯, 1 / 1.1 / 1.1.1 / 1.1.1.1 로 제목 앞에 번호가 붙는데 이것이 1Level부터 4Level까지를 나타낸 것이다.

 

그리고 제목 옆에 [편집] 기능을 통하여 문단의 내용을 바로 편집 가능하다.

즉, 문단은 제목과 Level 설정을 하는 최소 기능을 제공하고, 내용은 커스텀으로 쓸 수 있도록 해주는 기능이다.

 

▲ 목차로 돌아가기

 

 

2. Cargo 익스텐션(속성 포함), Semetic wiki(시맨틱 위키) 설명

 

 

자 이제 틀(Template)을 생성해보자.

아니 그런데,,, 이번엔 필드 추가가 나온다... 뭘 하나 추가하려면 하나가 더 나오니 쉽지 않다.

그러나 이 설명을 보고나면 이제 어려울 것은 없다.

 

일단 기본 필수 입력사항은 Template name, Output format 뿐이다.

그렇기 때문에, 만약 목차 생성과 같은 간단한 내용 입력만을 하려면, Template 명칭을 적어주고, 출력 형식을 Plain text로 선택하여 저장하면 된다.

그리고 마지막으로, 내용입력은 생성된 template에서 편집을 통해 변경해주면 된다.

 

하지만...

 

만들어야 되는 템플릿이 Infobox나 Table이라면 조금 복잡해진다.

일단 그 자체로는 원하는 기능으로 원활하게 동작하지 않는다. 이는 값의 유형이 정해지지 않아서, Input이 제대로 처리되지 않기 때문이다.

 

이를 해결하기 위해 대표적으로 두가지 선택방안이 있다.

하나는 Semantic wiki를 설치하는 것이고, 나머지 하나는 Cargo Extension을 설치하는 것이다.

 

이 둘은 속성이나 유형 기능을 제공하고, 각자 장단이 있어 필요에 맞게 설정하면 된다.

하지만 일단, 설치는 Cargo Extension이 확실히 편리하다.

위 이미지의 Edutech wiki는 Semantic wiki를 설치하였지만, Cargo도 비슷하게 사용할 수 있다.

 

분류 Cargo Semantic wiki
장점 설치 용이
유형(Type) 자동 생성
확장 사용 여부 선택 가능
커스텀 속성 생성 가능
Semantic wiki를 필요로 하는 다양한 Extension 설치 및 연동
참고 자료 및 표본 사이트가 꽤 있는 편
단점 지정 유형만 사용 가능
몇몇 Extension 사용 불가
참고 자료 및 표본 사이트가 부족한 편
설치 복잡
확장 사용 여부 선택 불가

 

- Cargo는 Cargo 확장을 사용할지 말지 선택할 수 있는 스위치 버튼이 있고, 유형을 선택 가능하다

(Text, Page, String, URL 등)

- 시맨틱위키는 Special:CreateProperty를 통해 속성을 생성할 수 있다.

 

유형을 선택하든지, 속성을 생성해서 지정하든지

둘 모두 잘 동작하기 때문에, 두 가지 중 하나를 설치하고, 각자의 행(Field)을 지정하여 저장해주면 된다.

 

틀 필드(Template Field)에서 필드 추가로 행을 추가하고, Field name과 Display label을 적고 유형/속성 값을 선택하면 된다. 이 때, Field name이 아니라 Display label이 조회 시 보여지는 출력 명칭임을 유의한다.

 

반응형

▲ 목차로 돌아가기

 


3. Form 사용 방법

 

이제 양식(Form) 생성에 필요한 모든 것을 알게 되었다. 그렇기 때문에 이제 폼만 생성하면 된다.

편의를 위해 위의 나무위키 이미지를 예시로 들겠다.

 

 

만약 위를 폼으로 생성한다면 다음과 같이 진행할 수 있다. 편의상, 출력된 부분까지만 예시로 하였다.

 

1. Template 생성(틀:목차, Plain Text)
2. Section 생성(1번 문단, 1 Level)
3. Section 생성(1.1번 문단, 2 Level)
4. Section 생성(1.1.1번 문단, 3 Level)
5. Template 생성(Infobox) (이슈트래커URL 제외)

틀 > 문단 > 문단 > 문단 > 틀

 

이렇게 생성된 폼으로 문서를 생성하면, 값과 내용을 입력해 바로 쓸 수 있는 양식이 완성된다!

 

▲ 목차로 돌아가기

 

 

🤞 도움이 되셨기를 바랍니다. 한 번의 클릭과 댓글은 어딘가의 누군가에게 진실로 큰 힘이 됩니다. 🐱‍🏍

 

728x90
반응형

댓글