<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.wikiworld.com/index.php?action=history&amp;feed=atom&amp;title=ObjectWikiDesignLab</id>
	<title>ObjectWikiDesignLab - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.wikiworld.com/index.php?action=history&amp;feed=atom&amp;title=ObjectWikiDesignLab"/>
	<link rel="alternate" type="text/html" href="https://www.wikiworld.com/index.php?title=ObjectWikiDesignLab&amp;action=history"/>
	<updated>2026-05-06T14:59:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.wikiworld.com/index.php?title=ObjectWikiDesignLab&amp;diff=1907&amp;oldid=prev</id>
		<title>imported&gt;Import: Imported current content</title>
		<link rel="alternate" type="text/html" href="https://www.wikiworld.com/index.php?title=ObjectWikiDesignLab&amp;diff=1907&amp;oldid=prev"/>
		<updated>2026-01-28T11:54:25Z</updated>

		<summary type="html">&lt;p&gt;Imported current content&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
[[ObjectWiki]] is a challenging design effort.  Competing requirements have somewhat stalled the effort here.  This page is for brainstorming design concerns and resolving them so that the effort may go forward in a timely manner.&lt;br /&gt;
&lt;br /&gt;
[[ObjectWiki]] is to be a &amp;quot;light weight&amp;quot; object environment designed to capitalize on the [[WebServices]], the [[SemanticWeb]], and [[FirstClassObjectsOnTheWeb]].  It objectifies not only wiki pages and their cocomponents but also Internet resources in general including HTML pages, media files, data bases and other [[WebServices]].&lt;br /&gt;
&lt;br /&gt;
See [[CollaborativeWebObjects]], [[ObjectWiki]], [[WikiObjects]], [[WikiTalk]], [[WikiReference]], [[WikiObjectUses]],  [[ObjectWikiClassroom]]&lt;br /&gt;
----&lt;br /&gt;
=== Design concerns:&lt;br /&gt;
===&lt;br /&gt;
&lt;br /&gt;
==== Clear mapping between Wiki pages, HTML pages, and XML&lt;br /&gt;
====&lt;br /&gt;
The [[ObjectWiki]] [[DocumentObjectModel]] (DOM) is, at present, simple, flexible, and ambiguous.  Text objects are simple lists of sections, paragraphs, sentences, phrases and words, with attribute tags introduced by titles or colons (tag: value) and content value addressability.&lt;br /&gt;
&lt;br /&gt;
The model needs to be completed to allow simple, intuitive, complete expression of formal XML entities in plain text. http://www.w3.org/XML/Activity&lt;br /&gt;
&lt;br /&gt;
==== Compatibility with XPATH, XSLT, and RDF&lt;br /&gt;
====&lt;br /&gt;
# references compatible with or convertible to XPATH http://www.w3.org/TR/xpath&lt;br /&gt;
# procedures compatible with or convertible to XSLT http://www.w3.org/TR/xslt (and later XQUERY http://www.w3.org/TR/xquery-operators/)&lt;br /&gt;
# knowledge definition compatible with RDF (SemanticWeb).&lt;br /&gt;
&lt;br /&gt;
==== Expression evaluation&lt;br /&gt;
====&lt;br /&gt;
There are several flavors of [[WikiTalk]] around and I am not happy with them.  Using the [[PhpWiki]] link format is convienient, but it also obscures the code.&lt;br /&gt;
I am struggling to decide between some combinations of alternatives.&lt;br /&gt;
&lt;br /&gt;
# Use : for literal assignment, use := for evaluated assignment.&lt;br /&gt;
 * x: [[ObjectWiki]]  assigns x the value &amp;quot;ObjectWiki&amp;quot;&lt;br /&gt;
 * x:= [[ObjectWiki]] assigns x the reference to the object (page) [[ObjectWiki]].&lt;br /&gt;
# always evaluate unquoted object references identified by and imbedded period&lt;br /&gt;
 * [[ObjectWikiDesignLab]]{1}.get gets replaced with the first section of this page.&lt;br /&gt;
# use x.do to evaluate the string x.&lt;br /&gt;
&lt;br /&gt;
An objective for this &amp;quot;meta&amp;quot; system is to allow free mixing of program and data.&lt;br /&gt;
&lt;br /&gt;
==== Context definition management and clearity&lt;br /&gt;
====&lt;br /&gt;
The contexts of an object includes the self (this), its inheritance heirarchy, user, privleges, system, and environment.  Each of these add attributes to any particular object use instance process.  It may make sence to distigush these contexts in attribute assignment. e.g&lt;br /&gt;
&lt;br /&gt;
Class.include: [[WikiPage]]&lt;br /&gt;
Class: CIS410 Intro to [[ObjectWiki]]&lt;br /&gt;
Room: 405 ITC&lt;br /&gt;
&lt;br /&gt;
would distinguish between the class or inheritance heirarchy and an instance attribute called &amp;quot;Class&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== To what extent should wiki Categories be imployed to define behavior of wiki pages.&lt;br /&gt;
====&lt;br /&gt;
&lt;br /&gt;
==== Code trust issues&lt;br /&gt;
====&lt;br /&gt;
Sharing programs involves trust, and trust often involves ownership.  Users cannot review every program they run to make sure it doesn&amp;#039;t do anything bad.  A lot of code can run well with &amp;quot;nobodies&amp;quot; priveleges, but code that takes action on your behalf, or on behalf of the program author requires the nesessary priveleges.&lt;br /&gt;
&lt;br /&gt;
==== class contraints&lt;br /&gt;
====&lt;br /&gt;
If x is a String, it might also be in a subclass Word, Number, Alphanumeric, etc.  We need to be able to specify the class we wish to impose on it and be clear that such usage is valid.&lt;br /&gt;
 * We can cast a object to an arbitrary class with prepended parenthesis (Word)x.  A &amp;#039;&amp;#039;validate:&amp;#039;&amp;#039; method in the class Word would be needed to validate that x is a valid Word.&lt;br /&gt;
&lt;br /&gt;
==== wildcard methods&lt;br /&gt;
====&lt;br /&gt;
In smalltalk, there is the message &amp;#039;&amp;#039;doesNotUnderstand&amp;#039;&amp;#039; that is a catchall for messages not specifically defined for the object.  Defining &amp;#039;&amp;#039;doesNotUnderstand&amp;#039;&amp;#039; allows error handling and proxy objects to be defined that resend messages to othe objects.  Wild card methods in [[ObjectWiki]] would allow a more flexible definition of the language of objects.  It could allow clauses such as are used in SQL to be defined. e.g.&lt;br /&gt;
&lt;br /&gt;
Class: [[RemoteObject]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;: HTTP.get(url:=address?&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
...&lt;br /&gt;
address: http://objects.com/12345&lt;br /&gt;
&lt;br /&gt;
this.&amp;quot;the answer is&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Globals&lt;br /&gt;
====&lt;br /&gt;
&lt;br /&gt;
==== [[RelaxNg]] [[WikiTalk]] already out there?&lt;br /&gt;
====&lt;br /&gt;
RELAX NG&lt;br /&gt;
http://www.oasis-open.org/committees/relax-ng/compact-20021121.html&lt;br /&gt;
&lt;br /&gt;
RELAX NG Compact Syntax&lt;br /&gt;
Committee Specification 21 November 2002&lt;br /&gt;
&lt;br /&gt;
The trick is to take the human version of RELAX NG, without all the &amp;lt;&amp;gt; characters and redundancies, make it [[PhpWiki]] friendly (WikiDiffs), and extend it to general object specification, XSLT/XQUERY/XPATH etc. programming, and then finally a natural language like operating environment at the top level (WikiTalk 2?).&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Import</name></author>
	</entry>
</feed>