kwScheduler

Put power in your scheduling


Table of Contents

1. Overview
1.1. Introduction
1.2. Reasons for using scheduling software
1.3. Features of kwScheduler
1.4. Comparing scheduling software
2. Installing kwScheduler
2.1. Introduction
2.2. Installation Types
2.3. Components
2.4. Switching to a Demonstration Database
2.5. Reinstalling or Upgrading the Program
2.6. Uninstalling kwScheduler
3. Support
3.1. Contacting KennWare Solutions
4. About the Database
4.1. Firebird Database
4.2. Local Server
4.3. Network Server
4.4. Security
4.5. Other Resources for Information About Firebird the Database
5. Database Utilities (Tools Menu)
5.1. Introduction
5.2. Database Connections
5.3. Creating a New Database
5.4. Dropping (Deleting) a Database
5.5. Backing up a Database
5.6. Restoring a Database
5.7. Validating a Database
5.8. Altering a Database
5.9. Copying a Database
6. Workstation Licenses
6.1. Introduction
6.2. Expired Evaluation
6.3. Obtaining a Permanent License
6.4. Where License Information is Stored
7. General Information
7.1. Introduction
7.2. Menus
7.3. Configuration
7.4. Error Log
7.5. Event Viewer
7.6. About Form
7.7. Dates and Times
7.8. Calendars
7.9. Lists
7.10. Domains (Drop-Down Lists)
7.11. Past Due Notification
8. Quick Start Guide
8.1. Introduction
8.2. Overview
8.3. Working with Drop-Down Lists (Domains)
8.4. Adding Resources
8.5. Setting up a Customer
8.6. Creating a Project
8.7. Scheduling the Project
8.8. Reviewing the Project
9. The Navigator Form
9.1. Introduction
9.2. Daily Calendar
9.3. Daily Schedule
9.4. Open Projects
9.5. Past Due Projects
9.6. Customers
9.7. Resources
9.8. Resource Schedules
9.9. Alerts
10. Working with Resources
10.1. Introduction
10.2. Adding a Resource
10.3. Resource Detail Information
10.4. Resource Notes
10.5. Resource Schedule
10.6. Resource Calendar
10.7. Vacation and Time Off
11. Working with Customers
11.1. Introduction
11.2. Adding a Customer
11.3. Customer Detail
11.4. Customer Notes
11.5. Customer Projects
11.6. Customer Calendar
12. Working with Projects
12.1. Introduction
12.2. Adding a Project
12.3. Project Detail
12.4. Project Schedule
12.5. Project Notes
12.6. Project Calendar
12.7. Project Tasks
12.8. Project Alerts
13. Working with Schedules
13.1. Introduction
13.2. Scheduling Guide
13.3. Modifying a Task
13.4. Replacing a Schedule
13.5. Expanding a Schedule
13.6. Deleting a Schedule
13.7. Pushing or Pulling Tasks in a Schedule
13.8. Deleting some Tasks in a Schedule
13.9. Inserting a Higher Priority Schedule for a Resource
14. Weekly Calendars, Histograms and Gantt Charts
14.1. Introduction
14.2. Weekly Calendar
14.3. Histograms
14.4. Gantt Charts
15. Working with Reports
15.1. Introduction
15.2. Available Reports
15.3. Reporting Guide
15.4. RDL Reports
15.5. MS Word Reports
15.6. OpenOffice Suite
15.7. Portable Document Format (PDF)
15.8. RTF Reports
16. Importing Calendars
16.1. Introduction
16.2. Import Guide
16.3. Sunbird
16.4. Outlook
17. Exporting Calendars
17.1. Introduction
17.2. Export Guide
17.3. Sunbird
17.4. Outlook
18. Known Problems
18.1. Known Problems
19. Release History
20. kwScheduler License Agreement
20.1. License Agreement

List of Tables

19.1. Release History

Chapter 1. Overview

1.1. Introduction

kwScheduler software allows you to automate and analyze resource schedules efficiently. Whether you business or organization schedules resources by a fraction of an hour or by weeks, kwScheduler can assist you in easily assigning your resources for every project. kwScheduler reduces costs by minimizing time spent scheduling, improving resource utilization and avoiding costly double booking and scheduling conflicts. At the same time, kwScheduler improves service to your clients and staff by reducing the time it takes to make a booking or appointment.

kwScheduler utilizes calenders to graphically display tasks related to a project or a resource which can be manipulated using drag and drop features. You maintain a list of resources, specifying their working days and hours. When a customer contacts you to perform work for them you enter information for the customer, create a project for the specific work to be done and then schedule one or more resources to perform the work.

Resources may be anything that needs to scheduled. Typically a resource is an employee but a resource may also be a meeting room, a location where work is to be done, a vehicle, a piece of equipment, etc.

kwScheduler is geared for creating schedules for the project/job at hand. Given a project or job to be accomplished, kwScheduler gives you the ability to apply your resources to successfully complete the job.

The automatic scheduling utility gives kwScheduler a resource-centricity that makes schedules sensitive to people's actual availability, rather than forcing you to enter task-completion times manually.

kwScheduler is:

  • User friendly, in just a fraction of the time you currently spend scheduling, kwScheduler will help schedule your resources. kwScheduler is easy to learn and use so you will up and running in no time.

  • Flexible, kwScheduler allows you to easily modify and adjust any schedule. While the software prevents double booking, you always have the option to double book your resources. Moving a schedule to a new starting date is simple.

  • Effective, kwScheduler significantly reduces the amount of time, resources and overall costs associated with resource scheduling. kwScheduler will help you optimize staff utilization, reduce overtime expenditures and improve schedule communication.

kwScheduler is designed to be simple and flexible. It truly puts power into your scheduling. kwScheduler is economical, easy to use and can start helping your organization right away. Our solutions are priced to fit. kwScheduler can lower your costs, improve your service, increase resource utilization and reduce staff frustration.

1.2. Reasons for using scheduling software

Business owners and managers have been scheduling their employees for decades. At first scheduling in its original form was done verbally and then written on paper or white boards. But even today, most scheduling is done by hand, with large paper calendars and a multitude of sticky-notes, adjustments are made by crossing-out previous entries to be replaced with new entries. At times it is difficult, if not impossible, to know when a resource is available to take on an assignment when a customer requests it.

Many professional corporations and companies employ a resource scheduler who is responsible for creating valid, error free schedules that fit a variety of requirements and criteria. It can easily take a scheduler days to come up with a schedule that meets complex requirements. The process is tedious and error prone, especially when requirements and resources change on almost a daily basis due to circumstances such as sick time, unavailable resources and other factors outside of their control.

With the technology of today, the professional scheduler has a new partner, software that assists them with the scheduling, and more importantly, the monitoring and adjusting of the schedules for which they are responsible. No longer does the professional scheduler have to pull the weight by himself. The help from scheduling software is real and noticeable. Time spent creating schedules is slashed significantly, while scheduling errors are nearly eliminated. Scheduling software helps to keep track of hours, conflicts, and requests for time off, waiting for parts or other resources and client requirements.

The switch to scheduling software will take time and discipline. It is necessary to do the research to find the software that fits your needs and budget. Time will be spent in learning how to use it, how to apply it to the specifics of your business and in training of the staff who will be using it. But the benefits of the scheduling software will bring to the business will be worth every minute spent. Instead of spending hours or days managing schedules, the process will be reduced to a few minutes, freeing up time to take care of more important things. Fewer or no mistakes will be made with scheduling; resources will not be over booked or under booked. Customers and clients will be more satisfied with the service you can provide them and employees will not be upset with unanticipated requests on their valuable time. A well-designed scheduling software system should take care of most of these problems.

Being in sales and service, businesses realize that a large part of their success depends on how well they schedule their employees and resources. The typical office spends a great deal of time on resource scheduling. With kwScheduler, finding a meeting time or service time for an available employee for a client is a simple click on the proposed day and a glance across the schedules.

1.3. Features of kwScheduler

kwScheduler is geared for creating schedules for the project/job at hand. Given a project or job to be accomplished, kwScheduler gives you the ability to apply your resources to successfully complete the job.

kwScheduler provides the following features:

  • A full featured client-server database (and local embedded database) to provide for multiple users of the software.

  • Create a schedule manually or let the software create it for you based on the duration of the task. All schedules are easily adjusted if necessary.

  • A scheduling guide quickly walks you through the process of creating a schedule.

  • kwScheduler presents an Outlook style calendar display of all tasks which can be manipulated using drag and drop (or stretching) to change start and end times for the task. You can also navigate to other displays (forms) in the system directly from the calendar by right-clicking on the task.

  • Ability to setup flexible working hours for a resource, including half-days, days without a lunch break, etc. Schedules are built on a day-to-day basis to account for the unique situations often encountered.

  • Ability to assign a rate for a resource to calculate estimated project costs based on the resource's tasks assigned to a project.

  • Ability to exclude hours and costs of a resource when calculating totals for a project. For example, you might want to include only labor hours/costs for a project but exclude hours/costs for resources such as meeting rooms, equipment, vehicles, etc.

  • Automatic scheduling of tasks; you specify the resource and duration of the work. The software then creates a schedule of tasks for the resource accounting for:

    • Resource daily work schedule

    • Vacation or other time off

    • Holidays

    • Conflicts with other assigned tasks

  • Often you do not need to know the exact date or time when a task should start, the software starts with the date and time you specify and moves forward plugging any existing 'holes' in the resource's schedule until it finds a free block of time to start scheduling new tasks. You set a target date and the software will inform you when the work may start and a projected end date and time; depending on the current workload for the resource.

  • Collision detecting; the software detects when a new task will conflict with another task already assigned to the resource. The software will schedule around the task to prevent double booking (you always have the ability to double book a resource if you wish to).

  • Split schedules; you can split a schedule to insert a higher priority project or job when necessary and the software will reschedule the remaining tasks. This feature is useful in emergency situations such as sick days or unanticipated interruptions to the original schedule.

  • The software automatically checks for certain conditions when scheduling a task. When manually entering a task you can override these conditions:

    • Attempt to schedule a task on a holiday

    • Attempt to schedule a task on a non-working day

    • Attempt to schedule a task during vacation or other time off

    • Attempt to schedule a task outside of the resource's normal work hours

    • Attempt to schedule a task over the resource's lunch hour

    • Attempt to schedule a task which conflicts with another task already assigned to the resource

  • Full reporting capabilities. If you have Microsoft Word installed, reports can be created in Word, or reports can be created in Rich Text Format (RTF), Portable Document Format (PDF) or created to be used in the OpenOffice suite.

  • A report guide walks you through the process of creating any report.

  • Automatic notification of past due projects (which can be disabled or set to any notification interval).

  • Ability to keep notes for customers, resources and projects.

  • A full-featured client/server database environment (using Firebird - originally InterBase) including the ability to create, backup and restore any database.

  • Ability to import and export schedules with other applications such as Microsoft Outlook, Mozilla Sunbird or any application which supports the industry standard iCalendar or vCalendar format. Recognizes and supports tasks or appointments that are defined as "All Day" events.

  • The ability to review resource and project time schedules and utilization using calendars, histograms and Gantt Charts.

1.4. Comparing scheduling software

Shopping for scheduling software is a complex and time-consuming task. Each competitor’s product can be completely different in both features and pricing. Comparing different products can be like comparing apples to oranges.

Choosing the wrong product can be costly in terms of money, training and further research. It is important to make the right choice the first time.

It is important to achieve a firm understanding of how the product works. Many publishers provide specifications or detailed information regarding their product. Such information can give you a general concept of how the software works. It can also be imprecise and misleading. The terminology used may imply a certain meaning to the potential buyer while it may not be what the publisher was intending.

Scheduling software is supposed to improve the situation of the company or individual who is using it. Improvement implies change. The software may introduce new approaches that are unfamiliar to the individuals using it. It is important to be open-minded about the terms and methods that the software might use.

When it comes to pricing of the software, the old axiom “You get what you pay for” does not apply here. The price may be high because it sells at very low volumes. It may also be high because the product is difficult to use and expensive support must be provided. The price might be high because the product is really worth it. Or it simply may be that the publisher feels they can get away with higher prices.

The price might be low because the software sells at the higher volumes that enable a lower price. It might also be low because the software is easy to use with quality documentation and therefore requires little support. Prices may also be low because the product is not worth much.

Make sure that the complete product cost is known. Are there additional charges for support? Are there additional license fees? Does the product require customization?

Planning for future growth is also important. Scheduling requirements for an organization may change in the future. Some publishers are willing to customize their software to accommodate those changing needs (although it is important to know what the costs might be). The last thing an organization wants to do is to repeat the expense of searching, purchasing and retraining of their staff.

Chapter 2. Installing kwScheduler

2.1. Introduction

The installation process should automatically start when you insert the install CD into your CD/DVD drive (if autorun is enabled for that drive). If the installation program does not automatically start, click on the Windows Start button, click on Run and then click on Browse. Locate kwSchedulerSetup.exe on the CD, click on it and then click on Open. Click on OK to execute the installation program.

The installation program first displays a Welcome screen, click on Next to display the License Agreement screen.

The License Agreement is a legally binding agreement between you and KennWare Solutions LLC regarding the use of the kwScheduler software. The license only applies to the use of the kwScheduler software, not any of the database related software or any other optional programs (they are provided as open source or freely redistributable software which you are free to use). Click on the I Agree button to display the Installation Type and Select Components screen.

2.2. Installation Types

The installation program allows you to easily install the kwScheduler program (including all supporting files, local databases and a local database server). You can also install a network server and other optional programs.

The Installation Type screen allows you to select a pre-defined installation type (such as the basic kwScheduler program, a Network Server installation or custom installation). The default is the kwScheduler program.

Installing kwScheduler should be an easy process, simply click on Next for each screen, the installer program defaults for a basic installation of the program.

2.2.1. kwScheduler Program

The kwScheduler Program installation type selects the appropriate components to install the kwScheduler Program. These components are; the kwScheduler program and any necessary supporting files, an initial database and a demonstration database and program documentation in PDF and HTML formats.

The kwScheduler program is dependent on Microsoft Frameworks Version 2 and also requires the Microsoft VC++ Redistributable libraries (used only when skinning the program, skins are not available on Windows Vista). The install program will check if these libraries have been installed on your workstation and if either is not found, will automatically install them at the beginning of the install process. These libraries need only be installed once on your workstation.

[Note]Note

The install process for Microsoft Frameworks Version 2 is a lengthy process. It also requires Windows Installer Version 3 to install properly. If you receive an error indicating that Windows Installer Version 3 is required, cancel the Frameworks installation. The rest of the programs should install normally. Then restart the installation program (by reinserting the CD or running kwSchedulerSetup.exe) and select Windows Installer Version 3 and Microsoft Frameworks 2 in the Prerequisite Programs component selection.

The installation program will do the following:

  • Install the kwScheduler program and related files on your hard drive (by default in /Program Files/kwScheduler). The install program will allow you to install the program in a different location if you desire.

  • Install the local database and demonstration database. If you are reinstalling or upgrading the program, the install program will ask if you want to overwrite the existing databases. By default these are installed in the same directory as the application.

  • Install the online help and documentation files in the same directory as the application. The installed help file is kwScheduler.chm and the Acrobat Reader format is kwScheduler.pdf and the web browser format is kwScheduler.html. All three files are identical in content.

  • Create a shortcut icon on your desktop for the program.

kwScheduler will be installed with a 30-day evaluation. After the evaluation period has ended, the program will continue to run in demonstration mode with one limitation, you will not be able to schedule activities beyond a certain date. A program key (supplied by KennWare Solutions) is required to continue to use the program. To obtain a license key, e-mail KennWare Solutions at .

2.2.2. Network Database Server

The basic installation of kwScheduler installs local databases to be used with the program. These databases can be accessed only on the workstation they are installed on, they cannot be accessed from other workstations over a network or by using shared drives.

You can setup a network server with access to databases that can be accessed from any number of workstations using the network or a TCP/IP interface.

On the workstation you want to use as your server, insert the install CD and select the Network Database Server Installation type. This will install the Firebird Network Server on the workstation. We recommend during installation that you choose:

  • Use the SuperServer version instead of the Classic version.

  • Run the server as a process (instead of as an application).

  • Have the server started when windows is started.

  • Use the Guardian.

There are several PDF documents which will also be installed:

  • Using-Firebird_(wip).pdf

  • Firebird-2.0-QuickStart.pdf

  • Firebird-nbackup.pdf

  • Diagnosing and Repairing Database Corruption.pdf

Also included are Optional Database Utilities (which need to be selected to install):

  • Easy-IP Firebird Database Utility: this utility can be used with a networked Firebird database server. It contains many standard utilities for managing the database. The most useful utility is an automatic backup utility which can be scheduled to automatically run at a user specified interval. It should be installed on the same workstation or server that the Firebird Network Server is installed on.

  • FlameRobin Database Utility: this utility can be used to display and modify the contents of a database. It can work with either a local database or a network database. Some functions of the utility require advanced knowledge of databases.

However, most basic maintenance functions (such as backup and restores) are built into kwScheduler in the Tools...Database menu.

You can always create new databases using the Tools menu Database utilities.

Some general information about the Firebird Server:

  1. Installation Drives

    Firebird server – and any databases you create or connect to – must reside on a hard drive that is physically connected to the host machine. You cannot locate components of the server, or any database, on a mapped drive, a file system share or a network file system.

  2. Installing on Windows

    The Firebird installer lets you choose between Superserver and Classic Server installation. Both are fully mature and stable and there is no reason to categorically prefer one to the other. Of course you may have your own specific considerations. We recommend the Superserver version.

    If you install Firebird under Windows 95/98/ME, uncheck the option to install the Control Panel applet. It doesn't work on these platforms. (Note: the option to install the applet is only available for Superserver.)

    On Windows server platforms – NT, 2000, 2003 and XP – Firebird will run as a system service by default, but during the installation you can also choose to let it run as an application. Non-server Windows systems – 95, 98 and ME – don't support services; running as an application is the only option there.

  3. Use the Guardian?

    The Firebird Guardian is a utility that monitors the server process and tries to restart it if it terminates abnormally. The Guardian does not work with Firebird Classic Server on Windows if run as an application. This is due to a known bug, which will be fixed later. Currently the Firebird 2 installer doesn't give you the option to include the Guardian at all with a Classic Server, even if you install it as a service.

    The Guardian works correctly with Superserver, whether run as an application or as a service.

    If you run Firebird as a service on Windows 2000, 2003 or XP, the Guardian is a convenience rather than a necessity, since these operating systems have the facility to watch and restart services. It is recommended that you keep the Guardian option on (if possible) in all other situations.

2.2.3. Custom Installation

A custom installation is created by either selecting or deselecting additional components (such as additional programs). You create a custom installation when you select or deselect additional components.

There are three installation packages for kwScheduler (all functions in the kwScheduler program are identical, the packages only contain different combinations of optional programs to reduce the size of the installation).

  1. kwSchedulerLiteSetup

    This is the lite version containing the basic program and a local database.

  2. kwSchedulerBasicSetup

    This is the basic version containing the basic program and the database network server.

  3. kwSchedulerSetup

    This is the full featured version containing the basic program and all the optional programs such as database utilities, the database network server, Adobe Acrobat Reader, etc. This version is usually what is shipped on media such as CD's or DVD's. The Lite Setup and Basic Setup are available on our web site to reduce download times.

2.3. Components

Following are descriptions of all components that can be installed.

2.3.1. Prerequisite Programs

These programs are required for the kwScheduler program to successfully execute. The Windows Installer 3.0 is only required for installing the Microsoft Framework 2, and the installer program cannot determine if it is already installed on your workstation. Both Microsoft Framework 2 and Microsoft VC++ Redistributable will be detected and automatically installed when you install the kwScheduler program.

  • Windows Installer 3: Needed only when installing Microsoft Frameworks 2. If you encounter an error installing Frameworks 2 indicating that Installer 3 is required, cancel the Frameworks installation, continue with the rest of the installation, then reinstall selecting Windows Installer 3 and Frameworks 2.

  • Microsoft Frameworks 2: Needed for kwScheduler to successfully execute. The install program will detect if it is not installed and attempt to install it.

  • Microsoft VC++ Redistributable libraries: Needed for kwScheduler to successfully execute. The install program will detect if it is not installed and attempt to install it. There is no user input required during installation. The VC++ libraries are only needed to support program skins on Windows XP (skins are not available on Windows Vista).

2.3.2. kwScheduler Program

This is the basic kwScheduler program and all associated files necessary to support it. All of these files are installed in one directory (usually /Program Files/kwScheduler).

2.3.3. Database Files

These are the local database files for the program. You can create new database files after installation using the Tools...Database menu.

  • Initial kwScheduler database: an initialized database.

  • Demonstration kwScheduler database: a demonstration database, it has activities scheduled for it starting on May 1, 2007.

2.3.4. Documentation

Documentation for the kwScheduler program and Firebird Database in different formats. Documentation is available directly in the program by using the F1 key.

  • kwScheduler documentation if PDF (Adobe Acrobat Reader) and HTML (web browser) formats.

    [Note]Note

    We recommend that you print out one of these documents for reference.

  • Firebird Documentation in PDF format (Adobe Acrobat Reader)

    • Using-Firebird_(wip).pdf

    • Firebird-2.0-QuickStart.pdf

    • Firebird-nBackup.pdf

    • Diagnosing and Repairing Database Corruption.pdf

  • Installing kwScheduler and Database Guide (CHM & PDF & HTML formats)

2.3.5. Optional Programs

These are programs that you might useful. More current versions are available over the Internet, but are provided here in case your workstation does not have Internet access. If you do have Internet access, the Help Menu -> Companion Products will display links for all of the optional programs to allow you to download the most current versions.

  • Open Office, a free, open-source program which provides much of the same functionality as the Microsoft Office suite.

  • Adobe Acrobat Reader 8.1: for use to display PDF files on Windows 2000, XP, Vista.

  • Adobe Acrobat Reader 5.0: for use to display PDF files on Windows 98, ME.

  • Mozilla Firefox: a free alternative to Internet Explorer to browse the web and HTML files.

  • Mozilla Sunbird: a free calendar program which is an alternative to Microsoft Outlook, kwScheduler can import and export schedules easily with Sunbird.

2.3.6. Network Server Programs

The network server component is used to install the Firebird network server on a computer.

2.3.7. Optional Database Utility Programs

The optional database utility programs give you extra facilities to interrogate and manipulate the databases used by kwScheduler (the kwScheduler program gives you basic functions such as create, backup and restore databases via the Tools...Database menu).

  • Easy-IP Firebird Database Manager: performs basic functions on a database including creating Aliases, etc. Oriented to a network database as opposed to a local database. Easy-IP also includes a utility to automatically backup databases at a specific interval (i.e. daily, weekly, etc.).

  • FlameRobin: a very nice utility to manage a database.

2.4. Switching to a Demonstration Database

You can switch to a different database (such as the demonstration database) using the Tools...Database menu.

Browse the local database setting and select the kwSchedulerDemo.FDB database. Then click on the Update Configuration button.

The kwScheduler demo database has tasks created starting on May 1, 2007. Select the calendar drop-down and scroll back to May, 2007.

2.5. Reinstalling or Upgrading the Program

You can reinstall or upgrade to a new version of kwScheduler without uninstalling previous versions.

We do recommend that you backup all databases before performing a reinstall or upgrade and copy those backups to a different location and make note of all your database connections.

During a reinstall, the installation program will detect that an existing database file exists and ask if you want to overwrite it.

2.6. Uninstalling kwScheduler

You can uninstall kwScheduler by going to the control panel, select Install/Uninstall Programs, select kwScheduler and click on change/remove. The uninstall program should remove everything installed for kwScheduler. There are no modules installed in any location other than the original directory in Program Files that the program was originally installed in (except for license keys and configuration data).

The uninstall will remove the local database files originally installed with the program, so we recommend that you back them up and copy them to a separate location.

Uninstall does not remove any other applications you might have installed from the install CD (such as optional programs). You will need to uninstall those components separately.

[Note]Note

An uninstall option is also available in the programs menu with the start button on Windows XP.

Chapter 3. Support

3.1. Contacting KennWare Solutions

Our web site for current documentation and program versions is located at:

http://www.freedomprod.com/kennware.htm

You can contact KennWare Solutions at:

.

or by mail at:

KennWare Solutions Customer Service

7100 Bellaire Ave.

Des Moines, IA 50311 USA

Chapter 4. About the Database

4.1. Firebird Database

Firebird is a powerful, compact client/server SQL relational database management system which can run on a variety of server and client operating systems. Its officially supported platforms are Windows and Linux, but Firebird is also known to run on several other OS's, such as FreeBSD and Apple Macintosh OS/X.

The product which today is called Firebird has been around, under a variety of names, for well over 20 years. Developed as an ongoing open source project, Firebird is a descendant of Borland's InterBase 6.0 Open Edition code which was released for open source development in July 2000 under the InterBase Public License (IPL).

4.2. Local Server

The Windows Embedded Server is a Superserver engine plus client rolled into one library. The embedded server was specifically designed to facilitate deployment of applications that ship with a Firebird server included.

The embedded server has no facility to accept any network connections. Only true local access is possible.

kwScheduler is installed with the embedded (local) server and the necessary databases. It is not necessary to install the Client-Server portion of the software unless you want multiple users to have concurrent access to the data. A separate license is required for each workstation accessing the database.

4.3. Network Server

The Firebird server is a program that runs on a machine with which client workstations can communicate by way of a network. Clients connect to databases physically located on this server host machine. The same machine that hosts the executing Firebird server process must host the Firebird databases in its own storage space. Only the server process has direct, file system-level access to the database files. The server is fully network-enabled, serving multiple connections simultaneously, in response to requests from other nodes in the network. If the network runs under TCP/IP protocol, the scope of the network is virtually limitless.

The Firebird server boasts a very small “footprint” on the file system when installed on a host server. The server's executable is less than 1.5 Mb and a full server installation, including all tools and documentation, takes up less than 10 Mb. The memory footprint will vary according to the scale of the deployment, which can range from a single user running an application over a single database to hundreds of concurrent connections to multiple databases servicing thousands of users on wide-area networks.

4.4. Security

These guidelines only apply to Firebird Client-Server. When using embedded (local) Firebird, there is no TCP/IP interface (and hence no security, only the local workstation can access the database and has full rights to do so).

  1. IP Address Binding

    By default, Firebird is bound to 0.0.0.0 IP address. That mean it will be reachable on all available IP addresses. When you are using Firebird only as a back end to your web application you should bind it to local 127.0.0.1 that makes it unavailable from network. You can change the bind address in firebird.conf:

    RemoteBindAddress = 127.0.0.1
  2. TCP Port

    Firebird server runs on port 3050 by default. You can change it in firebird.conf:

    RemoteServicePort = 3050

    Use your firewall to limit access to that port. You should not expose it directly to the Internet.

  3. Database Paths

    When connecting to Firebird, you can specify the database by either:

    • Full path to the database file, e.g. @"Database=C:\data\mydb.fdb"

    • Alias specified in aliases.conf

    By default you can open any database that is located on the server and the server process is permitted to read/write by file system. To make your server more secure you can limit the databases that can be open to:

    • Databases located in specific directories

    • Databases listed in aliases.conf

    The options in firebird.conf are as follows:

    # Unrestricted access (default)
    DatabaseAccess = Full
    
    # Access restricted to listed directories
    DatabaseAccess = Restrict c:\data1;c:\data2
    
    # Access restricted to database aliases listed in aliases.conf
    DatabaseAccess = None
  4. Network Communication

    Firebird uses unencrypted network communication. To make it more secure, you can use SSL tunnelling.

    [Important]Important

    kwScheduler stores connection information in a kwScheduler.exe.config file in clear text, meaning that user names and passwords are available in "clear" format for anyone browsing those files.

  5. SYSDBA Password and User Management

    The administrator account name in Firebird is SYSDBA and the default password is masterkey. (Actually, only first 8 characters of the password are significant.) You should change the SYSDBA password after server installation.

    Firebird comes with a command-line user management tool called gsec. Although its functions can also be performed by a number of third-party GUI utilities, you should at least have a basic knowledge of gsec, since this is the official tool and it's present in every Firebird server installation. In the next sections you will use gsec to execute two tasks: changing the SYSDBA password and adding a Firebird user.

    One Firebird account is created automatically as part of the installation process: SYSDBA. This account has all the privileges on the server and cannot be deleted. Depending on version, OS, and architecture, the installation program will either

    • install the SYSDBA user with the password masterkey (actually, masterke: characters after the eighth character are ignored), or

    • ask you to enter a password during installation, or

    • generate a random password and store that in the file SYSDBA.password within your Firebird installation directory.

    If the password is masterkey and your server is exposed to the Internet at all – or even to a local network, unless you trust every user with the SYSDBA password – you should change it immediately using the gsec command-line utility. Go to a command shell, cd to the Firebird bin subdirectory and issue the following command to change the password to (as an example) icuryy4me:

    gsec -user sysdba -pass masterkey -mo sysdba -pw icuryy4me

    Notice that you specify “sysdba” twice in the command:

    • With the -user parameter you identify yourself as SYSDBA. You also provide SYSDBA's current password in the -pass parameter.

    • The -mo[dify] parameter tells gsec that you want to modify an account – which happens to be SYSDBA again. Lastly, -pw specifies the type of modification: the password.

    If all has gone well, the new password icuryy4me is now encrypted and stored, and masterkey is no longer valid. Please be aware that unlike Firebird user names, passwords are case-sensitive.

    Firebird allows the creation of many different user accounts, each of which can own databases and also have various types of access to databases it doesn't own.

    Using gsec, you can add a user account as follows from the command line in the Firebird bin subdirectory:

    gsec -user sysdba -pass masterkey -add billyboy -pw sekrit66

    Provided that you've supplied the correct password for SYSDBA, a user account called billyboy will now have been created with password sekrit66. Remember that passwords are case-sensitive.

    [Note]Note

    Passwords are case sensitive.

  6. Security Database

    Firebird maintains a security database storing user names and encrypted passwords. It is located in the root directory of the server installation and controls access to the server itself and all databases in its physical domain. The SYSDBA account has full, destructive privileges to all databases on the server.

  7. Roles

    Firebird provides the capability to define ROLEs at database level. Within a database, only SYSDBA and the database owner have full privileges; otherwise, all privileges must be granted explicitly to individual users and/or roles. It is possible – and recommended – to define a set of permissions for a role and then grant that role to specific users as required (kwScheduler uses the "Scheduler" role).

    kwScheduler uses a Role named "Scheduler" for database access rights. You do not need to specify (or grant) the role, it is automatically assigned in the program when the user connects to the database through the kwScheduler program (however, if you are using third-party programs to access data in the database, you might need to specify the role name when connecting to the database if you are signing on as a user other than SYSDBA).

  8. Adding Users

    SYSDBA can add and delete users' accounts names and modify the details of an account, including the password. Passwords, once stored, are not human-readable, even by SYSDBA.

    See above for an example using the gsec command to add a user.

  9. Physical Database Paths

    Physical database paths can be shielded from the client using aliases. Access to database files can be restricted to explicitly specified file system trees only – or even tighter – by setting the appropriate parameters in the configuration file firebird.conf (reference the Firebird documentation).

  10. Database Aliases

    Database aliases shield the client from physical database locations. Using aliases, a user can connect to “frodo:zappa” without having to know that the real location is frodo:/var/firebird/music/underground/mothers_of_invention.fdb. Aliases also allow you to relocate databases while the users keep using their existing connection strings.

    Aliases are listed in the file aliases.conf, in this format on Windows machines:

    poker = E:\Games\Data\PokerBase.fdb
    blackjack.fdb = C:\Firebird\Databases\cardgames\blkjk_2.fdb

    Giving the alias an .fdb (or any other) extension is fully optional. Of course if you do include it, you must also specify it when you use the alias to connect to the database.

4.5. Other Resources for Information About Firebird the Database

You can access a wealth of information about the Firebird database at:

http://www.ibphoenix.com/
http://www.firebirdsql.org/

Chapter 5. Database Utilities (Tools Menu)

5.1. Introduction

The Tools Menu contains a Database entry to allow you access to functions to manipulate a database. Among these functions are:

  • Setup database connection information, select a different database and switch to it or make it the new default database when the program is opened and switch to it. You can also specify if the program should start with a local database or a network database.

  • Create a new database (either local or as a client-server database).

  • Drop (delete) a database (either local or as a client-server database). Requires exclusive access.

  • Backup a database (either local or as a client-server database).

  • Restore a database (either local or as a client-server database). Requires exclusive access.

  • Validate a database (either local or as a client-server database). Requires exclusive access.

  • Alter the database definition (either local or as a client-server database). Requires exclusive access.

[Important]Important

Client-Server Databases: When you connect to the Client Server Engine, you are connecting to the service that handles the database access, you are not connecting directly to the database file. The information entered in the Client Database File Name is the name of the database file on the computer that the Database Server is located on, so the drive and directory is relative to the database server... not the directories on your workstation. For example, if the database server is mapped to your workstation as drive K:, but the actual database file is on drive F: (on the server computer), you need to change the drive from K: to F: Contact your system administrator if you are experiencing difficulties connecting to the database. Your administrator might setup database "aliases", in which case you do not need to specify a location for the database, just the name (or alias) of the database.

5.2. Database Connections

The database connection form allows you to setup the connection parameters to use when connecting to a database. When connecting to an embedded (or local) database the other parameters (such as Userid, Password, etc.) are not needed. The database connection form also allows you to choose a database to connect to and the ability to switch to a different database.

[Note]Note

When you switch to another database, all open forms are automatically closed and a new Navigator form is opened.

In the database connection form you can:

  • Specify whether the program should connect to an embedded (local) database or a client-server database when starting up.

  • Specify the local database name.

  • Specify the client-server database name.

  • Specify the location of the client-server database manager (either the name on the network, an IP address, or if the server is installed on your workstation "localhost").

  • The port number the server is listening on (the default is 3050).

  • The UserId to signon to the client-server with (the default is SYSDBA).

  • The password to signon to the client-server with (the default is masterkey).

  • The role to use to access the database (the default is Scheduler).

Normally you should not need to change any of the defaults (except database names) unless your system administrator has instructed you to.

[Note]Note

When kwScheduler is first installed, the ability to select or update network database information is not enabled (in case a network server has not been installed). On the Tools...Configuration form, you can select that network connections are enabled.

Remember to click on the Update Configuration button to save any of the changes you might make on this form.

To change to a different database, use the Browse button to locate the database and then click on the Switch button to reconnect to the different database. If you want to make this database the default database and then switch to it, click on the Update Configuration button instead of the Switch button.

[Important]Important

When browsing for a client database, you need to enter the path (or directory) of the database as it exists on the server you are connecting to. You connect to the database server and pass the database name where it can find it on the server (not on your workstation).

5.3. Creating a New Database

You can create a new initialized database using the create utility. Enter the new database name and click on create.

The database is initialized and the kwCreateDb.sql file is read to create the necessary tables for use with the kwScheduler program.

[Note]Note

Obviously, the new database to be created should not already exist. The program can check for this if it is an embedded (local) database, but has no means to check if the database already exists on the client-server machine.

5.4. Dropping (Deleting) a Database

The drop utility deletes a database. It is recommended that you backup the database first before deleting it (just to be on the safe side).

[Note]Note

Requires exclusive access to the database (no other users should be connected).

5.5. Backing up a Database

The backup utility backs up a database by dismantling it into a compact structure in which metadata, data and database-level configuration settings are stored separately. It also performs some important housekeeping tasks on the database during the backup process.

The backup tool does not require exclusive access to the database. Other users can remain connected and perform operations on the database while the backup is in progress.

The database will be backed up in the same directory as the original database with a *.fbk extension.

If you want to copy a database we recommend that you first use the backup utility, copy the backup file to another location and then use the restore utility to create a new database.

5.6. Restoring a Database

The restore utility takes a database which has previously been backed up (with a *.fbk extension) and restores it into either an existing database file or creates a new database file from it.

If the database already exists, check the replace option. If you want to create a new database, check the create option. The database will be restored with the same name as the backup database but with a *.fdb extension in the same directory that the backup file is located.

[Note]Note

Requires exclusive access to the database (no other users should be connected).

5.7. Validating a Database

The validate utility checks a database and validates record structures. Validate will also find and release pages that have been allocated, but are unassigned to any data structure (orphan pages).

If errors are detected by the validate utility, you can use the gfix -mend utility to attempt to fix them (see the Firebird documentation).

Frequent backups and restores are a good method to keep your databases in good working order.

[Note]Note

Requires exclusive access to the database (no other users should be connected).

5.8. Altering a Database

Altering a database changes the physical structure of the database. You should only use at the direction of KennWare Solutions.

One reason for using the alter command might be for a program upgrade or new release. If it is necessary, KennWare Solutions will include an alter.sql file with instructions to use the alter database utility.

[Note]Note

Requires exclusive access to the database (no other users should be connected).

5.9. Copying a Database

All databases are combined into a single file (*.fdb), you do not need to be concerned with extra log files, etc. You can copy a database directly by copying the *.fdb file to another location.

However, we recommend that to copy a database you use the following procedure:

  1. Backup the database to a *.fbk file (see Tools... Backing up a Database)

  2. Copy the *.fbk file to the location you want to install the new database

  3. Restore the database (using the 'Create' option) (See Tools... Restoring a Database)

  4. Switch to the newly restored database (See Tools... Database Connections)

Chapter 6. Workstation Licenses

6.1. Introduction

When you first install kwScheduler, it operates in a 30-day evaluation mode. The program is fully functional during the entire evaluation period.

[Note]Note

An extended evaluation license may be available if a 30-day evaluation period is insufficient for your needs. Contact KennWare Solutions.

6.2. Expired Evaluation

At the end of the 30-day evaluation, the program will revert to a demonstration mode. The program is still fully functional with one exception, you cannot schedule a task (either manually or using the automatic scheduling functions) past a specific date. The About Form will tell you what that date is when running in demonstration mode.

6.3. Obtaining a Permanent License

If you wish to purchase a permanent license for kwScheduler, contact KennWare Solutions LLC at:

.

or by mail at

KennWare Solutions Customer Service

7100 Bellaire Ave.

Des Moines, IA 50311 USA

6.4. Where License Information is Stored

License keys are a file which contains an encrypted string of characters and numbers which kwScheduler reads to determine if you are running a valid installation. They are used only for the kwScheduler program, not any of the optional programs which you might also want to install (such as the Database Network Server).

License files are stored in a seperate location than the kwScheduler program so you are able to re-install or upgrade the program without losing license information (the information for evaluation periods are stored in another location on the workstation).

You can try to modify the file or delete the file but the program will revert to demonstration mode and you will lose some of the features of the program.

On the Vista Operating System, the license file is usually located in 'C:\Program Data\LicensedApp\kwScheduler.lic'.

On Windows 2000 through Windows XP, the license file is usually located in 'C:\Documents and Settings\All Users\Application Data\LicensedApp\kwScheduler.lic'.

The License Tab on the About Form of the Help Menu will display where the program is looking for the license file.

Chapter 7. General Information

7.1. Introduction

This chapter contains general information about using common functions in the program such as menus, manipulating calendars, working with date and time pickers, etc.

7.2. Menus

kwScheduler uses the following menus:

  • File

    • Navigator

      The Navigator Form is the main form for the kwScheduler program. In case you accidentally close this form (for example by clicking on Close All in the Windows menu), you can reopen the Navigator form by clicking on this menu item.

    • Add

      You can add the following entities by clicking on the following items.

      • Customer

      • Resource

      • Project

    • Domains

      Domains are used to maintain the drop-down lists used in other forms (for example to select a pre-defined Project Type). Click on any of the following items to maintain that type of information.

      • Holidays

        Maintain the list of Holidays that you do not want to schedule on.

      • Resource Types

        Maintain the type of resources you are scheduling form when adding a resource.

      • Project Types

        Maintain the type of project when adding a project.

      • Payment Types

        Maintain the type of expected payment when adding a project.

      • Priority

        Maintain the priority of a project when adding a project.

    • Gantt Charts

      Open the Gantt Chart Form showing scheduled dates and times for resources, projects and tasks.

    • Histogram

      Open the Histogram Form showing scheduled dates and times for resources and projects.

    • Schedule

      Open the Scheduling Guide.

    • Week Calendar

      Open the Weekly Calendar showing seven days of calendars.

    • Reports

      Open the Reporting Guide.

    • Exit

      Close the kwScheduler program.

  • Tools

    • Configuration

      Open the Configuration Form to set global settings for the program.

    • Database

      Open the Database Tools Form to set database connections and perform database functions.

    • Error Log

      Displays the application error log file contents which can then be printed.

    • Event Viewer (not displayed on Windows 98 or Windows ME)

      Open the system Event Viewer, when errors occur in kwScheduler they will be logged in the application folder. Note: events are not available in Windows 98 or Windows ME. Errors are always logged to the kwScheduler.log file in the application directory. Errors are only logged to the Event Viewer if enabled on the Tools...Configuration...Event Logging tab.

    • Import

      Open the Import Guide to import schedules from other programs such as Outlook or Sunbird.

    • Export

      Open the Export Guide to export schedules to other programs such as Outlook or Sunbird.

  • Windows

    • Overlay

      Overlay forms on top of each other with the current form on top.

    • Cascade

      Cascade all open forms in the program.

    • Tile Vertical

      Arrange all open forms vertically.

    • Tile Horizontal

      Arrange all open forms horizontally.

    • Close All

      Close all open forms (including the Navigator).

    • Current Open Forms

      Lists all open forms, you can switch to that form by clicking on its name.

  • Help

    • Contents

      Show the contents of the help file.

    • Help (F1)

      Show the help file contents for this form (same as pressing the F1 key).

    • Support

      If you have internet access, clicking on support will take you to the KennWare Solutions web site.

    • HTML Documentation

      Documentation in HTML format which can be viewed in a web browser.

    • PDF Documenation

      Documentation in PDF format which can be viewed using Adobe Acrobat Reader.

    • About

      Open the About Form.

7.3. Configuration

The Configuration Form allows you to set or modify general settings which affect the functions and appearance of the kwScheduler program.

The Configuration Form has three tabs to group the settings:

  • General

    The general tab allows you modify basic parameters:

    • Initial Calendar Position

      When calendars are displayed, you can specify the starting hour for the calendar. Enter a value for the value to specify the starting hour as 0 for midnight to 23 for 11:00. The calendar will adjust to show the latest visible hour before midnight.

    • Schedule Interval

      When the program is creating a schedule, it will test if the current time for the task conflicts with another scheduled task or with scheduled time-off for the resource. If the current time for the task does conflict with another task or with time-off, the program will increment the minutes to check again using this interval. The default is 10 minutes. The lower the interval, the longer it will take the program to find a free time slot to schedule the task.

    • Past Due Notification

      The program can notify you if there is any project that is past due. A project is considered past due if the scheduled end date and time is earlier than the current date and time and the project is not marked as completed. Check the Yes radio button if you want the program to notify you of past due projects or check the No radio button if you do not want to be notified of past due projects.

    • Past Due Notification Interval

      To change the interval of when notification occurs, click on the desired radio button (15 minutes, 30 minutes, 1 hour or 3 hours). If some other time interval is desired, click on the Other radio button and enter the value (in milliseconds) in the Value field. Every 1000 millisecond equals 1 second, so one minute is equal to 60,000 milliseconds, 15 minutes is equal to 900,000 milliseconds, etc.

    • Network Server Accessible

      When kwScheduler is first installed on a workstation, it is assumed that a network server for the database has not yet been installed. If a network server has been installed, check the Yes radio button to enable the network database configuration items to be enabled on the Database Configuration Form.

    • Estimage Cost on Resource Rate

      kwScheduler can estimate the total cost of a project by applying a rate for a resource and applying that rate for each task assigned to that resource. Some organizations may not wish for a rate to be visible to anyone accessing the program. You can define that rates not be included on the Resource form and that total costs not be included on the Project form or shown on the Project Detail Report.

  • Reporting

    The reporting tab allows you to modify how the Reporting Guide is used:

    • Show Word Documents

      All reports can be created as a Microsoft Word document. If you do not have Microsoft Word installed on your workstation check the No radio button to prevent the Word reports from being displayed in the report selection list.

    • Show RDL Report Errors or Warnings

      RDL reports will be a future enhancement to kwScheduler. For this version leave this checked as No.

    • Show RDL Reports

      RDL reports will be a future enhancement to kwScheduler. For this version leave this checked as No.

    • Show Rich Text Format (RTF) Reports

      All reports can be created in Rich Text Format, and can be displayed and printed. Leave this checked as Yes unless you only want reports created in Word format.

    • Use Color in RTF Reports

      Rich Text Format reports can use color to visually offset sections or items of the report. If you do not have a color printer, you can set the program to create RTF reports in black and white only to facilitate printing.

    • Report Definition File

      The report definition file instructs the program what reports are available, how they will be rendered (that is as a Word document or RTF document) and what other information needs to be collected to create the report. You should not change the file name unless directed to by KennWare Solutions.

  • Skins (not available on Windows Vista)

    Skins modify how the program is graphically displayed. The content is always the same, but the appearance of the program can be changed by selecting different skins. You can try changing to different skins to find a style that is visually appealing to you. At times, the program will disable skinning to display information, such as when selecting a calendar color for a resource, displaying an RTF report or for displaying Gantt Charts.

    • None (Windows Style)

    • Exact

    • Elegant

    • Black Pearl

    • Zoldar

  • Gantt Chart Settings

    Gantt Charts are a popular interface for plotting time spans using a bar line. The Gantt Chart Form plots times/dates for resources, projects and project tasks.

    You can configure the initial appearance of the Gantt Charts on the configuration form. You can predefine:

    • Gantt Start Time: When displaying a time line for a resource, project or project task you can specify what time of day to begin displaying with; the default is 5:00 AM. When these times are changed, the chart will automatically resize itself to accomodate the new times.

    • Gantt End Time: When displaying a time line for a resource, project or project task you can specify what time of day to end displaying with; the default is 7:00 PM. When these times are changed, the chart will automatically resize itself to accomodate the new times.

    • Gantt Resource Days Span: This controls how many days for the chart to display when showing the dates that a resource is scheduled for.

    • Grantt Project Days Span: This controls how many days for the chart to display when showing the dates that a project is scheduled for.

    • Gantt Task Days Span: This controls how many days for the chart to display when showing the dates that project tasks are scheduled for.

  • Event Logging

    You can specify if errors are also logged to the Windows Application Event Log (not available on Windows 98 or Windows ME). Errors are always logged to the error log first before attempting to write them to the Windows Application Event Log. If you are running the Windows Vista Operating System, you will need administrator privelages to create an entry in the System event log. This is why the program runs at the administrator level.

7.4. Error Log

All errors are logged to the application error log file. By clicking on Error Log, the error log file's contents will be displayed. You can then add notes to the log, print the error log, save it to another file or copy the error log to the clipboard. You can use the Tools...Error Log to view the error log.

7.5. Event Viewer

When an error occurs in the program, it will be logged in the system application log. The event viewer can be used to display the logged information, copied to the clipboard and then pasted into an e-mail for KennWare Solutions to research and resolve. All errors are written to the error log before attempting to add them to the Windows Application Event Log.

The Windows System Event Viewer is not available on Windows 98 or Windows ME. All errors are logged to the kwScheduler.log file in the application directory. You can use the Tools...Error Log to view the error log.

You can specify if errors will be logged in the Windows Application Event Log on the Configuration form.

7.6. About Form

The About Form displays information about the program, locations of the executing libraries, versions, and license information.

The About Form has three tabs to group the settings:

  • General

    The General Information tab displays the following information:

    • Description: The name of the program.

    • Version: The version of the program.

    • Demo Version: If the program is in demonstration mode (i.e. the evaluation period has expired), this text will indicate that the program is running in demonstration mode and what limitations are imposed on the program.

    • Copyright: Copyright information for the program.

    • Code Base: Where the program is executing from.

    • Net Version: The version of Microsoft .Net Frameworks.

  • Database

    The Database tab displays the following information:

    • UserId: If connected to a network database, the UserId you are connected as. If you are connected to a local database, UserId is not applicable (N/A).

    • Database: The database currently connected to.

    • Local or Network Server: Indicates whether you are connected to a local database or to a server database.

    • Datasource: If connected to a network database, the network name or IP address of the machine you are connected to. If you are connected to a local database, Datasource is not applicable (N/A).

  • License

    The License tab displays the following information:

    • License Information: Information about the installed license or information about the status of the evaluation period.

    • The location on the workstation where the program will look for the license files (even if they don't exist yet).

    • Product Information: Product information contained in the license.

7.7. Dates and Times

Many of the forms used in kwScheduler allow you to specify different dates for data entry or for displaying a range of information. The program utilizes “Date Pickers” to allow you to easily select a new date. The date picker uses a familiar calendar format and allows you to move backward or forward month by month to select a new date.

You can use the Date Picker to select a different date. You can type in the date, or use the up-arrow and down-arrow keys to change the highlighted part of the date. If you click on the down-arrow, a calendar will be displayed. You can click on a day in the calendar to change the date, or click on the left-arrow or right-arrow to go to the previous or next month.

In many forms there are fields to select a time. The time picker shows the time with up and down arrows next to it. Click on the part of the time you want to set (such as the hour) and type in a new value or use the up and down arrows to increment or decrement the value, or use the up-arrow or down-arrow keys to increment or decrement the value.

You can use the right-arrow and left-arrow keys to move to the next or previous part of the time (or you can click on a different part of the time).

You can use the right-arrow key to move the AM/PM field and use the up-arrow and down-arrow to toggle between the two.

7.8. Calendars

Calendars are used by kwScheduler to graphically display tasks for projects and resources. The calendar has a time bar down the left showing the duration of each task. A scroll bar is to the right of the calendar to allow you to scroll up or down during the day.

Calendars also have a date picker at the top so you can select a specific date for the starting date of the calendar display. The “Prev” button will move the calendar display one day back. The “Next” button will move the calendar display one day forward.

The top portion of a calendar is used to display any "All Day" tasks while the bottom portion of a calendar will show those tasks assigned by their starting and ending times. "All Day" tasks starts with the resource's work start time and end with the resource's work end time (and does not account for scheduled lunch breaks).

On all calendars displayed by the system, you can graphically adjust the start and end times of all displayed tasks. You can drag a task up or down (for example, to move a task to start and end an hour later than originally scheduled), you can stretch the top of a task to adjust only the start time and you can stretch the bottom of a task to adjust only the end time.

You can manipulate the start and end times for a task displayed on the calendar in the following ways:

  1. Click on the center of a task (a cross-hair pointer will be displayed) and drag the task either up or down. For example, if you need to move a task to start an hour later than originally scheduled, drag the task down so that the start of the task is on the next hour's line.

  2. Click on the very top of a task (an up-arrow pointer will be displayed) and drag the start of the task up to the time that you want to change the start time to.

  3. Click on the very bottom of a task (a down-arrow pointer will be displayed) and drag the end of the task down to the time that you want to change the end time to.

  4. Click on the center of a task and drag the task to a different day (if the calendar displays multiple days). (Known problem: Occasionally, when dragging a task to another day and you cancel the action (such as dragging it to a non-work day or holiday), when the calendar is redisplayed the task is missing. Click on refresh to show the original task again).

On calendars that display multiple days (all calendars except the daily and weekly calendars), you can also drag a task to a different day. Click on the center of a task (a cross-hair pointer will be displayed) and drag the task to a time on another day.

Dragging tasks may result in a start or end time that might be off by a few minutes from what you intended. You can easily correct the time by right-clicking on the task, click on Task in the menu, and adjusting the times in the Task Detail form.

You can right-click on a task to go to the schedule detail for the task, the associated project for the task, the associated resource for the task, or to Push or Pull Schedules (see Schedules). When you right-click on a task, a short-cut menu is displayed allowing you to go the associated Task, Resource, Project, or Push/Pull Form.

You can specify the starting hour to be displayed on the Configuration form (see Configuration).

7.9. Lists

Many components of the program are displayed as lists. For example the Resource tab on the Navigator Form displays a list of resources.

The selected item in the list is indicated by an arrow on the left side of the list. Click on a different row in the list to select a new item. When you click on a button such as Resource Detail, a form will be opened for the selected resource.

You can double-click on a row in the list to go to the detail for the selected resource.

7.9.1. Filters

Some columns in a list may be filtered (that is show only rows with a particular value in a column). These columns are identified with a down-arrow in the right-side of the column.

Click on the down-arrow to display a list of all values in the column. Click on a value or "All' to select a value to filter the list with. Multiple filters can be used at the same time.

Click on 'Show All' at the bottom of the list to remove all filters.

7.10. Domains (Drop-Down Lists)

The software comes preconfigured with most of the information needed to start using it immediately. However, you will probably need to add or modify some of the information used in drop-down lists from which you can select when entering information. In addition, the domain menu also allows you to maintain the list of holidays used in the scheduling process. Domains are groups of related data, which are used to populate the drop-down lists in the program. Most of the domains are already populated but you might wish to modify some of the information. The domains used in the program include:

  • Holidays: you will need to populate your company holidays that you do not want tasks to be scheduled on. For example New Year’s Day or Christmas. When using the auto-scheduling feature, holidays will be skipped. However you can still manually schedule a task on a holiday if it is necessary.

  • Payment Types: you might need to expand on how payment is to be made. The system comes preconfigured with Cash (COD), Charge Account, Open Account and Purchase Order. You can add other payment types as needed.

  • Priority: you can record what priority the work to be done is. The system comes preconfigured with low, medium, high, and emergency. You can add other priorities as needed.

  • Resource Types: The type of resource, such as full time, part time, contractor, equipment, meeting room, etc.

  • Project Type: The type of project, such as time and materials, fixed cost, hourly, etc.

To access the domain information, click on File in the program menu and then click on Domains. Then click on which type of information you want to modify.

7.11. Past Due Notification

Past due projects are those that do not have a completed date/time and whose scheduled end date/time is less than the current date/time. The software automatically notifies you that past due projects exists (if the feature is enabled). Every 15 minutes (or other time interval) the system tests for past due projects, and if any are found, updates the Past Due Projects form on the Navigator form.

The software automatically notifies you that past due projects exists (if the feature is enabled). Every 15 minutes (or other time interval) the system tests for past due projects, and if any are found, updates the Past Due Projects form on the Navigator form.

You can configure if Past Due Notification occurs, and if so at what time interval on the Configuration form.

Chapter 8. Quick Start Guide

8.1. Introduction

In general, to use kwScheduler you need to perform the following tasks:

  • Add your resources (employees, equipment, etc.) to the system

  • Add a customer

  • Create a project (or job) for the customer

  • Schedule one or more resources for the project (or job)

  • Review the schedules

8.2. Overview

The end schedule of this overview should be a schedule similar to that which is contained in the kwSchedulerDemo.FDB database (starting with the date of 5/1/2007).

In this sample, our business is going to manage a fund raising Lottery Project for a charitable organization. The resources we need to manage the project are:

** Description **** Resource Type **** Resource Name **
Board of TrusteesGroupBoard of Trustees
Board Legal LiaisonContractorBill Smith
Fund Raising CommitteeGroupFund Raising Committee
Production ManagerEmployeeJim Wilkinson
Asst Production ManagerEmployeeWendy Carmichael
Artwork DirectorEmployeeJack Anderson

We are going to setup some resources as groups so we don't have to schedule for every member of the group, rather we will schedule for the group as a whole. Before we start, we will identify all of the tasks that will need to be accomplished, the order they should be scheduled, who will perform the work and the duration of the work. The task list looks like:

** Task Description **** Assigned To **** Duration **
Board ApprovalsBoard of Trustees16
Government ApprovalsBill Smith24
Obtain PrizesFund Raising Committee80
Design FliersJack Anderson32
Print FliersJim Wilkinson16
Fliers to Mail HouseWendy Carmichael4
Design TicketsJack Anderson20
Print TicketsJim Wilkinson16
Obtain Address ListsFund Raising Committee40
Assemble Address FilesWendy Carmichael8
Send Addresses to Mailing HouseWendy Carmichael4
Mail Out FliersWendy Carmichael4
Design AdsJack Anderson40
Place AdsWendy Carmichael20
Sell TicketsFund Raising Committee80
Hold DrawingFund Raising Committee8
Award PrizesFund Raising Committee16
Report to GovernmentBill Smith32

The following sections demonstrate how to use kwScheduler to manage this project.

8.3. Working with Drop-Down Lists (Domains)

The software comes preconfigured with most of the information needed to start using it immediately. However, you will probably need to add or modify some of the information used in drop-down lists from which you can select when entering information. In addition, the domain menu also allows you to maintain the list of holidays used in the scheduling process. Domains are groups of related data, which are used to populate the drop-down lists in the program. Most of the domains are already populated but you might wish to modify some of the information. The domains used in the program include:

  • Holidays: you will need to populate your company holidays that you do not want tasks to be scheduled on. For example New Year’s Day or Christmas. When using the auto-scheduling feature, holidays will be skipped. However you can still manually schedule a task on a holiday if it is necessary.

  • Resource Type: you might need to expand on what type of resource you are scheduling for. For example, a regular employee or a piece of equipment. You can add other resource types as needed.

  • Project Type: the type of work to be done. The system comes pre-configured with some default types defined, but you might want to add additional types.

To access the domain information, click on File in the program menu and then click on Domains. File > Domains For this example, we want to setup resource types of Group, Contractor and Employee.

If they aren't already in the list, enter Group, Contractor and Employee in the Description field and click on the update button.

8.4. Adding Resources

We need to add our 6 resources for the project. On the Navigator Form (the first form displayed by the program) click on the Add Resource button (or click on File > Add > Resource). On the Navigator Form, click on the Add Resource button.

Enter the name of the resource (only the last name is required). Check which days the resource is available on, whether they have a lunch break, and the hours they normally are scheduled for.

Choose a color to be displayed on all calendars for this resource. Select a resource type (such as full time, equipment, meeting room, etc.), and enter a short description for the resource.

[Note]Note

Set the same working hours and lunch hours even on the days that the resource is not scheduled to work. This is in case you want to manually add a task for the resource on a non-working day, the system can still inform you that you are scheduling outside of their normal working hours.

Click on the Add Resource button.

Continue adding the other resources using different calendar colors for each of them.

8.5. Setting up a Customer

We need to add our customer for the project. On the Navigator Form (the first form displayed by the program) click on the Add Customer button (or click on File > Add > Customer). On the Navigator Form, click on the Add Customer button.

Enter the customer name and optionally the address and phone numbers.

Click on the Add Customer button.

8.6. Creating a Project

We need to add a project for the customer. On the Navigator Form (the first form displayed by the program) click on the Add Project button (or click on File > Add > Project).

The add project form will be displayed.

Select Children Assistance Foundation from the customer drop-down list. Select the Project Type (i.e. contract, cost basis, etc.) for the project. Select the schedule date and time that the customer has requested. You might want to review other schedules to see when resources are available (see Gantt Charts and Histograms). Select the date and time that the customer has requested that the work should be completed by. These dates are for information only. The software will schedule actual dates when you create schedules for the project. If known, enter the Receivable Order number (RO Number) for the project. This number should tie the project to your accounting system. Enter a description of the work to be done. Click on the Add Project button to add the project to the system. You should get a message indicating that the project has been added and any open forms will be refreshed. Click on the Close button.

8.7. Scheduling the Project

On the Navigator Form, select the project tab page and select the project for the Children Assistance Foundation. Then click on the Project Detail button to open the project form and select the Schedule tab page.

We will work from the schedule tab page so we can see start and end dates for each task as we enter it. Some tasks can happen at the same time, some tasks must wait for other tasks to complete before they can be scheduled. Click on the Schedule button to open the Scheduling Guide.

The first page of the Schedule Guide is displayed. Select Children Assistance Foundation and click on the Next button.

Our first task is getting Board Approvals, select the Board of Trustees resource and click on the Next button.

We want to schedule a task of a certain duration, make sure the Create Multiple Tasks option is selected and click on the Next button.

We don't want to replace a previous schedule or allow double-booking, so click on the Next button.

Enter the starting date and time, the duration of the task and the description of the task and click on the Schedule button.

You should receive a confirmation message showing what date and times the schedule has been created with.

The Schedule tab page of the project should show the tasks created for Board Approval.

Board Approvals should be completed on 5/2 at 5:00 PM. Now we can schedule the next task to start on 5/3 at 8:00 AM. Assuming that Government Approvals will not be a problem, we can schedule that task, the Obtain Prizes task and the Design Fliers task to all start at that time. Using the Scheduling Guide, enter all the tasks identified in the Overview. After entering all the tasks, the project shows the scheduled start and end dates and the total hours scheduled for the task.

The Schedule tab shows all tasks created. It can be sorted by resource name, task name, start or end date by clicking on the column header.

8.8. Reviewing the Project

There are several ways to review schedules. In this case we will select the project for Children Assistance Foundation from the project list on the Navigator form and click on Project Detail. The project detail page shows the scheduled start date time and the scheduled end date time.

The Calendar tab page shows a five day calendar for the project.

The Task List tab page shows tasks and the dates those tasks are scheduled on.

You can also review the schedule by:

  • Resource

  • Weekly Calendar

  • Gantt Charts

  • Histograms

Also the Project Detail Report will report all information about the project (see Working with Reports).

Chapter 9. The Navigator Form

9.1. Introduction

When the kwScheduler program first starts, the Navigator Form is the first form displayed. It contains information about all aspects of the data in kwScheduler, and enables you to navigate to any other area of the program.

The Navigator Form has a date picker on it to allow you to set the current date for any of the displays. You can pick a different date or use the Prev day or Next day buttons (see Working with dates and times). This date is used as the initial date when you go to other forms such as the Resource Calendar, Weekly Calendar, Gantt Charts, Histograms, etc.

There are a series of buttons at the top of the form which change depending on which tab you click on. The standard buttons are:

  • Add Project: Add a new project.

  • Add Customer: Add a new customer.

  • Add Resource: Add a new resource.

  • Schedule: Start the Scheduling Guide to create or delete schedules for a project.

  • Week Calendar: Show calendars for a full week.

  • Gantt Charts: Graphically shows days for which a resource, project, or project tasks are assigned.

  • Histogram: Graphically shows days for which a resource or project are assigned.

  • Reports: Start the Reporting Guide to create a report.

  • Refresh: Re-access all information and redisplay it. This is useful in a client-server environment.

  • Print Form: Print the current form that is displayed.

  • Exit Scheduler: Exit the program.

Other buttons will also be displayed depending on which tab you have selected (such as Resource Detail on the Resource tab).

If you close the Navigator form by accident, you can redisplay it by clicking on the File menu and then clicking on Navigator.

9.2. Daily Calendar

The Navigator Daily Calendar form graphically displays all tasks for all resources on a particular date. To change the date of the displayed schedule, click on the 'Previous Day' or 'Next Day' button, or click on the down arrow on the date box. A calendar will be displayed to select a different date (see Working with Dates and Times).

As with every calendar, you can manipulate the scheduled tasks by dragging the top or bottom of the task to adjust the start and end times. You can also drag a task to a different time. If you right-click on a task you can go directly to the associated task detail (such as the scheduled entry, the project, the resource, etc.). Also see Working with Calendars.

9.3. Daily Schedule

The daily schedule presents a “Tree View” of schedules by date. It lists each date that there is a schedule for with a ‘plus’ sign next to it. When you click on