click:VISION Manager: Creating Customized Network Tools
Articles and Tips: article
01 Sep 2000
As a network administrator, you constantly search for and com- pile information about the network you manage. For example, your company may require you to submit a monthly report on the amount of available disk space on network volumes. Because this is a monthly task, you probably have a specialized application to gather the required information and to produce this report.
However, your company may sometimes require information about the network that you do not regularly gather. In this case, you probably do not have specialized applications to help you search for and compile this information. For example, your company might be contemplating reorganizing its structure and might ask you to produce a report listing all of the users on the network and the groups to which these users belong. Assuming that this information is stored in your company's NDS tree, you could use the NetWare Administrator (NWADMIN) utility or ConsoleOne to retrieve the names of the User objects contained in each Group object.
Unfortunately, depending on the number of Group objects in the NDS tree, using the NWADMIN utility or ConsoleOne to gather this information might be time-consuming since you must access each Group object separately. Furthermore, after you retrieve the User objects in those Group objects, you would still need to put this information into a report.
ANOTHER OPTION
You do have another option: click:VISION Manager, which is application development software from Visual Click Software Inc, enables you to create customized reports and network management applications. (For more information about Visual Click, visit www.visualclick.com.)
Visual Click supports Novell's mission to deliver Net services software, which will help you simplify and secure your company's network and accelerate your company's transition to e-business. click:VISION Manager helps support this mission by simplifying the use and management of NDS eDirectory. For example, click:VISION Manager can help you assess, implement, and manage NDS security policies. click:VISION Manager services work with any version of NDS, including NDS eDirectory, and any version of NetWare, including NetWare 5.1.
click:VISION Manager comes with scores of applications that you can either use as they are or customize to meet your company's specific needs. Using click:VISION Manager's point-and-click interface, you can link any number of click:VISION Manager's predefined services to create your own application. These services are software modules that perform a specific task, such as listing all of the Group objects in your company's NDS tree.
Furthermore, if click:VISION Manager does not have the application you need or the predefined services that are necessary for creating the application you need, you can take advantage of Visual Click's Create My Solution service. This service allows you to send a detailed description of the applications you need to Visual Click, which then creates these applications for you.
GOOD THINGS COME IN SMALL PACKAGES
click:VISION Manager is composed of three components:
Console
Designer
Runtime
These components help you design and use applications that gather information about your company's network, that create reports from that information, and that manage basic elements on your company's network. (See Figure 1.) You can install all three click:VISION Manager components on a 32-bit Windows workstation running the appropriate Novell client software. (If you are running Windows 98 or 95, you must have Novell Client 3.02 for Windows 95/98 or above. If you are running Windows NT, you must have Novell Client 4.6 for Windows NT/2000 or above. If you are running Windows 2000, you must have Novell Client 4.71 for Windows NT/2000 or above.) Together, these components require less than 5 MB of disk space.
Figure 1: Console, Designer, and Runtime work together to help you create and use applications that help you manage your company?s network.
click:VISION Manager also includes two NetWare Loadable Modules (NLMs) that you can install on NetWare 5, 4, or 3 servers. The first module, IS_SRVx0.NLM, enables you to use click:VISION Manager services to ac-cess information about NetWare Core Protocol (NCP) requests, such as file open and close requests. The second module, CVMONE.NLM, enables you to use services that access information about NLM interdependencies, such as the NW:List Dependent NLMs service. (Neither of these NLMs is required for click:VISION Manager services to access information solely from NDS.)
CONSOLE: PROVIDING READY-MADE APPLICATIONS
The click:VISION Manager Console is a user interface that provides you with dozens of small, ready-to-use network management and reporting applications. (Although Visual Click calls these small applications applets, the applications are not Java applets. click:VISION Manager applications are written in C.) Visual Click developed these applications in response to customer requests, many of which came from customers who used the Create My Solution service.
"Everything in Console is something that somewhere along the line, someone has asked for," explains John McCann, cofounder of Visual Click. "If someone needs something that we don't have or that we can't do directly with what we have, we create a new service or application."
You can use the applications available through Console as they are to help you maintain NDS user accounts, assist help-desk personnel, examine the servers and disks on your network, and more. To access these applications, you simply launch Console from your workstation's Start menu and then click one of the application categories (for example, NDS User Maintenance) that appear on the left side of Console. When you click a category, a list of applications available in that category appears on the right half of Console. (See Figure 2.) You then double-click the application you want to use.
Figure 2: Console provides ready-to-use applications.
For example, suppose that an employee had just left your company. In this case, you could use the Smart Delete of User Accounts application in the NDS User Maintenance category to list the user objects in your company's NDS tree and the home directories associated with those accounts. You can then select the employee's name from this list and click to delete that employee's home directory, User object, and GroupWise account.
Presto-Change-O
If you need to create a report from a list that a click:VISION Manager application creates, you can simply right-click the list. For example, if you need a report that lists user objects and home directories, you can right-click the list that the Smart Delete of User Accounts application produces. You can then create a report in one of the following formats:
You can save the list as a comma-separated values (CSV) file, which you can then import into a spreadsheet application that reads these files, such as Excel or dBase.
You can save the list as a text file that includes headings and page numbers.
Learning by Example
In addition to using Console's ready-made applications to create reports, you can use these applications as examples to help you create your own applications. The ready-made applications are a combination of click:VISION Manager services that are linked together. By trying out these ready-made applications, you can see the types of applications that you can create. As McCann explains, "The main reason we created Console is that people were downloading click:VISION Manager and were not quite realizing that it was a tool to allow them to create whatever kind of application they want." Thus, in response to customers' apparent confusion, Visual Click "created Console to show people how many things they could do with click:VISION Manager." (You can download a trial version of click:VISION Manager, including Console, from .)
DESIGNER: MODIFYING AND CREATING APPLICATIONS
The Designer component is a GUI that allows you to modify existing Console applications or to create new applications. To modify an existing Console application, you right-click the application to move it into Designer. You can then customize the application by pointing-and-clicking the particular services that you want the application to include. (To access these services, right-click the existing service you want to modify, and then click Add.)
To use Designer to create your own application, you drag-and-drop screen controls into the Designer window. You can then add services to those screen controls.
Screen controls are programming elements that provide a foundation for click:VISION Manager's services. Screen controls also determine how the results of those services are displayed. Designer includes nine types of screen controls and four types of services. (For more information about these screen controls and services, see "Design Matters.")
For example, Designer includes a ListView screen control that supports Listing and Display services. Listing services provide you with a list of items, such as a list of the users in your company's NDS tree. Display services provide you with a single item of information, such as the creation date of a particular NDS User object. The ListView screen control allows you to create a report based on the information that a Listing service and several Display services provide. (See Figure 3.)
Figure 3: Designer includes a ListView screen control, which supports one Listing service and one or more Display services. This screen control displays information from these services as a report.
Natural Selection
Suppose you want to modify a Console application by adding a service that provides additional information. You can start with a Console application that almost meets your needs, and a handful of clicks later, you can have an application that completely meets your needs. For example, suppose you want to modify the Accounts That are Expired or Locked application (an application in the Assess NDS Security category) to include a service that tells you when locked or expired User objects were created. To add this service, you perform the following steps:
Move the Accounts That are Expired or Locked application from Console into Designer. As stated earlier, to move an application from Console to Designer, you right-click the application. Designer then prompts you to select either the Find NDS Accounts That Are Expired or Locked window or the Search for Expired or Locked NDS Accounts window.
Select the Search for Expired or Locked NDS Accounts window, and click OK. When you select an application window, Designer displays the screen controls that comprise that window. In this case, Designer shows you a ListView screen control and a Button screen control. If you right-click the ListView screen control and then click Add, Designer displays the particular services available to this screen control. (See Figure 4.)
Figure 4: When you right-click a screen control in the Designer window, Designer displays the services that have been selected for that screen control and the rules that are defined for these services.
Designer also shows you if these services are connected to other services and the rules that apply to the services. (Rules enable you to customize the results of a service.) The Listing service in the Accounts That Are Expired or Locked ListView screen control provides data for the NDS Accounts column in that screen control. This Listing service is called the NDS:SEARCH:List ALL objects by full name beginning at selected container or [Root] if no container selected service. Normally, this service provides a list of every object in the NDS tree, beginning either at the root object of that tree or at a selected container object. In this example, however, the rules that are set for this service limit the list to objects that are disabled, locked out, or expired. (See Figure 4.)
Click the Add button. When you click the Add button, Designer provides a list of all the services available for the screen control to which you want to add services. (You can right-click any service in this list for information about what that service does and how to use the service.) In this case, Designer provides a list of the Display services available for the ListView screen control.
Click to highlight the NDS:Display Object's Creation Time service in this list, and then click OK.
Click OK to accept this addition.
The Accounts That are Expired or Locked application now lists the creation time of objects that are expired or locked.
Starting From Scratch
As mentioned earlier, you can also build your own application. To create your own application, you run Designer from the Start menu of your workstation. Then, using the Designer tool bar, you select one of the nine screen controls by completing the following steps:
Click the icon for the screen control you want to select.
Move your cursor into the Designer window.
Click to install the selected screen control in this window.
The screen control then appears as an empty box inside the Designer window. To add services to this screen control, right-click inside the box. Designer lists all of the services that are available for this screen control. Click to highlight the particular service you want to use, and then click OK.
Depending on what you want your application to do, you can add services to the screen control. In addition, you can establish rules to fine-tune the data these services provide. For example, suppose you want to build a tool that lists the NDS trees on your company's network and then allows you to walk from the root objects of those trees to the container objects.
To create this application, complete the steps outlined above to install a TreeView screen control in the Designer window and add the NDS::List Trees service to that screen control. The TreeView screen control supports Listing services and displays the results of those services in an hierarchical list. (For an in-depth discussion of screen controls, see "Design Matters.") As its name implies, the NDS::List Trees service lists all of the NDS trees on your company's network.
Next, complete the following steps to add the services that enable your application to walk from the root objects to the container objects of the NDS trees that the NDS::List Trees service lists:
Click to add a nested service. A nested service operates only within the context of its parent service--in this case, the NDS::List Trees service.
Highlight the NDS:Include in the List, This Specific Container Object (Organization, Organizational Unit, etc.) service. (This service lists a particular container object, which you can specify using the Select Manual Entry button.)
Click Select Manual Entry button (which activates the Edit wizard), and then select [Root]. The Edit wizard helps Designer walk the NDS tree to find information such as the object classes, objects, and attribute definitions in that particular NDS tree. You can then use this information to add rules that refine services. In this case, the Edit wizard helps Designer find the root object of the NDS tree. Selecting this object for the NDS:Include in the List, This Specific Container Object (Organization, Organizational Unit, etc.) service creates a rule that specifies the root object as the specific container object that this nested service lists.
Click OK.
Click to add a nested service.
Highlight the NDS::List Container Objects (Organizations, OUs, etc.) service. This service lists the container objects in an NDS tree. However, because this service is nested under the NDS:Include in the List, This Specific Container Object (Organization, Organizational Unit, etc.) service above, it lists container objects for a particular NDS tree only when you click to open the root object of that tree.
Click OK.
The resulting application walks an NDS tree from the root object of that tree to the container objects.
One Thing Leads to Another
You can use this tree-walking application on its own, or you can connect it to other screen controls that use other services, thereby creating other applications. For example, you can connect the NDS::List Container Objects (Organizations, OU's, etc.) service in the tree-walking application to a ListView screen control that lists the User objects in a container object. You can then add services to this ListView screen control to provide information about those User objects, such as the last time the users logged in to your company's network.
The resulting application then uses the ListView screen control to list the users in a particular container object each time you select that container object in the TreeView screen control. You can also design this application to display the information in the ListView screen control in a separate window.
RUNTIME: A FLEXIBLE WAY TO SAVE
Depending on how you want to use an application you create, you can save it--or any Designer application--using one of the following two file extensions:
An .exe extension
A .cvm extension
Applications saved with either of these file extensions use Runtime when you run these applications. Runtime acts as an interpreter for the binary code that comprises those applications. However, the .exe and .cvm file extensions each use Runtime differently.
When you save an application as an .exe file, Designer incorporates Runtime code into the application file. This code makes it possible for the application to run without having access to Runtime. Instead, this application needs to access only two files--VCSSOL.DLL and a token file.
VCSSOL.DLL contains connections that an application needs to run on a workstation that is running Novell client software. The token file contains single user and/or site license tokens that enable Runtime to run applications in full capacity. (You can use Runtime--or applications saved with an .exe file extension--without a token. However, without a token, Runtime returns only three items in any list that your application produces.)
In contrast, applications with a .cvm extension access Runtime (Cvmrun.exe) when you run them. "The .cvm file can't do anything without Runtime. Runtime brings it alive," McCann explains.
In other words, .cvm application files do not include Runtime code. Consequently, they are smaller than .exe application files. "When you create a .cvm file, that file contains just the screen controls that you've used and the services that are going to be used in each one of those screen controls," McCann explains.
Because applications saved with the .cvm extension are dependent on the Runtime code, you may want to use this file extension if you plan to store and run Designer applications on only a few workstations. If you want to distribute these applications to many users, however, you may want to use the .exe extension. For example, you may want to distribute the User Self Update of NDS Values application from Console's NDS User Maintenance section. (The User Self Update of NDS Values application uses Text and Button services to update selected NDS attributes, such as job title and telephone number.) In this case, you could distribute an .exe file--and VCSSOL.DLL and the token file--to users' workstations without putting Runtime on those workstations.
VISUAL AIDS
To help you create your own applications, Visual Click includes the following resources with click:VISION Manager:
Introduction video
Advanced video
Instructional manual
The introduction video shows you how to combine three separate screen controls to create a simple application that lists the open files for a particular server connection and provides a numerical count of those files. The advanced video explains how to connect multiple windows and screen controls to create a complex application that lists objects for which an inherited rights filter is defined. The advanced video also shows you how to use the Designer Edit wizard.
Although these videos and the instructional manual are intended to help you use Designer with ease, these tools miss their mark. For example, neither of the videos explain why you take the steps the videos show (with a series of clicks) to get the resulting applications. "The videos show the cursor moving from here to there without any explanation of why," Ray Osburn, a LAN analyst for Intermountain Healthcare, observes. "The way the videos explain the program is very confusing."
Furthermore, the instructional manual makes the process of creating an application sound simpler than it actually is. (You can find the instructional manual at www.visualclick.com.) "Using Designer is not quite as intuitive as the manual implies," says Dennis Crowther, a network administrator for the University of New Mexico. "It takes a little bit of figuring out to know what you need to do."
Fortunately, you don't need to rely on either the manual or the videos to help you learn to use Designer. Visual Click offers the following resources:
Web-Based Discussion Forum. The web-based discussion forum (http://forums.visualclick.com) includes discussions on using Designer, among other topics. You can use the discussion forum to get technical support, to request enhancements to Visual Click products, and to share ideas about using Designer.
Existing Applications. You can use the existing Console applications to learn how to use Designer. You can move these applications from Console into Designer and then right-click on the screen controls that comprise these applications. By doing this, you can find out what services these screen controls use and how those services are connected to one another.
Create My Solution. If you are having trouble using Designer to create an application, you can use Create My Solution. As stated earlier, Create My Solution allows you to send an e-mail message to the Visual Click staff that will create an application to meet your company's unique needs. Create My Solution is free for the first year after you purchase click:VISION Manager.
Of course, you don't have to wait until you are having problems to use Create My Solution. Visual Click will help you create the application you need whether or not you are having trouble creating that application.
SUPPORT THAT LIVES UP TO ITS NAME
Although asking for help from a software company's support team isn't generally a satisfying experience, you will probably be pleasantly surprised by Visual Click's technical support, according to the customers I contacted. For example, Gregg Vermilyea, a technical support manager for Waukesha County Technical College, says Visual Click helped him create a help-desk application for changing NDS passwords before Visual Click even received the college's purchase order for click:VISION Manager. "Before click:VISION Manager, we'd been waiting for a nice little utility that the help desk could use to change users' passwords," Vermilyea explains. "Now they have it, and they're very happy about it, and we're pleased with the support we got from Visual Click even before they had the money in hand."
"I've been impressed with Visual Click's support, I'll say that," Crowther seconds. "When I can't get click:VISION Manager to do something I want it to do, I send an e-mail message or call Visual Click, and they figure out a way to make it do what I want it to do."
Osburn echoes, "With click:VISION Manager, if we need to come up with some kind of report and we're not exactly sure how to do it, we can just e-mail them a request. Visual Click will figure out how to do it, and they'll e-mail a file back to us.
Furthermore, if Visual Click's support staff creates a new service to provide you with the application you need, Visual Click incorporates that service in the next release of click:VISION Manager. Each new release is called a build--and Visual Click releases builds frequently. McCann explains, "Every couple of weeks, we issue a new build, so we're constantly making these new services available to everyone."
Visual Click maintains a mailing list to let customers know when a new build of click:VISION Manager is available. Customers can then go to the Visual Click web site and download this new build.
How much do you have to pay for these new builds of click:VISION Manager? The answer to this question depends on which purchasing option you choose when you buy click:VISION Manager.
If you purchase the Standard Edition, which starts at U.S. $995, you will need to purchase a product upgrade to receive new, fully functioning--that is, non-trial--builds of click:VISION Manager. However, if you purchase the Gold Edition, which starts at U.S. $1,195, you can receive fully functioning builds of click:VISION Manager for one year from the date of purchase. That is, for 20 percent more than the price of the Standard Edition, you can receive a year's worth of product updates. (You can find additional pricing information for click:VISION Manager at www.visualclick.com.)
LOOKING FORWARD
As a testament to the efficacy of click:VISION Manager, Novell's Tuning and Proactive Analysis team uses a click:VISION Manager application to extract information from its customers' networks. (Tuning and Proactive Analysis is a branch of Novell Consulting Services that specializes in tuning networks already in place.)
"I actually took one of [the click:VISION Manager Console applications] and modified it and created a simple .exe that we can use onsite," Nina Moorehouse, a practice lead for Tuning and Proactive Analysis, explains. This application extracts information about the SYS:\ volume on NetWare servers. "If we're out there to collect SYS:\ volume information from every server on the tree, the consultants now have an application to do that."
However, click:VISION Manager is only effective for creating applications that interact with NetWare and NDS. For example, these applications can't run on top of NetWare and NDS to keep a running log of NCP requests. Furthermore, these applications can't interact with other platforms, such as Windows NT.
To remedy these limitations, Visual Click is developing DSMETER, a product that will allow you to create applications that can run in the background on your company's NetWare servers and log events that interest you. In fact, Visual Click used click:VISION Manager to design the interface for this product. (Visual Click expects to release DSMETER in October 2000.)
In addition, Visual Click plans to offer versions of click:VISION Manager for other platforms, including Windows NT and Linux. "We'll be offering click:VISION Manager for LDAP, Microsoft Active Directory, Lotus Notes, and anything else that people want," McCann states.
Cheryl Walton works for Niche Associates, a technical writing and editing firm located in Sandy, Utah.
Design Matters
To create an application using the click:VISION Manager Designer, you first select a screen control. (A screen control is a programming element that provides a framework for specific types of services and that determines how the results of these services are displayed. A service is a programming component that performs a specific task, such as searching the NDS tree for container objects or user groups.) click:VISION Manager includes the following screen controls, each of which is represented by an icon on the Designer tool bar:
TreeView
The TreeView screen control supports one or more Listing services and presents the results of those services in an hierarchical view. (Listing services produce lists of items.) For example, the NDS::List All From [Root] Listing service lists all of the objects in the NDS tree, starting from the root object.
The TreeView screen control also supports Display services, but only when those services are used to create rules. (Display services provide a single item of data, such as the time of a user's last login.) Rules are Boolean expressions that you can use to refine the results of a particular service.
For example, you can select the NDS::List User Groups service, a Listing service that lists all the Group objects in NDS, for a TreeView screen control. You can then use the NDS:Display Count of Members service, a Display service, to set a rule for this Listing service so that the Listing service returns only Group objects that contain more than five User objects.
ListView
The ListView screen control supports a single Listing service and one or more Display services. This screen control presents the results of these services as a table. For example, you can select the NDS::List Users service, a Listing service that lists the User objects in the NDS tree. You can then add Display services that provide data about each user in that list, such as the user's fax number (via the NDS:Display Account's Fax Number service), telephone number (via the NDS:Display Account's Phone Number service), and street address (via the NDS:Display Account's Street service).
Dropdown
The Dropdown screen control supports a single Listing service and presents the results of that service in a dropdown list. For example, you could select the NW:List NetWare Servers service, a Listing service that lists the NetWare servers that are attached to your company's network.
Text
The Text screen control supports a single Display service. As a general rule, this Display service must be linked to another service in another screen control. For example, suppose you want to use the Text screen control to display the number of User objects in a particular Group object. To do this, you can use the NDS:Display Count of Members [of selected Group] service, which displays a numerical count of the User objects in a selected Group object. However, you must link this service to a service in another screen control that lists the Group objects in the NDS tree, such as the NDS::List User Groups service.
The Text screen control also displays static text. For example, you can use this screen control to display labels for information listed by another service, such as the results displayed by the NDS:Display Count of Members [of selected Group] service in the example above.
Edit
This screen control supports Edit services, which allow you to edit NDS attributes. Edit services are linked to a single Button service that applies the changes you make using these Edit services. Button services enable you to complete a specific action. For example, the OK Button service enables you to apply the edits you make to NDS attributes using Edit services.
Button
The Button screen control enables you to add services that perform an action. For example, you can link the NDS:Create User Button service to the NDS::List Container Objects (Organizations, OU's, etc.) service in a TreeView screen control. You can then highlight a container object in the TreeView screen control and click the NDS:Create User Button service to create a new User object in the highlighted container object.
Check Box
The Check Box screen control supports Edit services that allow you to set the state of NDS attributes. Like Button services, you must link Check Box services with services from other screen controls. For example, you can link the NDS:Edit IF Account (User) Can Change Their Own Password Edit service in a Check Box screen control with an NDS::List Users Listing service in another screen control to determine (by means of a check box) whether or not a user can change his or her own password.
Group Box
The Group Box screen control enables you to visually group the screen controls that you have defined for a given application or for a portion of that application. For example, you can use the Group Box screen control to group two related Text screen controls--one that displays the result of a Display service and one that labels this result.
To select a screen control, click the icon for the screen control on the Designer tool bar, move your cursor to the Designer window, and click to install the screen control in that window. To add a service to this screen control, right-click the screen control. Designer lists all of the services available for that screen control. Click to highlight the service you want to select, and click OK. (To find the number of each type of service in your build--or version--of click:VISION Manager, click the Help menu on the Designer menu bar, and then click About click:VISION Manager from the dropdown menu.)
* Originally published in Novell Connection Magazine
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.