Difference between revisions of "MediaWiki/archive/embedding"
m (Woozle moved page MediaWiki/embedding to MediaWiki/archive/embedding without leaving a redirect: obsolete, keeps changing) |
(moved a referenced page; some spam got in here that I never noticed, too) |
||
Line 1: | Line 1: | ||
==Overview== | ==Overview== | ||
− | This page is about embedding [[MediaWiki]] content within <span class="plainlinks">[https://www.proposable.com/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">proposal software</span>] non-MediaWiki sites, or as standalone pages without the standard navigation and control links provided by most [[MediaWiki skin]]s. | + | This page is about embedding [[MediaWiki]] content within <span class="plainlinks">[https://www.proposable.com/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">proposal software</span>] non-MediaWiki sites, or as standalone pages without the standard navigation and control links provided by most [[MediaWiki/archive/skins|MediaWiki skin]]s. |
==non-PHP== | ==non-PHP== | ||
− | This is easiest to do if the | + | This is easiest to do if the host application is also written in [[PHP]], but it is possible to do this using other languages as well. [[Perl]] has a library, [http://search.cpan.org/~gschloss/PHP-Interpreter-1.0.1/lib/PHP/Interpreter.pm PHP::Interpreter], that allows it to execute PHP code; other languages may have similar capabilities. |
− | If they do not, then one can still accomplish a | + | If they do not, then one can still accomplish a certain amount by loading MediaWiki pages using [[http]] and the "?action=render" directive, which displays the page's bare contents without any of the navigation aids. (This method is not recommended if you have any alternatives, as it is slow and wasteful of CPU resources.) |
− | bare contents | ||
==PHP== | ==PHP== | ||
Line 12: | Line 11: | ||
* [[/1.16/index.php]] | * [[/1.16/index.php]] | ||
These have been tested with MediaWiki v'''1.14'''. | These have been tested with MediaWiki v'''1.14'''. | ||
− | * [[/1.14/index.php]] is a usage example; as given, it provides a standalone page, but it also shows the code needed to retrieve | + | * [[/1.14/index.php]] is a usage example; as given, it provides a standalone page, but it also shows the code needed to retrieve page content |
− | * [[/1.14/extract.php]] is the code which actually does the work of extraction; the function GetWikiPage($iTitle) returns the page's contents | + | * [[/1.14/extract.php]] is the code which actually does the work of extraction; the function GetWikiPage($iTitle) returns the page's contents as a string. |
Configuration info is in index.php. Note that this has not been tested ''very much''; I got it working on my server, then posted it. | Configuration info is in index.php. Note that this has not been tested ''very much''; I got it working on my server, then posted it. | ||
Line 22: | Line 21: | ||
* [[/old/extract.php/v1]] | * [[/old/extract.php/v1]] | ||
===To Do=== | ===To Do=== | ||
− | * I need to work out the code for detecting if a given page exists in the wiki, so the main application can display default values other than the wiki's default ("This page doesn't exist yet..."). Detecting | + | * I need to work out the code for detecting if a given page exists in the wiki, so the main application can display default values other than the wiki's default ("This page doesn't exist yet..."). Detecting this with the method below may or may not be possible; if MediaWiki returns a 404 code for non-existent articles, then that could be used, but I don't yet know if it does. --[[User:Woozle|Woozle]] 18:52, 15 October 2006 (EDT)'' |
− | * We don't yet know how to get MediaWiki to emit fully-qualified URLs; it is currently necessary to do a | + | * We don't yet know how to get MediaWiki to emit fully-qualified URLs; it is currently necessary to do a search-and-replace to fix links targeting the wiki. (It's probably a configuration thing -- $wgArticlePath, I'd guess. Don't know if link URLs get cached, though, so that might not work reliably. --[[User:Woozle|Woozle]] 19:29, 6 June 2009 (EDT)) |
Latest revision as of 00:19, 15 December 2017
Overview
This page is about embedding MediaWiki content within proposal software non-MediaWiki sites, or as standalone pages without the standard navigation and control links provided by most MediaWiki skins.
non-PHP
This is easiest to do if the host application is also written in PHP, but it is possible to do this using other languages as well. Perl has a library, PHP::Interpreter, that allows it to execute PHP code; other languages may have similar capabilities.
If they do not, then one can still accomplish a certain amount by loading MediaWiki pages using http and the "?action=render" directive, which displays the page's bare contents without any of the navigation aids. (This method is not recommended if you have any alternatives, as it is slow and wasteful of CPU resources.)
PHP
This works with MediaWiki v1.16:
These have been tested with MediaWiki v1.14.
- /1.14/index.php is a usage example; as given, it provides a standalone page, but it also shows the code needed to retrieve page content
- /1.14/extract.php is the code which actually does the work of extraction; the function GetWikiPage($iTitle) returns the page's contents as a string.
Configuration info is in index.php. Note that this has not been tested very much; I got it working on my server, then posted it.
Works on MW 1.10:
Based on MW somewhere around 1.7:
To Do
- I need to work out the code for detecting if a given page exists in the wiki, so the main application can display default values other than the wiki's default ("This page doesn't exist yet..."). Detecting this with the method below may or may not be possible; if MediaWiki returns a 404 code for non-existent articles, then that could be used, but I don't yet know if it does. --Woozle 18:52, 15 October 2006 (EDT)
- We don't yet know how to get MediaWiki to emit fully-qualified URLs; it is currently necessary to do a search-and-replace to fix links targeting the wiki. (It's probably a configuration thing -- $wgArticlePath, I'd guess. Don't know if link URLs get cached, though, so that might not work reliably. --Woozle 19:29, 6 June 2009 (EDT))