.



Core Functions    
Working with Enterprise 6

Multi-Processes

The multiple session capability of Enterprise 6 means that you can have many different windows open simultaneously, depending on the amount of RAM you have. You can take advantage of this feature to make your use of Enterprise 6 more time-efficient.

Each time you select a menu item, you launch another process. For example, ‘Enter Companies’, ‘View Companies’ and ‘List Companies’ will all launch their own processes.

For example, suppose the phone rings while you are entering some Company data and you are asked for the price of a Product. The Company screen’s View menu does not contain a ‘View Products’ item, but there are several ways in which you can proceed, while keeping your Company screen open in the background for you to return to once the call has finished.

If you do not have a Products process running, you need to get to a position from where you can launch one. Clicking the large button on the left of the Buttons Palette or selecting ‘Menus’ from the File menu (<Command-`>/ is a shortcut) will bring you back to a main splash screen from which you can launch ‘View Products’ (using the Volumes menu if necessary).

You can also take advantage of the fact that the Product file is a Core Data file and therefore ‘View Products’ can be launched from the Functions Palette. The Functions Palette is available everywhere in Enterprise 6. If it is not on screen, it can be brought up using the Volumes menu.

If you do have a Products process running (ie, ‘Enter Products’, ‘View Products’ or ‘List Products’), you can select ‘Processes’ from the File menu (or use <Command-=>/) to bring up the Processes palette. As this is a palette, it is always on screen unless you have previously closed it using the close box. In its compressed format, this palette appears as follows:

The simplest way to select a process relating to Products is to click on the arrow, hold down the mouse button and then select an appropriate option from the resulting options list. This contains all the processes currently running. Full details of this palette are to be found in the next section. Once your selected Product process appears, you will be able to click the [Find] button in the Buttons Palette to query again to find the Product in which the caller is interested.

Finally, if you have a large screen, you will be able to structure your windows on screen so that you can click on each of them in the same way as you would windows on the desktop. If you have a Products process running, you can simply select that with the mouse or, if not, you can select a splash screen with the mouse instead.

Processes Palette

Most commonly, the Processes Palette will be used to bring different processes to the front so that they can be used. However, it can also be used, for example, to pause currently unnecessary processes to allocate as much processing power as possible to an important and time-consuming job.

The Processes Palette launches automatically on start-up in the top right of the screen, underneath the Applications menu icons. A downward-facing arrow indicates that there is a pop-up menu available listing all the currently open user processes. The palette contains a close box, but also, to the right, a ‘grow box’ that expands the Palette to a larger size. Note that the larger window is still a Palette, which means that all other windows will always appear behind it. Once you’ve finished with it, therefore, you may well want to reduce it again to the small version by pressing the same ‘grow box’.

As with all palettes, it can be moved by pressing the <Command-Control> key combination and dragging its title bar with the mouse (Macintosh only).

Along the bottom of the uncompressed Processes Palette are various buttons, which control the functions listed below. Use this button to bring the chosen process (ie one you have highlighted in the list) to front, Showing it and Resuming it. If you have not highlighted a process, then the first one is automatically highlighted and Brought to Front. The other buttons act on all processes in the list if none is highlighted. This is used in conjunction with the [Hide] button below. It can be used singly for a selected process, or, if there is no process selected, it will Show all of those in the list.

Note that Showing a window does not mean that it will automatically be either Brought to Front or Resumed, though in practice if the Shown window is the frontmost, it will also be Resumed. This is used to remove a process or processes (all if none are selected) from the screen without actually closing it down.

Hiding it does not automatically Delay or Pause it, which means that printing tasks, for example, can be hidden while still operating. In practice, though, data entry and viewing processes will be automatically Paused by the feature described below in the section entitled ‘Controlling Processes’. This can be used to pause specified or all processes for a specified number of minutes. Note that the ‘Delayed’ state is different from the system’s automatic Pausing in that the Delay once manually imposed will have to be manually lifted (using the [Awaken] button below or the [Bring to Front] button above) - simply clicking on a Delayed window will not awaken it.

If you Delay an already Paused process, the Delay takes over, and the Process will automatically Resume after the specified number of minutes. Delay will not free up the memory used by the process, but it will free the processor. This can be used to restart processes whether they were Paused automatically or Delayed manually.

[Awaken] does not Bring a window to Front, so it is perfectly possible to set a Process going that is to back, or even Hidden. Clicking this button brings up a window showing details of the Process Number, the Process Number of the Process that called it in the first place (1 is the basic menus process), the current State (Executing/Delayed/Hidden etc), and the total elapsed Time that the highlighted process has actually been running - ie not Paused etc.

The window that the messages appear in must be put away before anything else can happen. You can put it away with a click, <Return> or <Enter>. If you click on it with no process highlighted, you get a message saying what will happen if you do highlight one. The [Get Info] also has one other important function.

If any process has aborted from normal operations, possibly through an error of some kind, the Processes Palette will not be correctly updated. If you find that an Process Name continues to appear even after it has apparently gone for good, then clicking on it and [Get Info] will tell you as much (the State will be set to “Aborted”) and as a result, the item will be automatically removed from the list when you exit the Info window.

If the Process number is actually being re-used by another Process at the time you try this, though, it cannot disappear (and the one using it could be a hidden ‘waiting’ process).

This ability to quickly move around between processes open on screen means that it is beneficial for users to keep a process open at all times for each of their most frequently-used menu options (for example a ‘View Companies’ process and a ‘View Orders’ process). Switching to an existing process and pressing the [Find] button (or <Command-F>/) or the [New] button is likely to be more efficient than launching new processes every time.

Controlling Multi-Processes

Process Pausing

Whenever you launch a new process or click between different processes’ windows, the one that you just left is Paused. Therefore, if windows are dragged or resized any windows behind them will not be redrawn, leaving blank white space. Only when a window is Brought to Front does it get redrawn. This is a speed optimisation feature, not simply because unnecessary redraws are avoided but also and more importantly for multi-user Enterprise 6 users, network traffic is reduced, so the server’s processor is able to concentrate on the processes that are actually being used (since the server divides its processor equally between all currently active processes).

There is a small cost in speed terms: at the precise moment that you click to bring a given process to front, the system may wait up to one third of a second before acknowledging it by starting the redraw. Note that this only applies to processes that are involved in data entry or viewing - it does not apply to printing or other processing tasks where work continues in the background unless manually paused using the Processes Palette.

Process ‘Waiting’

In certain circumstances, Enterprise 6 will maintain an extra process that waits in the background for the user to choose a menu item, and when this occurs, gets called up immediately so the user doesn’t have to wait for Enterprise 6 to launch a new one. In fact, a new process is launched at this point - the new waiting one - but speed is not so much at a premium for this process.

A Preference in the General Section ‘Keep a ‘Waiting’ Process for Entering/Viewing when up to x Processes are open’ is used to control this feature. This Preference controls the maximum number of processes that can be open before this feature becomes inoperative. This Preference exists because this feature, although an aid to speed, is also fairly memory hungry.

The amount of memory allocated to the waiting process has to be able to cater for the ‘largest’ of the possible things that can be chosen from the menu. This explains why it only operates for entering and viewing processes (ie not printing, importing, Data Manager files etc). If you set the Preference to 20, for example, it would mean that you’d be guaranteed to meet your memory limit rather sooner than before. There is one other minor drawback, which is that the server’s screen’s version of the names of the Processes being used will always simply be set to ‘Enter/View’ for all Processes called in this way.

If you try to launch multiple processes all at once (for example by clicking several times on the Functions Palette) this Waiting method is bypassed, and the second process onwards are likely to be launched normally.

One effect of launching this extra Waiting process is that the ‘Not enough memory’ message may appear one process earlier (triggered by the launch of the next Waiting process), and thus will not invalidate the process you are trying to use at that moment. In other words the first message you get will act as a warning that the next process you try to launch (getting the message again) will not work unless you close another one first. It is possible, also, that you will get this message at the point of closing a Process, because if there is no Waiting one Enterprise 6 will try to recreate one at this point. However, if you do get these messages in this way, it really indicates that the Waiting Preference setting is set too high.



 

Published date: v1.1.1.1 Fri, 09 Mar 2007 13:53:37 GMT

© 2006 - 2007 Daybook Limited, All trademarks accepted. All Rights Reserved!
Site Index