odd-wiki-hive - collab-editor-wiki odd-wiki-center-en talk collab-editor projects changes special

Archive 2007-12-16 Ting

2007-12-16 Ting

ma: Good old ting. It’s a while ago since I wrote a sentence in Gobby and it still feels good. The sheer fact that somebody whenever might hop in and change something is the kick. On wiki you’re alone. Only in the aftermath of your “lonesome” edit you might not be alone. Then things might happen, true. In a collab-editor there are birds in the trees and there might even be a tiger behind the bushes. It’s real-time, things may happen whenever, not only after pushing “save”. I like that. Good old ting.

sh: Sorry, didn’t get your allusions about ting, try to be more explicit next time :) I don’t bite. Often.

ma: np, I’ll do. I don’t even chew. Often. ;) My concern were the ideas from yesterdays chat on #oddmuse, I refactored a bit on it: 'wiki-net': wiki-net server / 2007-12-15.

sh: What’s that code you write here?

ma: You mean the link above? I dunno “code”. New is my imagination that the list of watching neighbors could be a feed. This would be most easily to include on the right spot. Never thought about it before. the wiki-net server (no insisting on that term for it btw) “gets stimulated by feeds - wiki-net-feeds from the different wikis - and answers with feed - such that tell which of all the wiki-net-feeds contain a certain day-page-set in a certain wiki. This is all pretty complicated to me. But it’s fun.

sh: I don’t like how it’s all centralised. It could bring to its knees even the most powerful server when lots of wikis use it. And the goal is to have it used by lots of wikis. I wonder if it could be somehow distributed, so that each wiki does its part of the work.

ma: Agree! Very much. I realize this problem and distribution would be awesome. For a beginning a “centralized” version might do though. Also refreshing sequence is an aspect, I guess. It’s ok when other wikis are told next morning. It doesn’t have to be three minutes. Would be nice but would work as well a little lamer.

sh: Ok, so lets try to see what happens, step by step, from the point of view of a single wiki engine.

  1. sh: Mattis comes and enables WikiNet on a wiki,
  2. ma: k, that means the wiki has a wiki-net-feed that contains it current information of what neighbors it’s watching. sh: So, there is a page somewhere on that wiki, with a list of links to (recent changes for day-pages feeds) from other wikis, and that list is available as a feed.
  3. sh: Mattis comes to the server and tells it where that list of wiki feeds can be found.
  4. sh: The server downloads that list, parses it and stores.
  5. sh: The parser downloads all the feeds from the stored lists, and stores them too.
  6. Lets say that wiki A has a feeds of wikis B, C and D on the list.
  7. An user comes to wiki A and requests a wiki net page.
  8. The wiki A asks the server for information, so that it can display it.
  9. The server computes:
9.1 a “who’s watching” list of all wikis, that have wiki A on their list
9.2 … ?

sh: wait, there are no users?

ma: no. The wiki-net server is a machine. It just computes what humans made (the wiki-net-feeds). And prepares the info for a certain wiki found somewhere in all the wiki-net-feeds to be requested by a wiki at a specific address.

what info exactly?

sh: you don’t have “push”, you can only download data, only “pull”.

ma: k, we talked on that. The sever can pull, and the wikis can pull back the computed info. To insert who’s watching a wiki’s face the wiki would have a line <rss “url of the wiki-net-server/NameOfTheWiki?/NameOfTheDayPageSet?”> I’d imagine.

5. The server looks for all entries from stored lists of all wikis a) for a certain wiki name + b) for a certain name of a day-page set. Find both blabla wiki and blabla day-page-set.

wait, it doesn’t know anything about day-page sets

ma: sry, all entries in the wiki-net feeds are from day-pages sets. And it groups them together and puts them out together as a new feed, kinda. Difficult to say (in Danish).

ma What info: The info that a certain day-page-set of the wiki is being watched by another wiki. This info is inside the wiki-net-feed.

The effect would be that another wiki not known to our wiki would suddently appear on the list of watching wikis (such are on wiki-net faces, wiki-net events, wiki-net ideas …)

sh: that’s 9.1
anything else?
hmm… I have an idea

so, you want something that Alex already uses on many wikis with his “automatic linkback” module?

ma: this is true. The linkbacks are part of it. Just as a feed and all in one feed.

sh: only for feeds, not normal links. I see it like this:

1. You create a WikiNode page on the wiki A, and add something like this: <watchedwikis http://wikiB.org/WikiNode http://WikiC.com/wiki/WikiNode http://wikiD.gov.au/WikiNode>

2. When you save the page, and every once in a while later, the wiki A engine tries to invoke a certain action, eg “?action=WikiNetWatch?” on these pages, setting the REFERER header on the HTTP request to address of that page, eg. http://wikiA.net/WikiNode

3. Every time this action is invoked on that page, the wiki checks the HTTP headers for a REFERER field. It collects them just like the linkback extension.

4. And it displays like this:

The wikis we watch:

The wikis that watch us:

ma: hmm, I see. It’s all probably much more simple and doesn’t need any “device” in between.

sh: it just remembers who downloaded, and downloads periodically itself. The entries could age, so if there is no “ping” for some time, it is removed from the list.

ma: let me digest this on my flight back and experiment later. I’ll let you know … Thanks for the ting, TheSheep.

sh: basically, all the wiki needs to do is to invoke a “I’m watching you” action on the other one. You don’t even need a referer, you could as well just do “?action=watch&from=WikiA

ma: “I’m watching day-page set X of you” it should be.


Few upfollowing thoughts are on odd-wiki-hive / 'wiki-net': 2007-12-21 / wiki-net server.

Define external redirect: NameOfTheDayPageSet WikiE WikiC NameOfTheWiki WikiD WikiB WikiNetWatch

EditNearLinks: TheSheep WikiA