미디어위키 폼 생성 예제
- MediaWiki의 Extension:Page Forms는 구조화된 데이터를 위키 페이지에 쉽게 추가하고 편집할 수 있도록 지원하는 확장 기능입니다.
- 이 확장을 사용하면, 폼을 통해 위키 페이지를 생성 및 수정하고, 사용자에게 데이터 입력 작업을 보다 직관적으로 제공합니다.
Page Forms 설치
- MediaWiki의 LocalSettings.php 파일에 아래 코드를 추가하여 확장을 설치합니다:
wfLoadExtension('PageForms');
- 설치 후 관리자 권한으로 접속하여 위키 캐시를 갱신합니다:
php maintenance/update.php
기본 개념 설명
- Page Forms는 다음의 주요 구성 요소로 동작합니다:
- 1.Template (템플릿): 데이터를 저장하기 위한 구조화된 틀.
- 2.Form (폼): 사용자가 데이터를 입력하기 위한 인터페이스.
- 3.Category (카테고리): 데이터를 분류하기 위한 그룹.
- 4.Semantic MediaWiki(SMW) 연동: Page Forms는 SMW와 함께 사용하면 데이터 질의 기능을 강화할 수 있습니다.
예제: "책 정보 관리" 폼 생성하기
- 템플릿 작성
- Template:Book이라는 템플릿을 생성하여 아래와 같이 작성합니다:
{{#if:{{{Title|}}}|[[Title::{{{Title}}}]]}}
{{#if:{{{Author|}}}|[[Author::{{{Author}}}]]}}
{{#if:{{{Publication date|}}}|[[Publication date::{{{Publication date}}}]]}}
{{#if:{{{Genre|}}}|[[Genre::{{{Genre}}}]]}}
- 폼 생성
- Form:Book이라는 폼을 생성하여 아래와 같이 작성합니다:
{{{for template|Book}}}
== Book Information ==
* Title: {{{field|Title}}}
* Author: {{{field|Author}}}
* Publication Date: {{{field|Publication date|input type=date}}}
* Genre: {{{field|Genre|input type=dropdown|values=Fiction, Non-Fiction, Science, History, Biography}}}
{{{end template}}}
- 카테고리 추가
- Category:Books 페이지를 생성하고 다음 내용을 추가합니다:
[[Has default form::Book]]
- 새 페이지 생성 및 데이터 입력
- 1.새 페이지 추가:
- • 페이지를 만들 때 “책 정보(Book)” 폼이 자동으로 나타납니다.
- 2. 데이터 입력:
- • 폼에 책 제목, 저자, 발행일 등을 입력하면 페이지가 자동 생성되며, 입력한 데이터는 템플릿에 따라 구조화되어 저장됩니다.
- 데이터 조회
- Page Forms와 Semantic MediaWiki를 함께 사용하면 입력된 데이터를 조회할 수 있습니다. 예를 들어, Query 태그를 사용해 아래와 같은 질의를 작성할 수 있습니다:
{{#ask: [[Category:Books]]
|?Title
|?Author
|?Publication date
|?Genre
|format=table
|mainlabel=Book
}}
- 위 코드는 책 목록을 표 형식으로 출력합니다.
- Page Forms 확장 기능
- Page Forms는 다양한 입력 필드를 제공합니다:
- 1. Text Input: 기본 텍스트 필드
{{{field|Field Name}}}
- 2. Dropdown: 드롭다운 선택 필드
{{{field|Field Name|input type=dropdown|values=Option1, Option2}}}
- 3. Checkboxes: 다중 선택 박스
{{{field|Field Name|input type=checkboxes|values=Option1, Option2}}}
- 4. Date Picker: 날짜 선택기
{{{field|Date|input type=date}}}
- 이 예제를 기반으로 Page Forms의 활용법을 학습하고, 원하는 데이터를 효율적으로 관리할 수 있는 폼을 설계할 수 있습니다.