[prev in list] [next in list] [prev in thread] [next in thread]
List: midgard-dev
Subject: [midgard-cvs] cvs: midgard /proposals/storage20/namespace/api nsapifuncs.sgml nsapistruct.sgml
From: jpbrunon <cvslog () midgard-project ! org>
Date: 2000-10-28 9:39:18
[Download RAW message or body]
jpbrunon Sat Oct 28 11:39:18 2000 EDT
Added files:
/midgard/proposals/storage20/namespace/api nsapifuncs.sgml
nsapistruct.sgml
Log:
begin structures for API - unstable
Index: midgard/proposals/storage20/namespace/api/nsapifuncs.sgml
+++ midgard/proposals/storage20/namespace/api/nsapifuncs.sgml
<chapter id="nsapifuncs">
<title>List of Functions (beta)</title>
<para>
</para>
</chapter>
Index: midgard/proposals/storage20/namespace/api/nsapistruct.sgml
+++ midgard/proposals/storage20/namespace/api/nsapistruct.sgml
<chapter id="nsapistruct">
<title>Data Structures (alpha)</title>
<para>
Most fields are strings.
See the proposed C language header file ...
</para>
<section id="nsapiconv">
<title>Conventions used (beta)</title>
<table>
<title>Conventions used</title>
<tgroup cols="2">
<colspec colnum="1" colwidth="1.75in">
<thead>
<row>
<entry>Syntax</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>[item]</entry>
<entry>optional item</entry>
</row>
<row>
<entry>[item]+</entry>
<entry>List of items, with at least 1 item</entry>
</row>
<row>
<entry>[item]*</entry>
<entry>List of items, can be empty</entry>
</row>
<row>
<entry>TYPE</entry>
<entry>Basic scalar datatype (ex: STRING)</entry>
</row>
<row>
<entry>{Format}</entry>
<entry>STRING formatted according to {format}</entry>
</row>
<row>
<entry>item_1 [| item_i]+</entry>
<entry>One of the items (OR)</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section id="nsapientry">
<title>Generic Record (entry) (alpha)</title>
<table>
<title>Entry structure (record)</title>
<tgroup cols="3">
<colspec colnum="1" colwidth="1.00in">
<colspec colnum="2" colwidth="1.00in">
<thead>
<row>
<entry>Field</entry>
<entry>Datatype</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>guid</entry>
<entry>{DistinguishedName} STRING</entry>
<entry>Global Unique IDentifier</entry>
</row>
<row>
<entry>classList</entry>
<entry>[AttributeValue]+</entry>
<entry>List of classes</entry>
</row>
<row>
<entry>version</entry>
<entry>[AttributeValue]</entry>
<entry>Version of the entry</entry>
</row>
<row>
<entry>attributeList</entry>
<entry>[Attribute]*</entry>
<entry>List of attributes (fields) of the entry</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
Allowing that one entry belongs to several classes adds more flexibility.
Subtyping ...
</para>
<section>
<title>GUID format (alpha)</title>
<para>
Selecting a LDAP-like Distinguished Name (DN) as the GUID format has the advantage \
of including the parent GUID -and all other ancestors- in the GUID itself. The \
string format of the DN is defined in RFC ... </para>
<para>
The Distinguished Name may be parsed and exploded into components (RDN) using \
utility functions. The "DistinguishedName" structure will then be used.
</para>
<table>
<title>DistinguishedName structure (GUID)</title>
<tgroup cols="3">
<colspec colnum="1" colwidth="1.00in">
<colspec colnum="2" colwidth="1.00in">
<thead>
<row>
<entry>Field</entry>
<entry>Datatype</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>rdnList</entry>
<entry>[AttributeTypeAndValue]+</entry>
<entry>List of components (RDNs) of the DN</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>Attribute structures (alpha)</title>
<table>
<title>Attribute structure (field)</title>
<tgroup cols="3">
<colspec colnum="1" colwidth="1.00in">
<colspec colnum="2" colwidth="1.00in">
<thead>
<row>
<entry>Field</entry>
<entry>Datatype</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>type</entry>
<entry>{ObjectIdentifier} STRING</entry>
<entry>Type of the attribute</entry>
</row>
<row>
<entry>ValueList</entry>
<entry>[STRING]*</entry>
<entry>List of values of the attribute</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>AttributeTypeAndValue structure</title>
<tgroup cols="3">
<colspec colnum="1" colwidth="1.00in">
<colspec colnum="2" colwidth="1.00in">
<thead>
<row>
<entry>Field</entry>
<entry>Datatype</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>type</entry>
<entry>{ObjectIdentifier}[;{Option}] STRING</entry>
<entry>Type of the attribute</entry>
</row>
<row>
<entry>value</entry>
<entry>STRING</entry>
<entry>Value of the attribute</entry>
</row>
</tbody>
</tgroup>
</table>
<para>
The exact format of string for values depends on the syntax of the attribute type.
</para>
<para>
The type can be extended by setting an option, as the language of the attribute \
values. </para>
<para>
Subtyping ...
</para>
<para>
All attribute values are STRING, syntax is about string format.
</para>
<table>
<title>Predefined types of attributes</title>
<tgroup cols="4">
<colspec colnum="1" colwidth="1.00in">
<colspec colnum="2" colwidth="1.00in">
<colspec colnum="3" colwidth="1.00in">
<thead>
<row>
<entry>Name</entry>
<entry>OID</entry>
<entry>Syntax</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>objectClass</entry>
<entry>2.5.4.0</entry>
<entry>{ObjectIdentifier}</entry>
<entry>Object class (type) of the entry (record)</entry>
</row>
<row>
<entry>creatorsName</entry>
<entry>2.5.18.3</entry>
<entry>{DistinguishedName}</entry>
<entry>GUID of the creator of the entry</entry>
</row>
<row>
<entry>createTimestamp</entry>
<entry>2.5.18.1</entry>
<entry>{GeneralizedTime}</entry>
<entry>Creation date (time stamp) of the entry</entry>
</row>
<row>
<entry>modifiersName</entry>
<entry>2.5.18.4</entry>
<entry>{DistinguishedName}</entry>
<entry>GUID of the last modifier of the entry</entry>
</row>
<row>
<entry>modifyTimestamp</entry>
<entry>2.5.18.2</entry>
<entry>{GeneralizedTime}</entry>
<entry>Last modification date (time stamp) of the entry</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
</section>
</chapter>
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@midgard-project.org
For additional commands, e-mail: cvs-help@midgard-project.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic