|
|
1.1 ! root 1: % run this through LaTeX with the appropriate wrapper ! 2: ! 3: \chapter {WIDGET} ! 4: ! 5: WIDGET (Window Interface Developed at GEc hirsT) ! 6: is a simple Directory User Agent for X.500 Directory Services. ! 7: It is included only as an example of an X.500 interface, and how to ! 8: use the procedural interface, it is not considered to be fully developed. ! 9: ! 10: WIDGET supports the following Directory operations:- ! 11: \begin{itemize} ! 12: \item bind ! 13: \item read ! 14: \item list ! 15: \item search ! 16: \item modify ! 17: \end{itemize} ! 18: ! 19: WIDGET uses only a subset of these operations. If you want to ! 20: use the full power of X.500 you should use the DISH interface described in ! 21: Chapter~\ref{dish}. ! 22: ! 23: WIDGET is curses based, and splits the users screen up into a number of ! 24: small areas called ``widgets''. Each widget is used to enter information. ! 25: ! 26: \section {Types of Widget} ! 27: ! 28: There are various types of ``widget'' used by the WIDGET program, these are ! 29: described in the following sections. ! 30: ! 31: Each widget (except label widgets) have an identification ! 32: ``letter'' associated with them, ! 33: this is indicated by the left most character in the widget, for example, ! 34: the widget below is identified by the letter ``\tt b\rm ''. ! 35: ! 36: \begin{tabular}{|l|} ! 37: \hline ! 38: \tt b: bind\ \ \\ ! 39: \hline ! 40: \end{tabular} ! 41: ! 42: \subsection {Label Widgets} ! 43: Label widgets are used to simply write information to the screen, they do not accept ! 44: any form of input. ! 45: ! 46: \subsection {Command Widgets} ! 47: A command widget is used to make the program take some kind of action, such as ! 48: send a {\em read} operation to the directory, ! 49: or to change the set of widgets displayed. ! 50: ! 51: To issue the command type the letter indicated in ! 52: the widget. ! 53: ! 54: \subsection {Dialog Widgets} ! 55: ! 56: Dialog widgets are used to get information from the user. ! 57: To use a dialog widget, press the letter associated with the widget. ! 58: Any further input from the keyboard will be entered into the widget, ! 59: a ``return'' character is used to end the input. ! 60: ! 61: \subsection {Toggle Widgets} ! 62: ! 63: Toggle widgets are used to select one of a set of pre-determined values. ! 64: Simply enter the widget letter, and the value will change the next value in ! 65: the circular list. ! 66: ! 67: \section {Using WIDGET} ! 68: ! 69: The WIDGET interface is invoked with the \pgm{widget} command. ! 70: ! 71: Help is given at any stage by typing `\tt ?\rm ', type `\tt q\rm ' to quit. ! 72: ! 73: \subsection {Binding} ! 74: ! 75: When run, the first set of widgets display are used to connect to a DSA. ! 76: You are allowed to change the name of the DSA you want to contact, the user ! 77: name and password. ! 78: ! 79: The are also two widgets to select and read the cache file. Caching is ! 80: described in section \ref {dua_cache}. ! 81: ! 82: You can not proceed until you have successfully connected to a DSA, once ! 83: connected, the main options set of widgets will be displayed. ! 84: ! 85: \subsection {Main Options} ! 86: The ``main options'' set of widgets, allow you to modify your ! 87: current position in ! 88: the DIT, and select the {\em read, list, search} and {\em modify} set of ! 89: widgets. ! 90: ! 91: The current position is entered into the ``goto'' dialog widget. The QUIPU ! 92: format ! 93: for a distinguished name, described in many other places, is used. ! 94: The initial setting of this value is defined by your ``quipurc'' file. ! 95: See section~\ref{quipurc}. ! 96: ! 97: \subsection {Read} ! 98: ! 99: The {\em read} set of widgets, allow you specify the node of the DIT you want to ! 100: read (Enter the name of the node in the ``base'' widget). ! 101: To read the node, activate the ``start'' command widget. ! 102: The result will be displayed in the text window at the bottom of the screen. ! 103: All results are cached, so future reads will be quicker. ! 104: ! 105: \subsection {List} ! 106: ! 107: The {\em list} set of widgets are used to list the children below the specified ! 108: node. ! 109: The default sizelimit parameter can be changed with the ``limit'' dialog ! 110: widget, a value of -1 specifies no size limit. ! 111: ! 112: List results are cached. ! 113: ! 114: \subsection {Search} ! 115: ! 116: The {\em search} set of widgets are used to create a simple search filter to apply ! 117: to the directory. ! 118: ! 119: Only a single filter item can be specified, and only string types can be ! 120: searched for. ! 121: ! 122: The attribute type is selected with the ``type'' toggle widget, and the type ! 123: of match with the ``match'' toggle widget. ! 124: The search value is entered into the ``value'' dialog ! 125: (If a value is specified with a {\em present} match, the value is ignored). ! 126: ! 127: The Distinguished names of entries found to match the filter are ! 128: displayed. The attribute data form the is cached, so that it can be looked at using the ! 129: read set of widgets. ! 130: ! 131: ! 132: \subsection {Modify} ! 133: ! 134: Modify is similar to search !!! That is you specify the type and value ! 135: required, and the type of operation. With modify, the type widget is a ! 136: dialog widget, not a toggle widget. ! 137: ! 138: The operations recognised are: {\em modify}, {\em add}, {\em remove}, {\em add value} and ! 139: {\em remove value}. ! 140: The {\em add value} and {\em remove value} options ! 141: are used to manipulate multi valued ! 142: attributes, attempts to remove the last value, or add a value to a ! 143: non-existing attribute result in an error (as defined by the standards) ! 144: ! 145: \subsection {Quitting} ! 146: ! 147: There are a final set of widgets to quit the program. ! 148: They give you the option of saving the cache, then quitting, or just quitting. ! 149: ! 150: When you leave the program, an ``unbind'' operation will be sent to the DSA ! 151: on your behalf. ! 152:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.