<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://javatelnet.org/rdf'>
    <s:Snip rdf:about='http://javatelnet.org/rdf#Configuring+Plugins'
         s:cUser='leo'
         s:oUser=''
         s:mUser='leo'>
        <s:name>Configuring Plugins</s:name>
        <s:content>We use a pugin scheme to allow easy addition of software modules to the framework. These plugins may either be used to work on the data streams ([Plugin Telnet]), display additional information ([Plugin Status]) to the user or be bywork ([Plugin URLFilter]). &#xA;&#xA;Standard plugins are provided with the package. These plugins are desribed here.&#xA;&#xA;__How the plugins work:__&#xA;&#xA;It is __important__ that you understand how the plugins work to configure them correctly. You cannot simply put the plugins in the configuration file in any order; __order is important__.&#xA;Imagine the data flowing through the plugins from __left to right__ (from remote computer to user).&#xA;&#xA;{code}__CORRECT:__&#xA;plugins=Socket,Telnet,Terminal,Status{code}&#xA;&#xA;&#xA;{code}__WRONG: __(Telnet must be between Socket and Terminal)&#xA;plugins=~~Telnet~~,Socket,Terminal,Status{code}&#xA;&#xA;~~All plugins that work with the data stream (like [Plugin Script]) must be between [Plugin Socket] and [Plugin Terminal].~~&#xA;&#xA;----&#xA;&#xA;__standard plugins:__&#xA;{table}&#xA;Plugin | Comments&#xA;__[Plugin Socket]__ | A most basic plugin used for low level communication with remote hosts. It almost always needed. &#xA;__[Plugin Telnet]__ | This is the actual handler for telnet type communications. It filters the data streams and handles all telnet options. &#xA;__[Plugin SSH]__ | For more secure communication you would rather use SSH instead of the Telnet plugin as it provides a way for secure communication over insecure networks.&#xA;__[Plugin Terminal]__ | This is a very important plugin as it is the actual terminal so you can see what you do. It implements an [ANSI]/[VT320] compatible terminal emulation.&#xA;__[Plugin Shell]__ | A shell plugin for use with local command shells. Not really useful right now. &#xA;{table}&#xA;&#xA;__add-on plugins:__&#xA;{table}&#xA;Plugin | Comments&#xA;__[Plugin Status]__ |  An example how to write a listener plugin and display information.&#xA;__[Plugin Timeout]__ | A useful plugin for Applet users. It will allow you to define an idle timeout to close the connection.&#xA;__[Plugin ButtonBar]__ | The new implemenation of our well known button bar module. With new configuration options and better look than ever.&#xA;__[Plugin Script]__ | The script plugin may be used to automate login procedures for guest accounts.&#xA;__[Plugin Sink]__ | The Sink plugin is a replacement of the Terminal plugin, which just reads and discard data. Useful if you do not want output.&#xA;__[Plugin URLFilter]__ | Filters URLs out of the incoming data and displays a list to open them in a web browser (Applet)&#xA;__[Plugin MudConnector]__ | A special plugin for www.mudconnector.com to display a list of muds to connect to.&#xA;__[Plugin BSX]__ | A third party plugin for use with BSX enabled MUDs. It is contained in the contributed package (see [download]).&#xA;{table}&#xA;&#xA;----&#xA;&#xA;__More than one plugin with the same name:__&#xA;&#xA;To accomplish that we have introduced identifier for the plugins. A normal plugin list would look like:&#xA;&#xA;{code}plugins = Socket,Telnet,ButtonBar,Terminal{code}&#xA;&#xA;If you wanted to set up another button bar you are in trouble because it would read the same options twice. So when setting up two plugins of the same name you do as follows:&#xA;&#xA;{code}plugins = Socket,Telnet,ButtonBar(one),ButtonBar(two),Terminal{code}&#xA;&#xA;You give both plugins a unique name (one and two) and use this name in any following configuration properties:&#xA;&#xA;{code}&#xA;layout.ButtonBar(one) = North&#xA;layout.ButtonBar(two) = South&#xA;ButtonBar(one).setup = http://server/one.conf&#xA;ButtonBar(two).setup = http://server/two.conf&#xA;{code}&#xA;&#xA;And that is it! If you define properties without the unique name they will be used as fallback values in case a needed property is not set for a specific plugin. &#xA;&#xA;Have a look at the [applet.conf].&#xA;</s:content>
        <s:mTime>2005-11-10 14:23:52.731</s:mTime>
        <s:cTime>2005-11-10 14:23:52.731</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Docs and Tutorials'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin SSH'/>
                <rdf:li rdf:resource='#Download'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Installing the Applet'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Docs and Tutorials/'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#SnipSnap/config'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Installing as a local Telnet/SSH Application'/>
                <rdf:li rdf:resource='#applet.conf'/>
                <rdf:li rdf:resource='#SSH'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Terminal'/>
                <rdf:li rdf:resource='#default.conf'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Script'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Telnet'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Java WebStart'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Docs+and+Tutorials'/>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Using the Connection Relay Daemon'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#installing the applet'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Socket'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Shell'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#License Agreement'/>
                <rdf:li rdf:resource='#download'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#start/2005-09-27/1'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin ButtonBar'/>
                <rdf:li rdf:resource='#About'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Status'/>
                <rdf:li rdf:resource='#Telnet'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin+Telnet'/>
                <rdf:li rdf:resource='#plugins'/>
                <rdf:li>
                    <s:Snip rdf:about='http://javatelnet.org/rdf#Configuring+Plugins'>
                        <s:attachments
                             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
                    </s:Snip>
                </rdf:li>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Timeout'/>
                <rdf:li rdf:resource='#mrelayd'/>
                <rdf:li rdf:resource='#leo'/>
                <rdf:li rdf:resource='#jan'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin+SSH'/>
                <rdf:li rdf:resource='#dhelrod'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin URLFilter'/>
                <rdf:li rdf:resource='#snipsnap-portlet-3'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#SnipSnap/themes/thinkberg/css/snip.css'/>
                <rdf:li rdf:resource='#snipsnap-portlet-1'/>
                <rdf:li rdf:resource='#jordi'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin MudConnector'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#start/2005-11-10/1'/>
                <rdf:li rdf:resource='#buttonbar.conf'/>
                <rdf:li rdf:resource='#snipsnap-notfound'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin BSX'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin Sink'/>
                <rdf:li rdf:resource='#telnet'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#SnipSnap/tracker'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#User Links'/>
                <rdf:li rdf:resource='#colorSet.conf'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#start/'/>
                <rdf:li rdf:resource='#snipsnap-copyright'/>
                <rdf:li rdf:resource='#relayd'/>
                <rdf:li rdf:resource='#snipsnap-portlet-2'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin buttonBar'/>
                <rdf:li rdf:resource='#ssh'/>
                <rdf:li rdf:resource='#snipsnap-help'/>
                <rdf:li rdf:resource='#SnipSnap'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Marcus Meissner'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#SnipSnap/config/apidocs'/>
                <rdf:li rdf:resource='#marcus'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#SnipSnap/config/robots.txt'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Plugin+Terminal'/>
                <rdf:li rdf:resource='http://javatelnet.org/rdf#Java+WebStart'/>
            </rdf:Bag>
        </s:snipLinks>
    </s:Snip>
</rdf:RDF>
