[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