|
|
Appendix B Gateway Directives Reference This appendix describes directives used in Gateway HTML object class and search result templates. Contents include: |
Introduction |
| The
display of LDAP directory information is controlled by HTML template files
containing directives. Directives are HTML comments that can be interpreted
by the gateway CGIs.The most commonly used directive
is DS_ATTRIBUTE, used to display attributes present in LDAP entries. Here
are some other examples of directives:<!--
DS_HELPBUTTON "topic=HELP-ME-NOW" -->
<!-- DS_ATTRIBUTE "attr=sn" "size=>20" --> <!-- IF "BoundAsThisEntry" --> Note. With the exception of GCONTEXT, each directive must start at the beginning of a line and be contained on a single line in the HTML file. Most of the directory server gateway directives begin with DS_, although some do not. Directory
entry display, edit, and add templates generally have the following structure:
Structure of an HTML Template for Directory List Directory
entry list templates generally have the following structure:
|
Context-Related Directives |
| The context-related
directives GCONTEXT and PCONTEXT appear within a line, and are not required
to appear at the beginning of a line. This is an exception to the rule.
All other directives must appear at the beginning of a line, to be recognized
by the directory server.
GCONTEXT The
<!-- GCONTEXT--> directive appears within an URL and is used in the
invocation of CGIs through GET operations. <!-- GCONTEXT--> can appear
anywhere on a line, and more than once within a line. The Gateway CGI reading
<!--GCONTEXT --> replaces it with the Gateway context it has at the
time.
<a href=/dsgw/bin/lang?<?-- GCONTEXT -->&file=auth.html>click</a> The
<!-- PCONTEXT--> directive must appear on a line by itself. The Gateway
CGI reading <!--PCONTEXT --> replaces it with a hidden variable indicating
the context it has at the time.
<form method=post action=/dsgw.bin/dosearch> |
Entry-related Directives |
| Entry-related
directives are supported by the dosearch and edit CGIs.DS_ENTRYBEGIN
Delimits
the beginning of an entry. The DS_ENTRYBEGIN directive is used in display
or edit templates to mark the start of an LDAP entry and in list templates
to mark the beginning of a section which should be repeated for each entry
which is returned by the search. Always paired with DS_ENTRYBEGIN.
Delimits
the end of an entry. Always paired with DS_ENTRYBEGIN.
The
DS_ATTRIBUTE directive is replaced with the contents of an attribute (i.e.,
its values). This directive must appear within a DS_ENTRYBEGIN...DS_ENTRY_END
block.
attr=attribute-name . Displays the named attribute. Any attribute may be displayed. The special attribute "dn" is recognized and causes the distinguished name of the entry to be displayed. syntax=syntax-type
. Displays
the attribute as if it were of syntax syntax-type. If no syntax= argument
is given, syntax=cis is assumed. Legal values are described in Table
B.1.
type=how-to-display. Renders
the attribute on-screen in a particular format. Legal values described
in Table
B.2 correspond roughly to HTML form element names.
options=option. Modifies
how the attribute is displayed. Legal values are described in Table
B.3.
defaultvalue=default-value . Supplies a default value for the attribute, which is shown if no attribute was read fromthe LDAP server. within=string-to-embed-in. For each value, outputs the text in string-to-embed-in, replacing all occurrences ofthe string --value-- with an attribute value. href=href. Specifies the HREF used for the hyperlink. For example, you can specify anonMouseOver JavaScript handler using the "href=" option. hrefextra=extra-text. Specifies additional text which is inserted after the closing quote of the HREF tag. dncomponents=number. Gives the number of DN components to show when displaying a DN. For example, if you include "dncomponents=2" and display the DN "cn=James Doe, o=Netscape Communciations Corp, c=US", the output will be "James Doe, Netscape Communications Corp.". size=number. same as cols argument. rows=number, rows=+number, rows=>number. Controls the number of rows used to display the entry. For type=text, this controls the number of editable HTML INPUT fields. For type=textarea, this controls the number of rows in the textarea. If number is preceded by a plus (+) sign, then number extra rows are included. If number is preceded by a greater-than sign, then at least number rows are included. cols=number, cols=+number, cols=>number. Controls the width of the displayed attribute. If a number is given by itself, then the attribute is displayed with exactly number columns. If a plus (+) sign is given before number, then the attribute is given number extra columns. For example, if the value is 10 characters wide, and number is 10, then 20 columns are used when displaying the number. If a greater-than sign (>) is given before number, then the displayed width is at least number columns. numfields=number, numfields=+number, numfields=>number. controls the number of editable fields displayed when editing. If number is preceded by a plus (+) sign, then the number of fields displayed is however many values were read from the server plus number. If number is preceded by a greater-than sign (>), then at least number values are displayed when editing. true=string. label used for Boolean values that are true. false=string. label used for Boolean values that are false. value=string. value
associated with an instance of a checkbox that is used to display strings
values (not syntax=bool values) (Not supported in DS 1.0)
<!-- DS_ATTRIBUTE "attr=dn" "syntax=dn" "dncomponents=2" "options=nolink" --> <!-- DS_ATTRIBUTE "attr=givenName" "cols=>32" --> <!-- DS_ATTRIBUTE "attr=sn" "cols=>32" --> <!-- DS_ATTRIBUTE "attr=uid" "numfields=1" "cols=>16" "options=unique" - -> <!-- DS_ATTRIBUTE "attr=mail" "syntax=mail" "cols=>20" --> <!-- DS_ATTRIBUTE "attr=telephoneNumber" "syntax=tel" "cols=>16" "numfields=+1" --> <!-- DS_ATTRIBUTE "attr=modifyTimestamp" "syntax=time" "defaultvalue=N/ A" "options=readonly" --> <!-- DS_ATTRIBUTE "attr=modifiersName" "syntax=dn" "defaultvalue=N/A" "options=readonly" --> <!-- DS_ATTRIBUTE "attr=mailDeliveryOption" "type=CHECKBOX" "value=mailbox" --> <!-- DS_ATTRIBUTE "attr=mailDeliveryOption" "type=CHECKBOX" "value=native" --> <!-- DS_ATTRIBUTE "attr=mailForwardingAddress" "syntax=mail" "type=textarea" "rows=2" "cols=30" --> Describes
the type of directory entries a given template should be used for.
value=value1,value2,...valueN. specifies
a list of objectclass values. In order for a template file to be used todisplay
a given entry, all of the values given must be values in the entry's objectclass
attribute.
<!-- DS_OBJECTCLASS "value=person,inetOrgPerson" --> Display
a widget that provides access to all views that are appropriate for this
entry (Not supported in DS 1.0). Usually this directive will be used without
any arguments at all, which causes a table that contains one cell for each
available view to be displayed.
prefix=text. HTML text to emit before view elements (optional) suffix=text. HTML text to emit after view elements (optional) curprefix=text. HTML text to emit before the link to the current (active) view element (optional) cursuffix=text. HTML text to emit after the link to the current view element (optional) altprefix=text. HTML text to emit before each link to an alternative view element (optional) altsuffix=text. HTML
text to emit after each link to an alternative view element (optional)
Specifies
that entries should be sorted; typically used within list templates. This
directive must appear within a DS_ENTRYBEGIN...DS_ENTRY_END block. Up to
two DS_SORTENTRIES directives are honored (the attribute from the first
one that appears is used as the primary sort key and the second one is
used as a secondary sort key).
attr=attrname. Sort
the entries in ascending order by attrname.
To
sort a list of entries by common name:
Specifies
that text describing the type of search done should be displayed. For example,
"Found 14 entries where the phone number ends with '25'".
Echoes
the contents of an arbitrary posted form variable within a VALUE= parameter.
name=varname. The
name of the form variable.
If
a variable called searchstring is posted and contains the text Mark Smith,
the directive:
will
produce the following
Displays
a button which, when clicked, brings up an editable view of an entry. This
directive must appear within a DS_ENTRYBEGIN...DS_ENTRY_END block. Typically
used in display templates.
label=text. Use
"text" as the label on the button. If not provided, the text "Edit" is
used.
<!-- DS_EDITBUTTON "label=Edit Person" --> Displays
a button which, when clicked, allows deletion of an entry. This directive
must appear within a DS_ENTRYBEGIN...DS_ENTRY_END block. Typically used
in edit templates.
label=text. Use
"text" as the label on the button. If not provided, the text "Delete" is
used.
<!-- DS_DELETEBUTTON "label=Remove Person" --> Displays
a button which, when clicked, saves changes to an entry. Typically used
in edit templates. This directive must appear within a DS_ENTRYBEGIN...DS_ENTRY_END
block.
label=text. Use "text" as the label on the button. If not provided, the text "Save" is used. checksubmit=javascript. only
submit changes if javascript expression is true.
<!-- DS_SAVEBUTTON "label=Save Changes" --> <!-- DS_SAVEBUTTON "checksubmit=formDataValid()" --> Displays
a button which, when clicked, allows editing of an entry using a non-default
template. This directive must appear within a DS_ENTRYBEGIN...DS_ENTRY_END
block.
label=text. Use "text" as the label on the button. If not provided, the text "Edit As" is used. template=template-name. use
the template name template-name when editing.
A
button to bring up edit-passwd.html template:
Displays
an HTML password INPUT field. This directive must appear within a DS_ENTRYBEGIN...DS_ENTRY_END
block.
Displays
an HTML password INPUT field. The gateway compares the value supplied by
the user in this field to the value in the DS_NEWPASSWORD field, and only
saves the new password value if the two match. This directive must appear
within a DS_ENTRYBEGIN...DS_ENTRY_END block.
Displays
an HTML password field for the old password. This directive must appear
within a DS_ENTRYBEGIN...DS_ENTRY_END block.
Displays
a help button.
topic=topic_name. causes
the Netscape Help System to open the given topic name.
<!-- DS_HELPBUTTON "topic=MODIFYPASSWD" --> Displays
a Close button, which causes the containing window to be closed.
label=text. Use
"text" as the label on the button. If not provided, the text "Close Window"
is used.
<!-- DS_CLOSEBUTTON "label=Cancel" --> Causes
the gateway to emit an HTML FORM directive, and several hidden form elements
which are required for proper operation of the gateway. This directive
must appear within a DS_ENTRYBEGIN...DS_ENTRY_END block.
Causes
the gateway to emit a </FORM> tag. This directive must appear within
a DS_ENTRYBEGIN...DS_ENTRY_END block.
Emit
a <BASE> tag that contains the base URL for the CGI that was executed.
(Not supported in DS 1.0)
Used
to edit DN-valued attributes, such as group member.
Used
to edit DN-valued attributes, such as group member.
XXX
(Not supported in DS 1.0)
display
an attribute based on an "attrvset" as defined in the dsgw.conf file.
set=name. use information from attribute value set name prefix=text. HTML text to emit before each attribute value element (optional) suffix=text. HTML
text to emit after each attribute value element (optional)
<!-- DS_ATTRVAL_SET "set=CAL" "attr=nsLicensedFor" "type=checkbox" "prefix=<TR><TD>" "suffix=</TD></TR>" --> Set
of directives that can be used to conditionally include HTML text
condition. boolean condition; if true, include following block of text !condition. boolean
condition; if false, include following block of text
<!--
IF "!DirectoryIsLocalDB" -->
<!-- IF
"AttributeHasThisValue" "objectclass" "cis" "mailRecipient" --> // this
entry is a mail recipient... do something special here
|
Miscellaneous Directives |
| BODY
Emit
HTML <BODY> element that includes color information. (Not supported
in DS 1.0).
<!-- BODY "onLoad=setDefaults()" --> Set
color information to be used in subsequent BODY directives. (Not supported
in DS 1.0).
<!-- COLORS "TEXT=#000000 BGCOLOR=#FFFFFF LINK=#FF0000 VLINK=#8000FF ALINK=#FF0000" --> Emit
HTML <HEAD>, <TITLE>, and <BODY> elements. Supported by all directory
gateway CGIs.
<!-- TITLE "Search Results" --> Emit
</BODY></HTML> sequence
display
a Help button (same effect as DS_HELPBUTTON directive, but can be used
from any gatewaydirectory CGI) (Not supported in DS 1.0)
<!-- HELPBUTTON "MODIFYPASSWD" --> Include
the contents of another HTML file. Note that you cannot nest include directives.
(Not supported in DS 1.0)
filename. the
name of the file to include. This is relative to the html/ directory where
files such as display-inetorgperson.html are located.
include
the contents of an HTML-based configuration file. Note that you cannot
nest include directives.(Not supported in DS 1.0)
filename. the
name of the file to include. This is relative to the config/ directory
where files such as dsgw.conf are located.
<!-- INCLUDE dsgw-orgperson.conf --> Display
a string that shows the result of the last domodify run. Note that this
directive only works when the genscreen or edit CGIs are invoked via domodify's
completion_javascript feature.
prefix=prefix-text. text displayed before the last operation info. suffix=suffix-text. text
displayed after the last operation info.
<!-- DS_LAST_OP_INFO "prefix=<P><FONT SIZE=%2B1>The user " "suffix=</ FONT>" --> Emit
an HTML form element that contains a list of all the o's and ou's that
are in the directory. If there is only one, a hidden field is produced;
otherwise an HTML select field is produced. (Not supported in DS 1.0)
name=varname. the name of the form element that is emitted prefix=select_prefix. text that is output before a select element suffix=select_prefix. text
output after a select element
<!-- DS_LOCATIONPOPUP "name=base" "prefix=Choose a searchbase" --> Emit
a string containing the version of the directory gateway CGI being executed.
(Not supported in DS 1.0).
Same as those supported by the dosearch and edit CGIs, except only conditionals marked with an asterix (*) are supported. |
![]() |
© Copyright 1998 Netscape Communications Corporation