This is my personal page. It's not much here yet, sorry that's on my plate. At time goes by this will become my virtual bussiness card.
To get started, visit the upcoming Askemos documentation, or the README?, find some fragments available in the in the XSLT? fragment library. For examples see the web mail application (beware: the mail tool will not work upon installation, see docs how to enable it) the address data base example and the nunu a cross between wiki, wrapbit and others. For up to date version please visit askemos.org.
Before proceeding: when filling in forms, you are likely to become a victim of an implementation restriction you better know about.
Edit properties of this place, if you need to change names, secrets or views. (Note: There is a form included to change the protection, but this place does not support the request.)
There's a primitive editor to create and send messages to arbitrary places.
| Action |
|
Data read from |
|
| using | |||
| Protection |
|
initialize (optional) |
|
| and find that document later here | |||
|
last:
|
me:
|
||
Linkname | ===> |
|
Grant
user
the right meant by document
. I grant that right. |
|
Revoke
from
the right meant by document
. I that right. |
| Send the usual "take over" request somewhere: | |
<!--
This is the page, from which the xslt-user.xml file is constructed
(by resolving the "@"-includes. The final outcome is distributed
in the app directory. Due to automatic, not too practicle
formating you don't want to read that file but browse the source.
-->
<xsl:stylesheet xmlns:dsssl="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:mind="http://www.askemos.org/2000/CoreAPI" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="business-card">
<email label="E-Mail"></email>
<phone label="Telefon"></phone>
<surname label="Name">Galle</surname>
<firstname label="Vorname">Gonzo</firstname>
</xsl:variable>
<xsl:variable name="state">
<srcplace label="from">msged/index.html</srcplace>
<method label="Methode">public/xslt-method</method>
<protection label="Protection">public</protection>
<message label="Nachricht"><form><template>code</template></form></message>
<initialize label="Initstring"></initialize>
<lname label="Linkname">huhu</lname>
</xsl:variable>
<xsl:template match="request[@type="read"]">
<xsl:choose>
<dsssl:when test="(pair? (msg 'destination))">
<!--
The form "mind:forward" is syntactic sugar. See CoreAPI.
-->
<mind:forward></mind:forward>
</dsssl:when>
<dsssl:when test="(is-metainfo-request? msg)">
<rdf:RDF xmlns:a="http://www.askemos.org/2000/NameSpaceDSSSL" xmlns:dc="http://purl.org/dc/elements/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:space="default">
<a:copy-of select="
(make element gi: 'Description
attributes: `((about ,(oid->string (me 'get 'id))))
(node-list-filter
(lambda (p)
(not (eq? (gi p) 'links)))
(children (children (me (me 'get 'id) 'metainfo))))
)
"></a:copy-of>
</rdf:RDF>
</dsssl:when>
<!--
Usually it's enough to check for service-level to protect the metaview,
but for theuser page it's better to also deliver it "anyway".
This is not exactly needed, but otherwise the users might lock themself
out accidentally.
-->
<dsssl:when test="(and (is-meta-form? msg)
(or (service-level)
(eq? (me 'get 'id) (msg 'dc-creator))))">
<!--
A meta form is a special view a the place, which is concerned with
some details the normal use requires anyway, but does not explicitly
care about.
To ease and unify the handling of meta data, we've got a special
view, wich might evolve as time goes by. To view that default we
include the next "when" case.
-->
<dsssl:copy-of select="(message-body (metaview me msg))"></dsssl:copy-of>
</dsssl:when>
<dsssl:when test="
(equal? (data (form-field "template" (current-node))) "GetBusinessCard" )">
<dsssl:copy-of select="(xsl-variable "business-card")"></dsssl:copy-of>
</dsssl:when>
<dsssl:when test="(service-level (public-oid) (my-oid))">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>user identification page</title>
<meta content="text/html" http-equiv="Content-Type"></meta>
</head>
<body bgcolor="white">
<h1>
<dsssl:copy-of select="(data (select-elements (xsl-variable "business-card") 'firstname))">userid</dsssl:copy-of>
</h1>
<dsssl:copy-of select="#CONTENT">
(root (make element gi: 'p
(let ((sn (select-elements (xsl-variable "business-card") 'surname)))
(if (node-list-empty? sn)
(empty-node-list)
(children (node-list-first sn))))))
</dsssl:copy-of>
<p>
This is my personal page. It's not much here yet, sorry that's on
my plate. At time goes by this will become my virtual bussiness card.
</p>
<!--
The following views are restricted to the users eyes. Most of this
sections are personalized input forms the user usually needs. Not
that it would harm, if others would submit these forms; access
control is to be performed upon write requests. But we a) might want
to restrict the view, b) others simply have no use for them.
-->
<dsssl:if test="(service-level)">@UserExpl<hr></hr>@UserForm</dsssl:if>
</body>
</html>
</dsssl:when>
<xsl:otherwise>
<html>Somehow I can't see anything. Dunno why.</html>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!--
The lower half applies, when the object is written to.
It will create an element mind:reply, which should as first element
contain the next state of the object.
-->
<xsl:template match="*[@type='write']">
<xsl:choose>@ForwardCtrl@AcceptAllRightsCtrl@RightsAdministrationCtrl<!-- again we don't want to lock ourself out accidentally.
--><dsssl:when test="(and (eq? (me 'get 'id)
(msg 'caller))
(is-meta-form? msg))"><dsssl:copy-of select="(message-body (metactrl me msg))"></dsssl:copy-of></dsssl:when><xsl:otherwise><!--
Here we should receive email etc.
Instead we just thow an error.
--><dsssl:copy-of select="(error (xml-format (current-node)))"></dsssl:copy-of></xsl:otherwise></xsl:choose>
</xsl:template>
</xsl:stylesheet>
Diese Seite findet man von: overview, .
Letzte Modifikation:
Autor(en): jfw,
Dokument Nummer A67bb0753e1676f81983e0ecf3a15b391
geliefert an public
um Thu, 21 Aug 2008 23:55:23 +0200