You can save the defaults file and use it as inputwhen you run the explorer -g command tocreate or update the defaults file. During installation of Oracle Explorerversion 4.0 or later, this file is moved from the explorer_install_dir/etc/default/explorer directory to the /etc/opt/SUNWexplo/default/explorer directory. The contents ofthe defaults file are displayed as the default responses when you run the explorer -g command.
how to install sun explorer in solaris 11 commands
The installation script will install the SNEEP IPS (pkg://solaris/support/sneep) package and the ACT IPS packages (pkg://solaris/support/act) on your system. On top of that, RDA and Explorer will be installed as traditional SVR4 packages. The installation of the IPS packages will be done by using the file-based IPS repository in the install_stb.sh and running the pkg install command. The IPS packaging system will take care to update older versions of the IPS packages on the system.
To install Oracle Explorer Data Collector with limited interaction, modify the Oracle Explorer defaults settings on host_A and then run the explorer -g -d command to use the settings from host_A when installing on other hosts (such as host_B). If host_B has an existing defaults file, Oracle Explorer Data Collector uses the defined values whenever possible. If host_B does not have a defaults file, the tools uses the host_A defaults file settings.
Oracle SUN explorer is a collection of shell scripts and binary executable gathers information and creates a detailed snapshot of Oracle Sun system configurations and state. The explorer output enables Oracle engineers to assess Sun systems by applying the output against a knowledge-based rules engine. It will obtains information related to drivers, patches, recent system event history, and log file entries from the Oracle Explorer Data Collector output. Oracle Explorer currently runs on Solaris SPARC and Solaris x86 architectures. Oracle Explorer must be installed in the global zone if you are installing it on the Solaris 10 Operating System (Solaris OS).
The Solaris Cluster CLI commands are in the /usr/cluster/bin directory, and all begin with the cl prefix. Most of these commands have both a long form and a short form. The directory also contains the CLI commands used to manage systems installed with software releases prior to the Solaris Cluster 3.2 software, such as scrgadm, scconf, and scswitch.
*on this below sample, I move file c2960-lanbasek9-mz.122-55.SE12.bin from root to folder /tftpbootroot@solaris10 # mv c2960-lanbasek9-mz.122-55.SE12.bin /tftpboot/*chmod the file to 444 (owner/group/other only able to read):root@solaris10 # chmod 444 c2960-lanbasek9-mz.122-55.SE12.binroot@solaris10 #*Use inetconv command to install tftp SMF (Service Management Facility) and bring it online:root@solaris10 # inetconv -i /etc/inetd.confinetconv: Notice: Service manifest for 100235/1 already generated as /var/svc/manifest/network/rpc/100235_1-rpc_ticotsord.xml, skippedtftp -> /var/svc/manifest/network/tftp-udp6.xmlImporting tftp-udp6.xml ...Doneroot@solaris10 #root@solaris10 # svcs -a grep -i tftponline 12:50:11 svc:/network/tftp/udp6:defaultroot@solaris10 #
OBP DIAGNOSTIC COMMANDS AND TOOLSOBP is a powerful, low-level interface to the system and devices attached to the system (OBP is also known as the ok prompt). By entering simple OBP commands, you can learn system configuration details such as the ethernet address, the CPU and bus speeds, installed memory, and so on. Using OBP, you can also query and set system parameter values such as the default boot device, run tests on devices such as the network interface, and display the SCSI and SBUS devices attached to the system.
SOLARIS OPERATING ENVIRONMENT DIAGNOSTIC COMMANDSThe following table describes OS commands you can use to display the system configuration, such as failed Field Replaceable Units (FRU), hardware revision information, installed patches, and so on
Oracle Solaris 11 uses profile-based network configuration, which is comprised of two network configuration modes: manual (fixed) and automatic (reactive). Depending on which network configuration mode you choose during an installation, either the DefaultFixed network configuration profile (NCP) or the Automatic NCP is activated on the system. If the DefaultFixed NCP is active, the network is manually configured by using the dladm and ipadm commands . If the Automatic NCP or a user-defined, automatic NCP that you previously created is active, the netcfg and netadm commands (formerly nwamcfg and nwamadm) are used to create and manage network configuration.
AbstractThe WebWiseTclTk toolkit is an enhancement of the existingfeature set of Safe-Tcl and Safe-Tkthat does not compromise security.The toolkit re-defines thefunctionality of the auto_load mechanism in Tcl such that it worksfor packages located anywhere on the World Wide Web. It alsore-introduces several commands not available in Safe-Tksuch as topleveland menu to provide a much richer feature set of Tk commands.The toolkit is written entirely in Safe-Tcl/Tk and uses thehome policy for running applications as Tcl-plugins.The toolkit supports (1) creation of new Web-based Tcl applications with greatly enhancedfunctionality, and(2) migration of existing Tcl applications to the Web bymerely writing an encapsulation script.We demonstrate the capabilities of the WebWiseTclTk toolkit by readily creating an encapsulation script for Web-based execution ofthe Tk Widget Demonstrations, distributed with the core Tcl/Tk.Keywords:plugins, Web browsers, security,scripting, encapsulation, GUI.Introduction The last few years have seen an explosive growth of the usage of Tcl (Tool Command Language)[1,2,3]and its popularity can be easily gauged by the large number of postingsin the Tcl newsgroup comp.lang.tcl.Scripting languagessuch as Tcl are designed for `gluing' applications and encourage rapidapplication development as compared to system programming languages,and hence are very important for applications of the future[4].The emergence of organizations such as the recently formedScriptics [5] and the Tcl/Tk Consortium [6], focusing entirelyon scripting tools, applications and services, is an example of this trend.The maturity and robustness of Tcl/Tk provides a new opportunity tosupport creation and presentation of multimedia content on theWWW.Tcl-plugin[7,8]is an example of an elegant solution for embedding Tcl/Tk applicationsfor ready access inside the Web browser. In addition, the Tcl-plugin supports an excellent mechanism for securityof client hosts using a padded cell approach[9].The default security policy prohibits Tcl applets (tclets) from running other programs, accessing the file system, and creating toplevel windows (including menus), thereby giving theclient hosts a high level of confidence when executing tclets.However, such restrictions limit the scope of the Tcl applicationsexecuted inside a Web-browser.Our initial experience with Tcl/Tk, predating the phenomenal growth of WWW,was motivated by the need todevelop a user-friendly and versatile environment to support user-reconfiguration of complex workflows that executeheterogeneous programs anddata for the design of experiments in VLSI CAD.This environment, called REUBEN (for reusable and reconfigurablebenchmarking environment), was implemented entirely inTcl/Tk [1] and Expect [10].In essence, it provides the user with the ability to create directeddependency graphs as workflows of data, program, decision, and workflow nodes.Data and programs can reside anywhere on the Internet, and execution ofall nodes can be scheduled automatically, regardless of the data-dependent cycles in the graph. In its final form, the workflows in REUBENcan be multi-cast toseveral collaborating sites, recorded, and played-back for re-execution.An example of REUBEN environment to support a number ofdistributed and heterogeneous tasks in a VLSI CAD workflow isillustrated in Figure 1.More details are available in [11,12,13]. Figure:REUBEN environment consisting of several windows.Migration of large applications, such as REUBEN, to the Webis not easy if highest level of confidence in terms of security isdesired. This is especially true, because toplevel windows and menus are essential in such applications.One solution could be to useJacl[14], an interpreter to run Tcl scripts in a Java environment.Unfortunately, Jacl does not yet contain the entire feature set of Tcl,including namespaces and Tk.The WebWiseTclTk toolkit provides an easy solution for themigration of existing Tcl applications to the Web. Minimal changes arerequired in the original application. Our approach uses an encapsulating scriptto call the main script of the original application.This paper is organized into the following sections:(2) motivation;(3) WebWiseTclTk architecture;(4) implementation of WebWiseTk;(5) implementation of WebWiseTcl;(6) user's guide;(7) programmer's guide;(8) software status and availability; and(9) conclusions.Motivation A large application, written in Tcl, typically consists of a short mainscript and a library of support scripts. Applications start up quicklyby invoking the main script. As new features are accessed, the code that implements them is loaded automatically, using the auto_load mechanismavailable in Tcl. A complex environment such as REUBEN,described earlier and illustrated in Figure 1,requires that a number of windows be created during its runtime.The Tcl-plugin, based on Safe-Tcl, restricts running such large applicationsinside a Web-browser.A few of these restrictions are listed below:Auto_load scheme fails, unless the application package is installed on the client host. Another alternative is to merge all the scripts in the application into a single script which can be downloaded as a tclet.Applications are restricted to a single window since the command toplevel is not available in Safe-Tk and new windows cannotbe created.Menu widgets are also disabled in Safe-Tk.Tclets do not have access to standard input and standard output.The Tcl-plugin supports multiple security policies so that the tcletscan perform any of the functionality described above. However, this requiresevery client host to devise and customize their security policies for every application before accessing these as tclets.It is desirable that the Tcl applications be easily translated intotclets and made readily available on the World Wide Web:without requiring any major changes in the application code, andwithout requiring any sophisticated security policy to run the tclet.We have developed the WebWiseTclTk toolkit as an enhancement to the Tcl-plugin that makes use of the home policy only. The homepolicy is, by default, enabled in the Tcl-plugin and hence applications using WebWiseTclTk do not require the host clientsto modify their existing security policies.We decided to use the Tk widget demonstrations, distributed with the core Tcl/Tk, as a test-bench for testing the WebWiseTclTk toolkit. We chose to translate these demos for the World Wide Web because they cover most of the commands of thecore Tcl/Tk that are otherwise unavailable in Safe-Tcl/Tk.Figure 2 shows the result of posting these demoson the Web and executing them on a host client as a tclet using theNetscape browser.We invite users to try out this demo and send us comments on itsfeatures and performance. Figure:Tcl/Tk widget demos on the Web.Architecture Figure:Architecture for WebWiseTclTk tookit.The toolkit WebWiseTclTk consists of two parts:(1) WebWiseTcl which is an enhancement for Safe-Tcl and isuseful for applications that do not require display, and(2) WebWiseTk which is an enhancement for Safe-Tk for applicationsrequiring display. The toolkit itself consists of several smaller scriptsand uses the modified auto_load mechanism designed for WebWiseTclTk.Figure 3(a) shows the general architecture that implementsthe auto_load mechanism. Special cases of the generalized architectureare shown in Figures3(b), (c) and (d) and described below: 1.Typical client host, downloading a tclet from a Web server, hasonly the Tcl-plugin installed for its Web-browser. The server site providesnot only the tclet scripts but also the WebWiseTclTk toolkitas shown in Figure 3(b).The client host downloads the main script for the tclet which requeststo use the home policy. If the client host has not disabled thehome policy, then the main script downloads the initialization scriptof the WebWiseTclTk toolkit from the server site.Once the initialization has completed,the auto_load mechanism is modified to dynamically download the remainingscripts of the application as and when needed during execution of the tclet.2.In the second case, shown in Figure 3(c), the clienthost has locally installed the WebWiseTclTk toolkit. The main script of the downloaded tclet uses the locally availabletoolkit and visits the server site only to retrieve its other scripts.Thus, this results in faster execution of the tclet code.3.In the third case, shown in Figure 3(d),the WebWiseTclTk toolkit is neither available on the server sitenor is it installed on the client host.It is available at the software repository site at CBL. This requires theclient host to install a special WebWiseTclTk policy that allows thetclets to download scripts not only from its server site but to alsodownload the toolkit from the CBL site. This mechanism has the advantageof always using the latest version of the WebWiseTclTk toolkit.The generalized architecture allows the main tclet script to dynamically use one of the above three mechanisms, based on theconfiguration of the client host.We next describe the implementation details of the two packages WebWiseTk and WebWiseTcl.WebWiseTk Several Tk commands are hidden in Safe-Tk to prevent denial of serviceattacks against the host system. This, however, limits the scope of theTcl-plugin to very simple applications consisting of a single window only.We propose to overcome these limitations as follows:re-introduce several of the hidden commands in Safe-Tk,use existing commands that are already available in Safe-Tk, to define re-introduced commands,change the implications of a few commands, such as "grab -local" and "grab -global".The following sub-sections describe the methodology used for implementationof the WebWiseTk toolkit. Figure:Layout window of WebWiseTk toolkit.Layout.Figure 4 shows the layout window of the WebWiseTk toolkit. It consists of two main widget frames:A canvas widget is used to display several toplevel windows that may becreated during the execution of a tclet. If the toplevel windowis larger than the visible canvas area, then scrollbars may be used todisplay its hidden area. The scrollregion of thecanvas is initialized to pixels, but may be resized usingthe preferences option on the top right corner.A text widget is used to display button icons for all windows that have beencreated, including those windows that have been iconified.Several other widgets are shown, such as the On-line help window, scrollbars for the canvas and text widgets, and preferences to configure the size of the canvas widget.Toplevel.The ability to create a detached window,as provided by the command toplevel, is very useful for GUI applications of even moderate complexity. We define a procedure calledtoplevel which makes use of the command frame to create a detachedwindow and display it on the canvas widget.For every toplevel window, a set of several frames is created,as shown in Figure 5. Figure:Implementation of a toplevel window using frames.This gives the look and feel of a realwindow that would have, otherwise, been created by the window manager ofthe local host system.The frames are laid out usingthe grid geometry manager.Each frame serves a special purpose:The frames on the border have a default color and anactive color which is highlighted whenever the mouse cursor movesinside a window.This helps the user to identify the window that is currentlyactive. These frames arealso useful for changing the size of the window.The next set of frames, just below the resizing frame on the top, provideseveral functions related to the window, such as kill, iconify,maximize/restore size ordisplay the title of the window.A main frame is created in the center corresponding to each toplevel window.All subsequent child windows of the toplevel are packed into this frame.If the toplevel window has a Menu Bar associated with it, then the menuitems are packed into a frame just above the main frame.Having created these sets of frames, they are then packed onto the canvaswidget in the application workspace area in Figure 4by creating a canvas item of type window. This results in a restrictionthat the pathname of the window musteither be a child of the canvas widget or a child of some ancestor of the canvas widget.Hence, the window names of every toplevel command is translated to anew window name that is a child of the canvas widget. For example,a new toplevel window called ".w" is translated to a newwindow name called ".c.1.w", where ".c" is the name ofthe canvas widget and ".c.1" is the name of a unique framecreated for encapsulation of the new toplevel window.In addition, we create several bindings to manage and interact with the command wm, described next. A binding is alsoassociated with every toplevel frame so that the entire set of frames isdestroyed whenever the toplevel window is destroyed.Wm.The window manager command wm needs to bedefined as a procedure which manages the various attributes of the windowcreated using the procedure toplevel described earlier. It can beused to change the title of the window, to iconify/de-iconify the window, or to return the state of the window.Grab.An indefinite global grab performed by a tcletwill result ina denial of service attack since all the input from the terminalwould be re-directed to the tclet forever. But, if we re-define theimplication of a global grab such that it affects only the windowscreated by the tclet, then it can be considered to be safe.Thus, the command "grab -local $win", as defined here, results in grabbingof a single window within the tclet code and the command "grab -global $win" results in a grab across all the windows within thetclet. This effect of grab can be implemented by associating a newclass of bind called WebWiseTclTk with every window in the tclet, as follows: bindtags $w [linsert [bindtags $w] 0 WebWiseTclTk]Initially, the class WebWiseTclTk has no bind scripts associated withany of the events. Whenever a grab is performed on a window, abind script is created for each event sequence that redirects theevent to the grabbed window.The event generate command is used to process the event in the grabbedwindow. Figure 6 shows a script that achieves a global grab for a specific window. Figure:Script to achieve a global grab on a window.A grab is released by re-initializing the bind scripts for the classWebWiseTclTk to null. Variables are used to store the state ofthe grab command and return appropriate values for queries suchas "grab current" and "grab status".Menus.Menu widgets are as important as any toplevel widgets in any GUI applications,since they allow the user to invoke a list of one-line entries as and when required. The structural layout of the menu widgets created using frameand other Tk commands is shown in Figure 7.The command menu creates a toplevel frame and different types ofwidgets are added inside this frame: button widgets for command entries, checkbutton widgets for check button entries, radiobutton widgets for radio button entries and menubutton widgets for cascaded menu entries. Separator entries are created using frame widgets as shown in Figure 7. Figure:Implementation of the command menu.This structure is hidden from the display until the user clicks on themenu button at the top. The implementation of the command grab,as described earlier, is important and allows us to post the menu widgetframe whenever the user clicks on the menu button. As the user moves thecursor over different widgets in the menu frame, each widget is highlightedand the associated command invoked if necessary. Clicking on the cascadedentry results in the posting of another menu frame with its associated entries.If the menu widget is of the type pulldown menu in a Menubar, then themenu entries are packed into the Menubar frame that was created in thetoplevel procedure (Figure 5). Figure:Standard I/O of WebWiseTclTk toolkit.Standard I/O and audio.We have created a special window for standard I/O in WebWiseTclTk.Any communication to the standard I/O channel by commands such as puts and gets is redirected to the special window,as shown in Figure 8.Therefore, it is possible for the tclet and a user tointeract through the commands puts and gets.Audio commands, such as bell, are still potentially dangerous,with the risk of producing a continuous tone. Therefore, we defined aprocedure bell which produces a visual effect by momentarily changing the background color of the canvas widget.Safe commands.Earlier, we noticed that whenever a toplevel window, say ".w",is created,the window name is mapped to a new window name ".c.1.w",corresponding to themain frame in the set of toplevel frames. Therefore, existing safe commands such as button with windownames ".w.b"will fail, unlesstheir window names are also translated to a new name ".c.1.w.b",which is in the hierarchy of the toplevel main frame's children.We rename the existing safe commandsby moving them into a namespace for WebWiseTk,and define new procedures for them. Figure 9shows a sample code for re-defining the command button. The newlydefined procedure does the following:1.maps all the window names, in the arguments passed to the procedure,to the corresponding hierarchy in the toplevel frame.2.evaluates the original command button with mapped arguments. This creates a new command "$new_w" for the translated window pathname.3.defines a new procedure for the original window pathname "$w"that would have been created otherwise. This procedure, in turn,invokes "$new_w" whenever it is called.4.translates the window names in the returned values back to original windownames. This is important because the returned values may be directlypassed to other code for evaluation. Example: "pack [button .b]".5.returns the translated value "$new_ret". Figure:New definition for command button.The command bind also has to be re-defined.This is because the value of "%W" in the bind script gets thereal window name (".c.1.b") instead of the window name (".b")supplied by the tclet. Thus all window names referred by "%W" in the bind script aremapped back appropriately, before invoking the original bind script.Similarly, the command winfo is also redefined, so that its queries,such as "winfo width", "winfo children", etc., are correctlyhandled.Unsafe commands.Few commands, such as send, tk_getOpenFile, tk_getSaveFile, etc., do not pose thedenial of service attacks, but are still unsafeand very dangerous to the client host systemsince they present other forms of security attacks.These commands are therefore not available in WebWiseTk.However, it is always possible to use an appropriate security policy,other than the home policy, to enable these commands.Unsafe options.A few options for safe commands are considered unsafe and hence not available in Safe-Tk.These include "-bitmap @filename", "-file filename" and "-maskfile filename", among others. It is possible to allow theseoptions on the following conditions:1.the host system supports the use of the home policy, and2.the specified file exists on the server site of the tclet code.In such a case, the data for the specified filename is downloaded from the server site using the command "::browser::getURL filename".Then "-file filename" or "-maskfile filename"optionis replaced by "-data $downloadedData" or "-maskdata $downloadedData".On the other hand, for the option "-bitmap @filename", a bitmapimage is first created using the command image. Here the replaced option is "-image [image create bitmap -data $downloadedData]".The command"image create image -file filename"is also replaced with "-data $downloadedData" option,after we downloadthe data for the specified filename from the server site.However, the option"-data $downloadedData" expects the image data to be inbase64 format. Images in other formats are therefore tranlated to base64format using the tcl-only encoding procedures available in the Data Handling Package[15]. The enocoding process is slow and hence forimages of considerable size, one should save the original images in base64 format, instead of encoding them on the fly during execution of the tclet.WebWiseTcl To maintain security, it is importantthat the unsafe Tcl commands be hidden or restricted inSafe-Tcl. Several different security policies offered by Tcl-plugin 2.0are convenient and allow the application programmer to designtclet codes accordingly. We intend to make use of the home policyto enhance the functionality of the Safe-Tcl for WebWiseTcl.Script libraries and packages provide an excellent mechanism tostructure an application code into several smaller scripts,and then dynamically load each script as needed. We modify the restrictedcommands in Safe-Tcl such that it supports the packaging facility to automatically load scripts from the server site of the tcletcode. We only need to append the location of the server site, given by"getattr originHomeDirURL", to the auto_path variablefor the auto_load procedure to work correctly with the modified commands described next.Source.The filename argument for the source command is parsed fora URL. If the filename is a URL, then it is downloaded using thecommand "::browser::getURL filename" and its contents areevaluated. Otherwise, the original source command is invoked,as shown in Figure 10. Figure:New definition for command source.Open and close.When a filename specified for open is a URL, the specified URLis downloaded and saved on the temporary disk space of the host systemassigned by the home policy. Then, this file on the local disk is opened and its channel identifierreturned. Correspondingly, when a close command is invoked fora URL, the file on the local disk is not only closed, but also deleted.These functions are useful for opening a file/URL in read-only mode.File.We have re-defined the command file so that its optionsdirname, join, and split return correct results even when the specified filename is a URL.Pwd, cd and glob.These commands are not available in Safe-Tcl. We therefore assign theURL of the server site, given by "getattr originHomeDirURL", to be the defaultworking directory returned by the command pwd. This value is stored in a variable defined in WebWiseTcl namespace.The invocation of the command cd then results in change ofvalue of the current working directory stored in the variable.The command glob returns a list of all matching URLs foundunder the URL given by the current working directory.Users Guide We define users as those who intend to download and viewWebWiseTclTk toolkit-based Tcl-plugin applicationswithin their Web browsers.Users can very easily and quicklyfamiliarize themselves with the WebWiseTclTk environment.Figure 2 shows one such typical view of the environmentwithin a Netscape browser. The layout of the environment is shown inFigure 4. It has two widget areas - the one on theleft contains windows created by the tclet, and the one on the rightdisplays a list of buttons corresponding to each iconified window.Both the widgets have auto scrollbars.At the bottom, a single line help message is displayed, based on the location of the mouse cursor. The size of the widget containing thetclet windows may be increased or reduced by the user under thePreferences option.A user may also resize the canvas and the text widget areas by merelydragging the border between the two with a mouse cursor.Installation.It is not necessary for the users to install theWebWiseTclTk toolkit. The scripts in the toolkit are dynamically downloaded, as and when required,from the server site of the running application/tclet. However, for faster access, users do have an option of installing the WebWiseTclTk toolkit in their Tcl-plugin directory. In thiscase, the installation procedure consists of the following:1.Download the latest version of the WebWiseTclTk toolkit from: to the installation directory of the Tcl-plugin on your localfile system. # For local installation, csh% cd /.netscape/tclplug/2.0 # Or, for site installation, csh% cd /usr/local/lib/netscape/tclplug/2.03.Gunzip and untar the toolkit. csh% gzip -dc WebWiseTclTk-x.y.tar.gz tar xf -4.Verify the installation by visiting the test site under toolkit consists of tcl-only scripts and hence does not requireany compilation step.Programmers Guide Figure:Main script for encapsulation of the Tk widget demos shown in Figure 2.We define programmers as those who: (1) intend to writeTcl-plugin applications based on the WebWiseTclTk toolkit,or (2) wish to translate their existing Tcl applications intotclets for execution over the Web.Programmers, who intend to use the WebWiseTclTk toolkit fortheir tclets, should follow the guidelines listed below:1.Download the latest version of the WebWiseTclTk toolkit from: to a directory on your system that is accessible on your Web server. csh% cd /home/user/public_html/tcletsFor example, let the URL corresponding to this directory be user/tclets.3.Gunzip and untar the toolkit csh% gzip -dc WebWiseTclTk-x.y.tar.gz tar xf -4.Verify the installation by clicking visiting the examples distributed with the toolkit under user/tclets/WebWiseTclTk-x.y/examplesFigure 11shows an example to encapsulate the Tkwidget demos and execute them on the Web. The TkWidgetDemos.tcl script, the demos directory and the WebWiseTclTk toolkit directory all exist in the samedirectory location on the Web as shown below:/home/user/public_html/tclets/WebWiseTclTk-x.y/examples \ _ TkWidgetDemos.html _ TkWidgetDemos.tcl _ WebWiseTclTk \ _ DownloadToolkit.tcl _ toplevel.tcl ... _ demos \ _ widget _ arrow.tcl _ button.tcl ...When a user downloads the TkWidgetDemos.tcl script, the script first triesto load the WebWiseTclTk toolkit from the user's host system. Ifit succeeds, then the home policy is requested since the Tk widgetdemos consist of several different scripts. On the other hand, ifthe WebWiseTclTk toolkit cannot be loaded from the user's hostsystem, then it is downloaded from the tclets's server site.The variable $tk_library is set to point to thetclets's server site so that it knows from where to auto_loadthe demo script.Finally, the widget script is sourced to execute the demos.If the tclet does not require the use of display,possible by setting "tk=0" in the html embed statement,then it is also possible to load only the WebWiseTcl toolkit.Debugging.When writing new tclets,programmers can avoid using Tcl-commands which are either not available or not yet implemented inWebWiseTclTk toolkit. However,when converting existing applications, it is very difficult to isolateand removethese commands in the code. Therefore, we provide a mechanism wherebya dialog box is popped up whenever anyunavailable or unimplemented command is used in the code the first time, as shown in Figure 12. Figure:Dialog box for unimplemented commands.The programmer, who is testing the tclet as a user, has a choice toeither ignore the generation of this dialog box, the next time the same command is used, or to repeat it.A "Stack Trace" button is also available to locate the generationof the unimplemented command in the code.Extensibility and reconfigurability.The WebWiseTclTk toolkit consists of several smaller scripts,specifically one file for each command that is either newly defined orre-defined. Therefore, programmers can (1) define and add their own commands which may be unavailable, such as send, in a separate file, or(2) re-define the existing commands by modifying the corresponding file toimplement their own version of the command.For example, the commands toplevel and menu may bere-implemented with a different layout to give a native look and feelon different platforms.Experiences and Future Scope The Tcl-only implementation, mapping window names onto a canvasobject, real-time conversion of gif images to base64 format, etc resultsin degradation of performance. We have tried to minimize these effectsby modularizing the code in such a fashion that related tcl procedures areclustered into single script files. Thus, procedures required forimplementation of the menu command are loaded only if the commandis used by the tclet code.Another area of optimization is possible by improving the efficiency ofthe procedure to map window names back and forth onto canvas objects,since this is one of the most frequently called procedure.Installing a local copy of the toolkit with the Tcl-plugin on the client host will improve the performance when the distance betweenthe client host and the web-server is large.We also need to improve the reliability of the toolkitby adding sufficient hooks to handle cases when `getURL' is likely totimeout or fail under high network traffic conditions.Software Availability and Status The WebWiseTclTk toolkit described is available at current version of the toolkit is beta 1.02.We have successfully tested this version of the toolkit on a Sun Sparc workstationwith Solaris 2.5.1 using Netscape 4.0 and 3.0.On a Windows 95/NT machine, we had to install the toolkitlocally before we could access tclets based on WebWiseTclTk.Also, we had to use a special policy that allows downloading scriptsfrom the server site using the command ::http::geturl from the http package. This is because, (1) the blocking version of the command ::browser::getURL is not supported in Netscape 4.0, and(2) the command ::browser::getURL is not availableunder Internet Explorer 4.0 for the Tcl-plugin.The implementation of menu widgets in WebWiseTclTk is specificto Unix and hence do not function properly on a Windows 95/NT machine.We have also tested the toolkit successfullyon a Mac running under MacOS 8.0.Again, the current implementation of menu widgets do not workcorrectly on a Mac.Some of the features of the WebWiseTclTk toolkit described inthis paper are not yet implemented. For example, in menu widgets, advancedfeatures that are not implemented include:the accelerator option for any of its entry is ignored, creation of clones of menu frames using the tear-off entry is not possible, etc.For details of such items and current updates, please consult We have demonstrated the capabilities of the WebWiseTk toolkit by readilyposting an existing Tcl application, namely the Tk Widget Demos,as an executable Tclet on the Web. Since these demos cover most of the commandsavailable in the main Tcl/Tk interpreter, they signify the potentialusefulness of the toolkit.Introduction of the WebWiseTcl toolkit, which usesthe home policy, enablesprogrammers to structure their tclets into severalsmaller scripts. Such scripts are easier to manage and dynamically loadedduring the execution of the tclet.While most of the commands related to denial of service attacksmay be eventually restored in the Tcl-Plugin, WebWiseTclTk toolkitstill offers the ability to confine the tclet windows to a singledisplay within the Web browser.Our first major application of WebWiseTk has been the introductionof Web-based user-configurable and executable workflows that support anenvironment functionally similar to one in REUBEN[11,12,13]. First demos of this capability has been shownin the University Booth during the 1998 Design Automation Conference [16].On-line demos are accessible from 2ff7e9595c
Comments