Mostly Harmless

Legacy:Wiki Integration

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

This page is dedicated to scripts and other things that integrate access to the Unreal Wiki somehow in web browsers, chat clients and other applications.

Wiki Integration[edit]

Comments/Propositions[edit]

Ars-Magna: I'm working on a UT site (which is not yet "announced"), the UMC. The main difference between this site and the billions of others like it is that it will (eventually) offer a wiki-like community, where everyone can contribute. I plan on offering an integration with the UnrealWiki where you can use wiki-style links. I want to make it do the wiki-links properly, i.e., a link to a non-existent page has the question mark. I am capable enough at php to do this, but I was wondering if there's a page that simply lists all the pages in the UnrealWiki in plaintext, besides the [wiki?action=index Index] page?

Tarquin: Nope, there's just action=index. If you're using a Wiki clone (there's a HUGE list on Ward's Wiki at Wiki:WikiEngines), it'll have MeatBall:InterWiki so you can easily make links to other wikis like I just have there. The Clones I know of don't bother checking for page existence, it's considered too much effort. I suppose you could grab the list off this Wiki once a day, say, and store that on your server to consult when generating pages. Actually, even more efficient would be to grab Recent Changes every 3 days, and look for any page title that is not in your local list.

EntropicLqd: Couldn't you use fopen() with a URL to check for the existence of the page? Simply open the URL and look for the "enter your text here" or whatever the default value of the textarea happens to be. Might be easier although probably slower.

Ars-Magna: I thought of having a database/file that stores the links locally, but I want the links to either always be updated, or not check at all. I also tried the fopen() thing, but the problem is, if a page doesn't exist, wiki makes one and the server is fooled into thinking a page is there (well, I suppose it is, technically.) Anyway, thanks for the tips. My current idea is to check the action=index page either every time the page is refreshed, or once per day, and just search the text for the link name. [edit: Arggh, I need to read what people WRITE next time.]

Ars-Magna: OK, I have a working test page here where you can test the wiki-style links, and they work like I wanted them to. This is totally live, too–when a page is created, it should become a solid link. And note that it doesn't take much of a performance hit.

I feel so l33t. :-)

EntropicLqd: So how did you do it in the end? Looks good.

Ars-Magna: It grabs the text of action=index. With the amount of traffic I get right now, that's fine (who knows how it'll be if the page ever gets popular, though). Then it compares the links to the action=index page and links them appropriately. This is still totally experimental. In the end, I might decide to pull the checking mechanism and make it link without checking. We'll see.