미디어위키/미디어위키 익스텐션

미디어위키(Mediawiki) 설치 권장 추가 익스텐션(Extension) StructuredDiscussions 설치와 활용

씨실과 날실 2020. 6. 29. 09:00

[익스텐션 목록]

기본 익스텐션

2019/10/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Interwiki 설치와 활용

2020/04/28 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Nuke 설치와 활용

2020/04/28 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Renameuser 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CiteThisPage 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Replace Text 설치와 활용

2020/04/29 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) WikiEditor 설치와 활용

2020/04/30 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CodeEditor 설치와 활용

2020/04/30 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) CategoryTree 설치와 활용

2020/05/01 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Cite 설치와 활용

2020/05/01 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ImageMap 설치와 활용

2020/05/02 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) InputBox 설치와 활용

2020/05/02 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ParserFunctions 설치와 활용

2020/05/03 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Poem 설치와 활용

2020/05/03 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) SyntaxHighlight 설치와 활용

2020/05/04 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) PDF Handler 설치와 활용

2020/05/04 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) ConfirmEdit 설치와 활용

2020/05/05 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) SpamBlacklist 설치와 활용

2020/05/05 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) TitleBlacklist 설치와 활용

2020/05/06 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) Gadgets 설치와 활용

2020/05/06 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) LocalisationUpdate 설치와 활용

2020/05/07 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) MultimediaViewer 설치와 활용

2020/05/07 - [미디어위키/미디어위키 익스텐션] - 미디어위키(Mediawiki) 기본 제공 익스텐션(Extension) OATHAuth 설치와 활용




추천 추가 익스텐션





익스텐션 연재 목록




[익스텐션명 익스텐션 관련 정보]

익스텐션 공식 안내 페이지

https://www.mediawiki.org/wiki/Extension:StructuredDiscussions

다운로드

미디어위키 내 배포 페이지

https://www.mediawiki.org/wiki/Special:ExtensionDistributor/Flow

github 페이지

https://github.com/wikimedia/mediawiki-extensions-Flow


StructuredDiscussions(구 Flow) 익스텐션 기능

StructuredDiscussions 익스텐션은 일반 문서와 유사한 토론 문서를 구조화한 토론 및 협업 체계 문서로 변환해주는 도구입니다.

자세한 사용법은 아래 링크에서 확인할 수 있습니다.


StructuredDiscussions 익스텐션은 과거 Flow라는 이름으로 개발 및 유지보수되어 왔으며 공식 이름이 바뀐 지금도 호환성 유지를 위해 LOcalSettings.php에 삽입되는 익스텐션 로드 코드의 익스텐션명도 아래와 같이 과거 이름을 그대로 사용하고 있습니다.

wfLoadExtension( 'Flow' );


이 익스텐션은 Wikimedia Foundation의 협업팀이 개발했습니다. 유지보수 이력을 보면 2017년 9월에 "StructuredDiscussions"로 이름을 바꾸는 것 외에는 2015년부터 해당 익스텐션에 대한 실질적인 개선이 이루어지지 않고 있으며 현재는 단지 해당 익스텐션의 버그 수정 작업과 미디어위키 버전에 맞춘 호환성 유지 작업만 이루어지고 있을 뿐입니다.

물론 향후 개발이 다시 시작될 수 있습니다만 그것이 빠른 시일 내에 재개될 것으로는 보이지 않습니다. 자세한 내용은 아래 링크를 참고하시기 바랍니다.




익스텐션 다운로드 및 설치

다운로드 안내

익스텐션 다운로드 및 설치 방법은 아래 링크를 참고하시기 바랍니다.



주의 사항

StructuredDiscussions 익스텐션은 SQLite와 호환되지 않습니다.

필요한 모든 종속성이 설치 및 구성되어 있는지 확인하십시오.

StructuredDiscussions익스텐션의 디렉터리명과 익스텐션 호출 코드에 사용되는 익스텐션명은 과거 버전과의 호환성을 위해 Flow가 기본값으로 사용됩니다.


 StructuredDiscussions 익스텐션을 위한 종속성

필수 종속성

Echo 익스텐션

ParserFunctions  익스텐션

$wgContentHandlerUseDB=true;

권장 종속성

Parsoid 구성 시

$wgFlowContentFormat = 'html'; 코드 추가

옵션 종속성

BetaFeatures 익스텐션

CLDR 익스텐션

VisualEditor 익스텐션

StructuredDiscussions 익스텐션 사용 시 통합되는 익스텐션

기타



사용 중인 미디어위키의 버전에 맞는 배포 익스텐션 압축 파일을 다운로드받습니다.

익스텐션 공식 배포처

미디어위키 내 배포 페이지

github 페이지




미디어위키 버전별 익스텐션 다운로드 주소

1.34

https://extdist.wmflabs.org/dist/extensions/Flow-REL1_34-5a1c2eb.tar.gz

1.33

https://extdist.wmflabs.org/dist/extensions/Flow-REL1_33-e6dc867.tar.gz

1.32


1.31

https://extdist.wmflabs.org/dist/extensions/Flow-REL1_31-a7bc00b.tar.gz

위 주소는 코드 수정으로 바뀔 수 있으므로 다운이 받아지지 않는다면 위 공식 루트를 통해 다운받으시기 바라비니다.

다운로드 받은 압축 파일을 서버 안 미디어위키 설치 폴더 내에 있는  extensions폴더 안에 풀어줍니다.

리눅스 서버의 경우

$ sudo tar -xzf Flow-REL1_34-5a1c2eb.tar.gz -C /미디어위키 설치 경로/extensions


예시 - Ubuntu

$ sudo tar -xzf Flow-REL1_34-5a1c2eb.tar.gz -C /var/www/html/w/extensions

위 명령은 제 블로그를 그대로 따라오신 분의 경우 적용되는 예시입니다.


아래는 1.31 LTS 기준 진행과정입니다.


익스텐션 다운로드

study@study-VirtualBox:~/MW_Ext$ wget https://extdist.wmflabs.org/dist/extensions/Flow-REL1_31-a7bc00b.tar.gz
--2020-06-09 14:37:55--  https://extdist.wmflabs.org/dist/extensions/Flow-REL1_31-a7bc00b.tar.gz
Resolving extdist.wmflabs.org (extdist.wmflabs.org)... 185.15.56.49
접속 extdist.wmflabs.org (extdist.wmflabs.org)|185.15.56.49|:443... 접속됨.
HTTP request sent, awaiting response... 200 OK
Length: 1176342 (1.1M) [application/octet-stream]
Saving to: ‘Flow-REL1_31-a7bc00b.tar.gz’

Flow-REL1_31-a7bc00 100%[===================>]   1.12M   667KB/s    in 1.7s    

2020-06-09 14:37:58 (667 KB/s) - ‘Flow-REL1_31-a7bc00b.tar.gz’ saved [1176342/1176342]

study@study-VirtualBox:~/MW_Ext$ sudo tar -xzf Flow-REL1_31-a7bc00b.tar.gz -C /var/www/html/w/extensions
study@study-VirtualBox:~/MW_Ext$ 


익스텐션 압축파일 풀기

study@study-VirtualBox:~/MW_Ext$ sudo tar -xzf Flow-REL1_31-a7bc00b.tar.gz -C /var/www/html/w/extensions
study@study-VirtualBox:~/MW_Ext$ 

윈도 서버의 경우

탐색기로 압축 파일을 해당 위치에 풀어주시면 됩니다.


호스팅을 받는 경우

파일질라, 알FTP 등 FTP 프로그램을 이용해 미리 풀어 놓은 익스텐션 폴더(SpamBlacklist)를 통째로 해당 위치에 전송해줍니다.




StructuredDiscussions(구 Flow) 익스텐션 필수 설정

미디어위키의 환경 설정 파일인 LocalSettings.php 파일에 다음과 같은 코드를 추가해줍니다.

wfLoadExtension( 'Flow' );


DB 업데이트

터미널에서 업데이트

study@study-VirtualBox:~/MW_Ext$ cd /var/www/html/w/maintenance
study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php update.php
MediaWiki 1.31.3 Updater

Your composer.lock file is up to date with current dependencies!
Going to run database updates for my_wiki-w
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0
Turning off Content Handler DB fields for this part of upgrade.
...have ipb_id field in ipblocks table.
...have ipb_expiry field in ipblocks table.
...already have interwiki table
...indexes seem up to 20031107 standards.
...have rc_type field in recentchanges table.
...index new_name_timestamp already set on recentchanges table.
...have user_real_name field in user table.
...querycache table already exists.
...objectcache table already exists.
...categorylinks table already exists.
...have pagelinks; skipping old links table updates
...il_from OK
...have rc_ip field in recentchanges table.
...index PRIMARY already set on image table.
...have rc_id field in recentchanges table.
...have rc_patrolled field in recentchanges table.
...logging table already exists.
...have user_token field in user table.
...have wl_notificationtimestamp field in watchlist table.
...watchlist talk page rows already present.
...user table does not contain user_emailauthenticationtimestamp field.
...page table already exists.
...have log_params field in logging table.
...logging table has correct log_title encoding.
...have ar_rev_id field in archive table.
...have page_len field in page table.
...revision table does not contain inverse_timestamp field.
...have rev_text_id field in revision table.
...have rev_deleted field in revision table.
...have img_width field in image table.
...have img_metadata field in image table.
...have user_email_token field in user table.
...have ar_text_id field in archive table.
...page_namespace is already a full int (int(11)).
...ar_namespace is already a full int (int(11)).
...rc_namespace is already a full int (int(11)).
...wl_namespace is already a full int (int(11)).
...qc_namespace is already a full int (int(11)).
...log_namespace is already a full int (int(11)).
...have img_media_type field in image table.
...already have pagelinks table.
...image table does not contain img_type field.
...already have unique user_name index.
...user_groups table exists and is in current format.
...have ss_total_pages field in site_stats table.
...user_newtalk table already exists.
...transcache table already exists.
...have iw_trans field in interwiki table.
...wl_notificationtimestamp is already nullable.
...index times already set on logging table.
...have ipb_range_start field in ipblocks table.
...no page_random rows needed to be set
...have user_registration field in user table.
...templatelinks table already exists
...externallinks table already exists.
...job table already exists.
...have ss_images field in site_stats table.
...langlinks table already exists.
...querycache_info table already exists.
...filearchive table already exists.
...have ipb_anon_only field in ipblocks table.
...index rc_ns_usertext already set on recentchanges table.
...index rc_user_text already set on recentchanges table.
...have user_newpass_time field in user table.
...redirect table already exists.
...querycachetwo table already exists.
...have ipb_enable_autoblock field in ipblocks table.
...index pl_namespace on table pagelinks includes field pl_from.
...index tl_namespace on table templatelinks includes field tl_from.
...index il_to on table imagelinks includes field il_from.
...have rc_old_len field in recentchanges table.
...have user_editcount field in user table.
...page_restrictions table already exists.
...have log_id field in logging table.
...have rev_parent_id field in revision table.
...have pr_id field in page_restrictions table.
...have rev_len field in revision table.
...have rc_deleted field in recentchanges table.
...have log_deleted field in logging table.
...have ar_deleted field in archive table.
...have ipb_deleted field in ipblocks table.
...have fa_deleted field in filearchive table.
...have ar_len field in archive table.
...have ipb_block_email field in ipblocks table.
...index cl_sortkey on table categorylinks includes field cl_from.
...have oi_metadata field in oldimage table.
...index usertext_timestamp already set on archive table.
...index img_usertext_timestamp already set on image table.
...index oi_usertext_timestamp already set on oldimage table.
...have ar_page_id field in archive table.
...have img_sha1 field in image table.
...protected_titles table already exists.
...have ipb_by_text field in ipblocks table.
...page_props table already exists.
...updatelog table already exists.
...category table already exists.
...category table already populated.
...have ar_parent_id field in archive table.
...have user_last_timestamp field in user_newtalk table.
...protected_titles table has correct pt_title encoding.
...have ss_active_users field in site_stats table.
...ss_active_users user count set...
...have ipb_allow_usertalk field in ipblocks table.
...change_tag table already exists.
...tag_summary table already exists.
...valid_tag table already exists.
...user_properties table already exists.
...log_search table already exists.
...have log_user_text field in logging table.
...l10n_cache table already exists.
...index change_tag_rc_tag already set on change_tag table.
...have rd_interwiki field in redirect table.
...transcache tc_time already converted.
...*_mime_minor fields are already long enough.
...iwlinks table already exists.
...index iwl_prefix_title_from already set on iwlinks table.
...have ul_value field in updatelog table.
...have iw_api field in interwiki table.
...iwl_prefix key doesn't exist.
...have cl_collation field in categorylinks table.
...categorylinks up-to-date.
...module_deps table already exists.
...ar_page_revid key doesn't exist.
...index ar_revid already set on archive table.
...ll_lang is up-to-date.
...user_last_timestamp is already nullable.
...index user_email already set on user table.
...up_property in table user_properties already modified by patch patch-up_property.sql.
...uploadstash table already exists.
...user_former_groups table already exists.
...index type_action already set on logging table.
...have rev_sha1 field in revision table.
...batch conversion of user_options: nothing to migrate. done.
...user table does not contain user_options field.
...have ar_sha1 field in archive table.
...index page_redirect_namespace_len already set on page table.
...have us_chunk_inx field in uploadstash table.
...have job_timestamp field in job table.
...index page_user_timestamp already set on revision table.
...have ipb_parent_block_id field in ipblocks table.
...index ipb_parent_block_id already set on ipblocks table.
...category table does not contain cat_hidden field.
...have rev_content_format field in revision table.
...have rev_content_model field in revision table.
...have ar_content_format field in archive table.
...have ar_content_model field in archive table.
...have page_content_model field in page table.
Content Handler DB fields should be usable now.
...site_stats table does not contain ss_admins field.
...recentchanges table does not contain rc_moved_to_title field.
...sites table already exists.
...have fa_sha1 field in filearchive table.
...have job_token field in job table.
...have job_attempts field in job table.
...have us_props field in uploadstash table.
...ug_group in table user_groups already modified by patch patch-ug_group-length-increase-255.sql.
...ufg_group in table user_former_groups already modified by patch patch-ufg_group-length-increase-255.sql.
...index pp_propname_page already set on page_props table.
...index img_media_mime already set on image table.
...iwl_prefix_title_from index is already non-UNIQUE.
...index iwl_prefix_from_title already set on iwlinks table.
...have ar_id field in archive table.
...have el_id field in externallinks table.
...have rc_source field in recentchanges table.
...index log_user_text_type_time already set on logging table.
...index log_user_text_time already set on logging table.
...have page_links_updated field in page table.
...have user_password_expires field in user table.
...have pp_sortkey field in page_props table.
...recentchanges table does not contain rc_cur_time field.
...index wl_user_notificationtimestamp already set on watchlist table.
...have page_lang field in page table.
...have pl_from_namespace field in pagelinks table.
...have tl_from_namespace field in templatelinks table.
...have il_from_namespace field in imagelinks table.
...img_major_mime in table image already modified by patch patch-img_major_mime-chemical.sql.
...oi_major_mime in table oldimage already modified by patch patch-oi_major_mime-chemical.sql.
...fa_major_mime in table filearchive already modified by patch patch-fa_major_mime-chemical.sql.
...comment fields are up to date...hitcounter doesn't exist.
...site_stats table does not contain ss_total_views field.
...page table does not contain page_counter field.
...msg_resource_links doesn't exist.
...msg_resource doesn't exist.
...bot_passwords table already exists.
...have wl_id field in watchlist table.
...cl_collation key doesn't exist.
...index cl_collation_ext already set on categorylinks table.
...collations up-to-date.
...index rc_name_type_patrolled_timestamp already set on recentchanges table.
...rev_page_id index already non-unique.
...pl_namespace, tl_namespace, il_to indices are already non-UNIQUE.
...have ct_id field in change_tag table.
...have ts_id field in tag_summary table.
...rc_ip in table recentchanges already modified by patch patch-rc_ip_modify.sql.
...index usertext_timestamp already set on archive table.
...have el_index_60 field in externallinks table.
...ug_user_group key doesn't exist.
...have ug_expiry field in user_groups table.
...index img_user_timestamp already set on image table.
...img_media_type in table image already modified by patch patch-add-3d.sql.
...ip_changes table already exists.
...index PRIMARY already set on categorylinks table.
...index PRIMARY already set on templatelinks table.
...index PRIMARY already set on pagelinks table.
...index PRIMARY already set on text table.
...index PRIMARY already set on imagelinks table.
...index PRIMARY already set on iwlinks table.
...index PRIMARY already set on langlinks table.
...index PRIMARY already set on log_search table.
...index PRIMARY already set on module_deps table.
...index PRIMARY already set on objectcache table.
...index PRIMARY already set on querycache_info table.
...index PRIMARY already set on site_stats table.
...index PRIMARY already set on transcache table.
...index PRIMARY already set on user_former_groups table.
...index PRIMARY already set on user_properties table.
...comment table already exists.
...have img_description_id field in image table.
...index PRIMARY already set on l10n_cache table.
...bot_passwords.bp_user is already unsigned int.
...change_tag.ct_log_id is already unsigned int.
...change_tag.ct_rev_id is already unsigned int.
...page_restrictions.pr_user is already unsigned int.
...tag_summary.ts_log_id is already unsigned int.
...tag_summary.ts_rev_id is already unsigned int.
...user_newtalk.user_id is already unsigned int.
...user_properties.up_user is already unsigned int.
...slots table already exists.
...have slot_origin field in slots table.
...content table already exists.
...slot_roles table already exists.
...content_models table already exists.
...actor table already exists.
...rev_text_id in table revision already modified by patch patch-rev_text_id-default.sql.
...table site_stats already modified by patch patch-site_stats-modify.sql.
...index rc_namespace_title_timestamp already set on recentchanges table.
...oathauth_users table already exists.
...oathauth_users table does not contain secret_reset field.
...betafeatures_user_counts table already exists.
...echo_event table already exists.
...echo_email_batch table already exists.
...echo_target_page table already exists.
...event_agent field does not exist in echo_event table, skipping modify field patch.
...event_variant in table echo_event already modified by patch /var/www/html/w/extensions/Echo/db_patches/patch-event_variant_nullability.sql.
...event_extra in table echo_event already modified by patch /var/www/html/w/extensions/Echo/db_patches/patch-event_extra-size.sql.
...event_agent_ip in table echo_event already modified by patch /var/www/html/w/extensions/Echo/db_patches/patch-event_agent_ip-size.sql.
...have etp_id field in echo_target_page table.
...echo_target_page table does not contain etp_user field.
...have notification_bundle_base field in echo_notification table.
...echo_subscription doesn't exist.
...echo_event table does not contain event_timestamp field.
...have eeb_event_hash field in echo_email_batch table.
...have event_page_id field in echo_event table.
...index echo_event_type already set on echo_event table.
...index echo_user_timestamp already set on echo_notification table.
...index echo_notification_event already set on echo_notification table.
...have event_deleted field in echo_event table.
...index echo_notification_user_read_timestamp already set on echo_notification table.
...index echo_target_page_page_event already set on echo_target_page table.
...index echo_event_page_id already set on echo_event table.
...user_event key doesn't exist.
Creating flow_revision table ...done.
...have rev_last_edit_id field in flow_revision table.
...have rev_mod_reason field in flow_revision table.
...flow_summary_revision table does not exist, skipping modify field patch.
...rev_comment field does not exist in flow_revision table, skipping modify field patch.
Modifying workflow_id field of table flow_workflow ...done.
...have workflow_type field in flow_workflow table.
...workflow_user_id field does not exist in flow_workflow table, skipping modify field patch.
Modifying workflow_wiki field of table flow_workflow ...done.
...index flow_workflow_lookup already set on flow_workflow table.
...index flow_topic_list_topic_id already set on flow_topic_list table.
Modifying rev_change_type field of table flow_revision ...done.
Modifying rc_source field of table recentchanges ...done.
Modifying rev_change_type field of table flow_revision ...done.
...have rev_user_ip field in flow_revision table.
...have rev_user_wiki field in flow_revision table.
...index flow_tree_descendant_rev_id already set on flow_tree_revision table.
...flow_tree_revision table does not contain tree_orig_create_time field.
...index flow_revision_user already set on flow_revision table.
Modifying rev_user_ip field of table flow_revision ...done.
...have rev_type_id field in flow_revision table.
...flow_ext_ref table already exists.
...flow_definition doesn't exist.
...flow_workflow table does not contain workflow_user_ip field.
...have rev_content_length field in flow_revision table.
...flow_ext_ref_pk key doesn't exist.
...index flow_workflow_update_timestamp already set on flow_workflow table.
...have ref_src_wiki field in flow_wiki_ref table.
...have ref_id field in flow_wiki_ref table.
...flow_ext_ref_idx_v2 key doesn't exist.
Modifying ref_target field of table flow_ext_ref ...done.
...index flow_ext_ref_idx_v3 already set on flow_ext_ref table.
...flow_topic_list_pk key doesn't exist.
...flow_subscription doesn't exist.
...geo_tags table already exists.
...coordinates are already DECIMAL in geo_tags.
...site_stats is populated...done.
...Update 'populate rev_len and ar_len' already logged as completed.
...Update 'populate rev_sha1' already logged as completed.
...img_sha1 column of image table already populated.
...protocol-relative URLs in externallinks table already fixed.
...fa_sha1 column of filearchive table already populated.
...*_from_namespace column of backlink tables already populated.
...Update 'FixDefaultJsonContentPages' already logged as completed.
...Update 'cleanup empty categories' already logged as completed.
...RFC and PMID already added to interwiki database table.
Populating page_props.pp_sortkey...
Populating page_props.pp_sortkey complete.
...Update 'populate ip_changes' already logged as completed.
...Update 'RemoveOrphanedEvents' already logged as completed.
Populating links tables...
Completed
Updated 0  workflows

Warnings: 0
Array
(
)


Failed: 0
Array
(
)
Removed 0 links to special pages.
Completed
Completed
Set the local repo temp zone container to be private.
Purging caches...done.

Done in 4.8 s.
study@study-VirtualBox:/var/www/html/w/maintenance$ 

웹에서 업데이트

https://localhost/w/mw-config


설치 확인

미디어위키의 특수:버전(= Special:Version) 문서를 확인하면 위 익스텐션이 추가된 것을 확인할 수 있습니다.






StructuredDiscussions 활성화

일반 문서의 토론 문서와 사용자 문서의 토론 문서를 구조화된 토론 문서로 전환하기 위해서는 터미널에서 아래와 같은 명령어를 실행하여 해당 토론 문서들의 콘텐츠 모델을 전환해주어야 합니다.

미디어위키의 maintenance 디렉터리 아래에서


일반문서(ns=1)

$ sudo php populateContentModel.php --wiki=all --ns=1 --table=revision
$ sudo php populateContentModel.php --wiki=all --ns=1 --table=archive
$ sudo php populateContentModel.php --wiki=all --ns=1 --table=page


토론 문서(ns=3)

$ sudo php populateContentModel.php --wiki=all --ns=3 --table=revision
$ sudo php populateContentModel.php --wiki=all --ns=3 --table=archive
$ sudo php populateContentModel.php --wiki=all --ns=3 --table=page


populateContentModel.php 파일 사용법


예시

study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php populateContentModel.php --wiki=all --ns=1 --table=revision
[sudo] study의 암호: 
Fetched 9 rows.
Setting 9 rows to wikitext / text/x-wiki...done.
study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php populateContentModel.php --wiki=all --ns=1 --table=archive
Fetched 0 rows.
study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php populateContentModel.php --wiki=all --ns=1 --table=page
Fetched 0 rows.
study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php populateContentModel.php --wiki=all --ns=3 --table=revision
Fetched 0 rows.
study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php populateContentModel.php --wiki=all --ns=3 --table=archive
Fetched 0 rows.
study@study-VirtualBox:/var/www/html/w/maintenance$ sudo php populateContentModel.php --wiki=all --ns=3 --table=page
Fetched 0 rows.
study@study-VirtualBox:/var/www/html/w/maintenance$ 
 

필수 추가 코드

토론 문서의 콘텐츠모델을 전환한 후 LocalSettings.php에 아래의 코드를 추가해주어야 합니다.

### Flow ###
# wfLoadExtension( 'Flow' );
$wgNamespaceContentModels[NS_TALK] = 'flow-board';
$wgNamespaceContentModels[NS_USER_TALK] = 'flow-board';

기존 토론 문서들을 마이그레이션

일반 토론 문서를 StructuredDiscussions 형식으로 전환

study@study-VirtualBox:/var/www/html/w$ sudo php extensions/Flow/maintenance/convertNamespaceFromWikitext.php --wiki=all Talk
[sudo] study의 암호: 
[2020-06-17 05:58:30] Starting conversion of 토론 namespace
[2020-06-17 05:58:30] Archiving page from 토론:소도구 예시 to 토론:소도구 예시/Archive 1
[2020-06-17 05:58:31] Importing to 토론:소도구 예시
[2020-06-17 05:58:31] Importing header
[2020-06-17 05:58:31] Imported 1 revisions for header
[2020-06-17 05:58:31] Imported 1 items, failed 0
[2020-06-17 05:58:32] Completed import to 토론:소도구 예시 from 토론:소도구 예시/Archive 1
[2020-06-17 05:58:32] Finished conversion of 토론 namespace
study@study-VirtualBox:/var/www/html/w$ 


사용자 토론 문서를 StructuredDiscussions 형식으로 전환

study@study-VirtualBox:/var/www/html/w$ sudo php extensions/Flow/maintenance/convertNamespaceFromWikitext.php --wiki=all User_talk
[2020-06-17 06:04:36] Starting conversion of 사용자토론 namespace
[2020-06-17 06:04:36] Finished conversion of 사용자토론 namespace
study@study-VirtualBox:/var/www/html/w$ 



StructuredDiscussions(구 Flow) 익스텐션 사용법

Echo 익스텐션이 설치된 상태에서 StructuredDiscussions(= 구 Flow) 익스텐션을 설치하면 사용자 환경 설정의 알림 설정에 플로우 토론 설정이 추가된 것을 볼 수 있습니다.


위 그림은 StructuredDiscussions 익스텐션이 설치되기 전 기본 토론 문서의 화면입니다. 일반 문서 화면과 다를 바 없습니다.


StructuredDiscussions 익스텐션이 설치되기 전의 토론 문서 편집 화면입니다. 역시 일반 문서 편집 화면과 다르지; 않습니다.


StructuredDiscussions 익스텐션이 설치되기 전, 이미 존재하는 토론 문서의 새 주제를 작성할 때의 화면입니다.


StructuredDiscussions 익스텐션이 설치되기 전, 일반 문서와 관련된 토론 문서를 처음 작성할 때의 화면입니다.


StructuredDiscussions 익스텐션이 설치되기 전, 일반 문서와 관련되지만 아직 존재하지 않은 토론 문서의 새 주제를 처음 작성할 때의 화면입니다.

이것은 없는 문서를 새로 생성하는 것이므로 이때의 새 주제 작성은 (새로)만들기와 동일합니다.


StructuredDiscussions 익스텐션이 설치된 후의 토론 문서 화면입니다.


StructuredDiscussions 익스텐션이 설치된 후 새 주제 클릭하기를 클릭하면 위 그림처럼 내용 작성 상자가 활성화됩니다.


이 게시물에 대한 정보 문구 아래 설명 편집 링크를 클릭하면 설명 작성 상자가 활성화됩니다.


StructuredDiscussions 익스텐션을 설치한 후 상술한 것처럼 /IP/extensions/Flow/maintenance/convertNamespaceFromWikitext.php 파일을 이용해 기존 토론 문서를 마이그레이션하면 위 그림처럼 기존 토론 문서 링크가 생겨납니다.


기존 토론 문서 링크를 클릭하면 위 그림처럼 기존 토론 문서가 나타나며 이때 형식은 StructuredDiscussions 익스텐션 형식이 아닌 기존 토론 문서 형식으로 나타납니다.


StructuredDiscussions 익스텐션용 구성 코드


고급 사용법

보다 자세한 내용은 StructuredDiscussions 익스텐션의 공식 사이트를 참고하시기 바랍니다.