ObjectWiki

From WikiWorld

Jump to: navigation, search

Contents

ObjectWiki is Obsolete.

This was envisioned when WikiWorld was running off of PhpWiki, though is interesting historically.

ObjectWiki empowers WikiObjects to be CollaborativeWebObjects

We need to look at the goals of Object Wiki before we can discuss intelligently the format of WikiObjects.

We seek to do CollaborativeHypermedia in the WikiWay. Our design should be based on Wiki principles, making it better but not unnecesarily complex.. We want to improve it, not mess it up.

  • It should be simple and self-organizing. It will work cause it's WikiSimple.

' In order to share program safely they must be readable by non-programmers. Their function should be self evident. Using simple semi-structured text WikiObjects syntax and simple interfaces can enable this. (Comments can help, did I say that?)

  • It should build on the existing WikiReference bracketed syntax.
  • Anyone should be able to do most anything by default. It should be WikiFree.
  • It should be unconstrained, i.e. WikiLoose.
  • It should be persistant and low entropy, WikiSafe

See also: http://c2.com/cgi/wiki?WikiDesignPrinciples

The syntax is being developed in: ObjectWikiDesignLab, WikiTalk, WikiReference, WikiObjects, WikiObjectUses

What is CollaborativeHypermedia Wiki style?

What are objects?

  • Entities that answer questions about themselves.
  • Entities that change state in a predictable way via defined behavior.
  • Entities that inherit behavior such that only their unique attributes need be defined.

What are basic WikiObjects?

  • Text Values

' Pages ' Page Elements

  • References

' Links ' other operations/attribute accesses

  • Lists
  • Members
  • Roles (list of permissions)
  • Permissions (list of operations/attributes)
  • Built in operations
  • Activities
  • Rules (based on Notation3?, a quick notation for jotting down or reading RDF semantic web information, and experimenting with more advanced sematic web features. http://www.w3.org/2000/10/swap/Primer )

What are Wiki Object Service Objects?

  • Interfaces: templates that encourage consistant object language within ObjectWiki and interface (via IDL in concept) to external services
  • Rule Engine
  • Name Server
  • Object Broker
  • Storage Broker

What is the Object Wiki bootstrap environment?

The idea is to add as little as possible to Wiki itself by gatewaying to external web services. For performace reasons, some wikis may impliment common operation natively, but what we wish to standardize is the minimal capability needed to interface with http based services such as querystring gets and formdata posts as well as formal SOAP services, (see http://WebServices.org and http://www.xmethods.com/).


SOAP expample:

In practice we would hide the parameterized XML code from classes users would see and only use XML in the base SOAP language classes. Here we access the primative directly for demonstration purposes. Braces {} are used where brackets belong due to a phpWiki bug.

This uses the draft WikiObjects 0.5 format.

stockQuoteIBM:

%%%class: BasicSOAP %%%request:

<SOAP-ENV:Envelope xmlns:SOAP-ENV"http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi"http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:getQuote xmlns:ns1"urn:xmethods-delayed-quotes" SOAP-ENV:encodingStyle"http://schemas.xmlsoap.org/soap/encoding/"> <symbol xsi:type="xsd:string">IBM</symbol> </ns1:getQuote> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

sample response:

<SOAP-ENV:Envelope xmlns:SOAP-ENV"http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi"http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:getQuoteResponse xmlns:ns1"urn:xmethods-delayed-quotes" SOAP-ENV:encodingStyle"http://schemas.xmlsoap.org/soap/encoding/"> <return xsi:type="xsd:float">133.625</return> </ns1:getQuoteResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

use example:

The current value of IBM stock is {{thisPage.stockQuoteIBM}.do}.return dollars per share.

displayed sample result string:

The current value of IBM stock is 133.625 dollars per share.

use use and quoted attribute example: {thisPage."use example"}.fetch


What are the ideal Hypermedia Object protocols for Wiki?

By providing the power and leverage of an object system many different competing object protocols can be used by various groups. Over time, the best of breed will shine and become standardized. At this point we are primarily concernced with the bootstrap capabilities. Then we can add category classes for organization and page classes for discussions, problems, projects, alternatives etc. as required for group processes. Many of the higher level protocols we use will most likely be borrowed from other hypermedia environments, just accessed from the less formal Wiki environment where you don't need a PHD to use them.

Thus the primary application (use cases) initially will be the actual construction of collaborative hypermedia capabilities, or basic GroupWare of the system itself. The wiki authoring environment will be harnessed to define and extend all our desired object classes.

I will do an example WikiObjectClass and a derived JimScarverWikiObjectClass Wiki pages with some basic functionality (other than SOAP) to demonstrate how this all might work. Hopefully that will answer many questions.

See WikiObjectUses


2003.1.8 DavidSiegel

I must come back to this very soon. Creating a system of collaboration that can be refined by the system itself has profound ramifications. Somehow I want to be involved in making this happen. How can I help?

> 'Indeed, I am sad progress here has been slow. EIES| was such a system and my destiny is to be part of building a next generation. I think you know what is needed here and are capable of providing some organization, vision, obsession, other skills to be discovered. Help me to help you help us.'

  -- JimScarver (strange I found your question as I very rarey list minor edits).
Personal tools