From s23
Jump to navigation Jump to search



ting17, sunday 10TH of April 2005, 18:00 UTC (20:00 CEST)[edit]


from server: is-root.de, port: 32123

See also the talk-page for the ting17_talk. (same as discussion in the orange bar above)



  • ma: Mattis Manzel
  • lk: Lion Kimbro
  • F: Fabi alias MoinMoin:FlorianFesti


  • Local Names
  • Wiki Name Service
  • Metadata System (MachineCodeBlock)

Fundamental Issues:

  • general metadata
  • RSS feeds / RecentChanges
  • Local Names / linking systems

MachineCodeBlock for Wiki[edit]

This is what the MachineCodeBlock looks like for an individual wiki instance.

That is, a particular wiki in the world. Not "MoinMoin," but rather, "a particular MoinMoin." Not "MediaWiki," but rather, "a particular Mediawiki wiki, such as the Seattle wiki."

title: Interwiki name
base-url: (URL to add the page name to, use $NAME if it goes inside a pattern)
front-page: (page name)
engine: (URL of MachineCodeBlock)
engine-title: name of engine (human readable)
description: one line wiki description
default-licence: URL (text or machinecodeblock or HTML or two-in-one or...)
default-licence-title: human readable license title
language: of the content use two chars.
neigbour: (URL of neighboring wiki's MachineCodeBlock)
neighbor: (URL of another neighboring wiki's MachineCodeBlock...)
participant: (URL of a participants' MachineCodeBlock)
participant: ...
participant: ...
maintainer: (URL of host maintainer's MachineCodeBlock)

There may be more things to be added.

update on community-wiki: community-wiki

Time Stamps?[edit]

validuntil: timestamp (XXX get standard name)

L: I'm woried about this, wouldn't you have to change this every day, or however often you update?

F: hmm, good point...

time-to-live: (in days?)
time-to-live-s: (in seconds, optional, if people wanted it?)

F: May be we leave this open. There are some technical issues to be clearified before this can get a final state.

host: ?[edit]

host: (URL of MachineCodeBlock representing host information)

L: Conceivably, we may want to link to information about the particular host machine that the wiki is served by, for charting purpose or whatever.

MachineCodeBlock for WikiEngine[edit]

title: Name of wiki engine
development-wiki: (URL to machinecode block of development wiki)
version: (one version number)
wikirpc_v1 : relURL
wikirpc_v2 : relURL
remove-from-base: (* see discusion below)
revisions: ordinals (** see discusion below; alternatives: "iso8601", "milliseconds") 
recentchanges : (relURL)
rss : (relURL)
per-page-rss: (relURL, optional $NAME)
page-list : (relURL)
plaintext-page-list: (relURL)
search : (relURL $PATTERN)
search-titles: (relURL, $PATTERN)

view-rev : (relURL, $REV, optional $NAME)
view-source : (relURL, optional $name) view markup as plain text
view-source-rev : (relURL, $REV, optional $name) view markup as plain text
view-printable :(relURL, optional $name) printer friendly version
view-printable-rev :(relURL, $REV, optional $name) printer friendly version
page-info: (relURL, optional $NAME)
page-history: (relURL optional $NAME)
page-edit: (relURL optional $NAME )
page-edit-rev: (relURL, $REV, optional $NAME) - edit from a version
last-diff: (relURL, optional $NAME)
rev-to-rev-diff: (relURL, $EARLIER, $LATER, optional $NAME)
rev-to-next-diff: (relURL, $EARLIER, optional $NAME)
rev-to-current-diff: (relURL, $EARLIER, optional $NAME)

There may be more things to be added.

RSS 0.x, 1.0, 1.x, 2.0, ATOM,...[edit]

L: OH- what about diferent RSS forms?!? yikes. ATOM, too..

L: Well, RSS feeds ARE pretty identifiable,..

Handling Revisions[edit]

How do we deal with the optional $REV stuff?

  • "I want a printable version of page Foo v34."
  • "I want to view source for version 45."


  • If you put $REV into the form, then clients are required to figure out the current version number.

F: we need to provide extra entries for that.

LK: Okay, so like: view-source-rev, view-printable-rev,...

LK: I worry about possibilities stacking up, combinatorial explosions. But perhaps we can just pick favorites.

F: We do only provide that entries that the engine supports. May be not even all.

Optional Names[edit]

When $NAME is optional, that means: if page $NAME isn't found, it's appended at the end.

This is because people are used to Intermaps that say, "foo http://blahblah/?page=", where the page is supposed to be automatically appended at the end.

Older Material[edit]

Multiple Versions of Engines[edit]

Ah, we may have one MachineCode block per version.

I think that's the way to do this, since information may change version to version.

Customized Engines[edit]

If you create a customized version of an engine, provide your own <machinecode> block.


Several services need to recieve parameters:

  • revision (number?)

LK: We do this with things like "$REV" or "$EARLIER" and "$LATER".

F: That's not the point. The point is: How does the revision number look like and wher do we get it from?

LK: Hm, I would feel that that's beyond the scope of the imediate specification.

LK: I don't know what differnt engines use, beyond just: '1", "2", "3", and naming dates ISO8601 or whatever.

F: Moin uses timestamp in milliseconds AFAIK.

LK: Ah, I see. I think a user has to name the revision, for now. Maybe we should have an entry: "revision-numbers:" with the value: "iso8601", "ordinals", or "miliseconds", for now.

F: yes, but we'll ahve a look at it later on as this depends on the wiki engine implementations.

LK: If someone makes up a new form, they can just make up a value, I suppose.

LK: Let's put an entry in our format, and (**) it to look down here.

    • URL quoting?
    • What is allowed?

May be just leave this open and beyond this standard.

Relative URLS[edit]


wikirpc_v1 : "?action=xmlrpc2"

(I suspect whatever we come up with, will be used in most MachineCodeBlocks.) (ah, I see: they go on top of the base URL) (I'm worried about those wiki that do page names like:

  http://wiki.example.net/pagename/  )

(see more, following, on ways of doing page/xml-rpc pointing)

Posible Ways of Doing Page & XML-RPC pointing[edit]

The issue is:

Also, some engines allow customizing the URL pattern. A wiki needs to be able to overide some typical information from the WikiEngine.

Remove-From-Base method[edit]

Wiki Engine's Block -----

removefrombase : "pages/"
xmlrpc_v1 : "?action=xmlrpc"

Wiki's Block -----

engine: (URL of engine)

* ugly: What's the "base"?

Dual-Base method[edit]

Wiki Engine's Block -----

xmlrpc_v1: ?action=XML-RPCv1
page_urls: pages/$NAME/

Wiki's Block -----

engine: (URL of engine)
base: http://thiswiki.example.com/

  • disadvantage: you have to calculate to get the page_url pattern, the page_url pattern is the most common use


F: I am getting tiered. Are there any important points left?

LK: I don't think so; I need to depart for a couple hours; Let's call this it, for now; Our "sketch" of how thes work.

F: *arg* we forgot the most important part, no page list

LK: RSS feed. {:)}=

LK: per-page, and per-whole-wiki.

LK: true!

F: Ok, let's call it a day!

LK: agreed! {:)}= It's been good.

LK: Take care, I'll see you later. {:)}=