메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

미디어위키 폼 생성 예제

데브카페

미디어위키 폼 생성 예제

  • page forms 익스텐션
  1. MediaWiki의 Extension:Page Forms는 구조화된 데이터를 위키 페이지에 쉽게 추가하고 편집할 수 있도록 지원하는 확장 기능입니다.
  2. 이 확장을 사용하면, 폼을 통해 위키 페이지를 생성 및 수정하고, 사용자에게 데이터 입력 작업을 보다 직관적으로 제공합니다.

Page Forms 설치

  1. MediaWiki의 LocalSettings.php 파일에 아래 코드를 추가하여 확장을 설치합니다:
    wfLoadExtension('PageForms');
    설치 후 관리자 권한으로 접속하여 위키 캐시를 갱신합니다:
    php maintenance/update.php

기본 개념 설명

  • Page Forms는 다음의 주요 구성 요소로 동작합니다:
1.Template (템플릿): 데이터를 저장하기 위한 구조화된 틀.
2.Form (폼): 사용자가 데이터를 입력하기 위한 인터페이스.
3.Category (카테고리): 데이터를 분류하기 위한 그룹.
4.Semantic MediaWiki(SMW) 연동: Page Forms는 SMW와 함께 사용하면 데이터 질의 기능을 강화할 수 있습니다.

예제: "책 정보 관리" 폼 생성하기

  1. 템플릿 작성
    Template:Book이라는 템플릿을 생성하여 아래와 같이 작성합니다:
    {{#if:{{{Title|}}}|[[Title::{{{Title}}}]]}}
    {{#if:{{{Author|}}}|[[Author::{{{Author}}}]]}}
    {{#if:{{{Publication date|}}}|[[Publication date::{{{Publication date}}}]]}}
    {{#if:{{{Genre|}}}|[[Genre::{{{Genre}}}]]}}
  2. 폼 생성
    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}}}
  3. 카테고리 추가
    Category:Books 페이지를 생성하고 다음 내용을 추가합니다:
    [[Has default form::Book]]
  4. 새 페이지 생성 및 데이터 입력
    1.새 페이지 추가:
    • 페이지를 만들 때 “책 정보(Book)” 폼이 자동으로 나타납니다.
    2. 데이터 입력:
    • 폼에 책 제목, 저자, 발행일 등을 입력하면 페이지가 자동 생성되며, 입력한 데이터는 템플릿에 따라 구조화되어 저장됩니다.
  5. 데이터 조회
    Page Forms와 Semantic MediaWiki를 함께 사용하면 입력된 데이터를 조회할 수 있습니다. 예를 들어, Query 태그를 사용해 아래와 같은 질의를 작성할 수 있습니다:
    {{#ask: [[Category:Books]]
     |?Title
     |?Author
     |?Publication date
     |?Genre
     |format=table
     |mainlabel=Book
    }}
    위 코드는 책 목록을 표 형식으로 출력합니다.
  6. 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의 활용법을 학습하고, 원하는 데이터를 효율적으로 관리할 수 있는 폼을 설계할 수 있습니다.

Comments