TingWiki/ting17

TingWiki

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

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

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

ting17_document

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

Minutes:
 * Local Names
 * Wiki Name Service
 * Metadata System (MachineCodeBlock)

Fundamental Issues:
 * general metadata
 * RSS feeds / RecentChanges
 * Local Names / linking systems

MachineCodeBlock for Wiki
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?
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: ?
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
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,...
L: OH- what about diferent RSS forms?!? yikes. ATOM, too..

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

Handling Revisions
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."

Dillema:
 * 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
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

 * ting 16 contents
 * ting 13 ideas
 * community-wiki experimental machine code block pages
 * community-wiki: machine code blocks
 * community-wiki: machine code blocks interpreter

Multiple Versions of Engines
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
If you create a customized version of an engine, provide your own block.

Parameters
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.


 * $PATTERN
 * URL quoting?
 * What is allowed?

May be just leave this open and beyond this standard.

Relative URLS
relURL's:

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
The issue is:


 * Some wiki name pages like so: http://wiki.example.com/page/FooBar/
 * but they might have XML-RPC like so: http://wiki.example.com/xml-rpc
 * The wiki engine needs to be able to provide the typical paterns as arelative Url from one base.
 * But,

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
- 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
- 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

Closing
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. {:)}=