Contents
Installing Class Scheduler
Getting started
Using Class Scheduler
Working with Class Scheduler Data
Configuring Class Scheduler
Custom reporting
Customizing HTML reports
Multi-language support
Frequently Asked Questions
Copyright © CyberMatrix® Corporation, Inc. 2000 - 2010. All rights reserved.
Getting Started
Ways Class Scheduler Can be Used
There are three ways Class Scheduler can be used. Class Scheduler can be used for student-based scheduling, block scheduling and requirements-based scheduling. Student-based scheduling is used in most high schools, colleges and universities. In student-based scheduling, the scheduling is done on a student by student basis where students have their own unique class schedule. Block scheduling is often used in elementary and middle schools where scheduling is done with groups of students at a time. Requirements-based scheduling is used to setup class times and the assignment of rooms and instructors before student scheduling actually takes place.
Entering Data
The first step in using Class Scheduler is to enter your data. Your data will include information about your students, classes and instructors. When you first use the program, there should be some sample data. Once you have finished experimenting with this data you should erase it and enter your own data. Data is erased and added in the Data Manager screen. See the Data Manager link for more details on deleting old data and entering new data.
Entering Class Data
The first step is to enter data for all your classes. First, you need to enter all the different class types. Class types are your core courses. Enter all your Class Type data in the Class Types table using the Data Manager. Classes are the different representations of your core courses. For example, if you teach History 101 this would be the Class type but you would have potentially several different History 101 classes, each at a different time, in a different room or with a different instructor. Class data is entered in the Classes table using the Data Manager. If you plan to use the requirements-based scheduling feature, you do not need to enter Classes data, as it will be automatically created for you.
Grades
Grades can be assigned to students and class types. When grades are assigned in this way, students in a particular grade can only be assigned courses that have been assigned the same grade. If a class has not been assigned a grade it can be assigned to any student regardless of what grade that student is in.
Pre-requisites
To setup the pre-requisites feature you first need to enter the pre-requisites into the Class Types table.
Requirements
If you plan to use the requirements-based scheduling feature, you will need to populate the Requirements table.
Related topics: Using Class Scheduler, Viewing and Editing Table Data
Using Class Scheduler
Getting to know the Main Screen
Assigning classes to students or groups
Dropping classes of a student or group
Auto scheduling a student or group
Auto assigning rooms to classes
Auto assigning instructors to classes
Auto assigning students to groups
Auto scheduling by requirements
Color coding the schedule
Changing schedule filter
Searching for students
Viewing student gradebook and report cards
Viewing schedule reports
Exporting schedule to CSV
Accounts Receivable
Working with Class Scheduler data
Getting to know the Data Manager
Viewing and Editing Table Data
Class Scheduler Tables
Viewing SQL Queries
Executing SQL Queries
Deleting records
Inserting Records
Re-indexing Tables
Backing up data
Restoring data
Importing and Exporting CSV Data
Avoiding data problems
Getting to know the Data Manager
The Class Scheduler program uses several data files. To view this data choose View | Data Manager from the main menu. The following screen will appear:

The Data Manager screen consists of the menu bar, the data navigator bar and the data tabs.
The Menu Bar
The menu bar has four sections: File, Search, Records and Help.
File Section
The File section contains the following functions:
Export to CSV - Exports the current table to CSV file format. See also: Importing and Exporting Data in CSV Format
Import CSV file - Imports a CSV file into the selected table.
New SQL File - Opens the Notepad text editor to allow you to create a new SQL file. See also: Viewing SQL Queries
Edit SQL File - Opens the Notepad text editor to allow you to edit an existing SQL file.
Open SQL File - Allows you to choose an existing SQL file and shows the results of that query in the detail tab data grid.
Execute SQL File - Allows you to choose an existing SQL file and executes that query.
Re-index Table - Re-index the currently selected table. See also: Re-indexing Tables
Close - Closes the Data Manager screen.
Search Section
The Search section allows you to find records when in the detail tab view. To search for a record you must first click in or tab over to the field in which you want to search. Then choose Find from the Search menu. In the dialog that pops up, enter the text you want to search for then press the Find Next button. To find the next occurrence of that text press the Find Next button again.
Records Section
The Records section contains the following functions:
Insert Record - Inserts a record above the current record. See also: Inserting Records
Delete Selected Records - Delete all the selected records. See also: Deleting records
Delete All Records - Deletes all the records in the current table.
Backup Data - Makes a time-stamped backup file of all tables. See also: Backing up Data
Restore Data - Replaces your existing data with the tables from a previous data backup. See also: Restoring data
E-Mail Data Backup - Makes a time-stamped backup file of all tables and brings up the e-mail form to allow you to send your data to someone. Useful when asking for support for data-related problems.
The Data navigator Bar
The bar at the top is the data navigator. The data navigator is for navigating the records of the current table. The first button |< will move to the first record of the current table. The second button < will move to the previous record. The third button > will move to the next record. The fifth button >| will move to the last record. The + button will add a new record. The - button will delete the current record. The button with the check mark will save changes made to the current record. The x button will cancel any changes made to an unsaved record. The last button refreshes the current table to show the latest changes made to it.
The Data Tabs
The data tabs show all the tables used in Class Scheduler and allow you to view and edit the data in them. See the Viewing and Editing Table Data section for more details.
Viewing and Editing Table Data
There are two ways to enter table data: in form view and in detail view.
Entering data in form view
To enter data by form view choose the tab corresponding to the table for which you wish to enter data. A form will appear showing all the fields in that table. To add a new record press the + button on the data navigator bar. A blank record field will appear. Enter data in the fields and press the check mark on the data navigator bar. This saves the record changes.
Entering data in detail view
To view the data for a table in detail view first choose the Detail tab. The screen should look like this:

To view the data in a table choose the table's radio button in the left box. The table's data should then appear in the grid to the right. The data may now be edited directly in the grid. After editing a record, the changes will be saved after you move off the edited record.
Currently, data from SQL queries may not be edited in this way.
You can cancel any changes you made to a record by either clicking the Cancel button (the big X) on the Database Navigator at the top of the screen or by simply hitting the ESC key.
Editing existing records
If you need to edit an existing record, first move to that record. You can use the arrow keys in the left part of the data navigator bar. The first button |< will move to the first record of the current table. The second button < will move to the previous record. The third button > will move to the next record. The fourth button >| will move to the last record.
When you've found the record you want to edit, make your changes and save them by pressing the data navigator bar button with a check mark or just move to another record. If you want to cancel the changes you just made, click the data navigator bar button with an x in it or press the Esc key.
Key Fields
Most tables have what are called key fields. Key fields are required fields that make each record unique. If you add a record but fail to enter the key fields, you will get an error something like "FieldX must have a value" when you try to save the record. In such a situation, you will have to either enter the key fields or cancel the changes.
Class Scheduler Table Details
Class Scheduler has the following tables: AccountsReceivable, Attendance, Buildings, Classes, ClassTimes, ClassTypes, Gradebook, Groups, Holidays, Instructors, Requirements, Rooms, Students, StudentClasses, StudentDiscipline, StudentHealth, StudentPreReqs, Terms, Transcripts, Users, WaitingList and Security. The field sizes and descriptions for all the tables are detailed below. Required fields are shown in bold.
Accounts Receivable
This table keeps track of students enrollment payments. Here are the field sizes and descriptions:
Invoice - AutoInc - unique
StudentID - String - 15
Term - String - 10
Amount - Currency
InvoiceDate - Date
PayDate - Date
PaymentType - Unsigned Integer
CardNumber - String - 16
CardExpireDate - String - 5
CardSecurityCode - String - 4
AuthorizationNumber - String - 8
Phone - String - 20
BillingAddress - String - 250
Notes - String - 250
Attendance
This table keeps track of attendance of individual students. Here are the field sizes and descriptions:
StudentID - String - 15 - unique
AttendanceDate - Date - unique
Class - String - 15
InstructorID - String - 15
Note - String - 250
PartialDay - Boolean
Present - Boolean
The StudentID field links to the StudentID field of the Students table. The ClassID field links to the Class field in the Classes table. The InstructorID field links to the InstructorID field in the Instructors table. The Present field indicates if the student was present on the entered day.
Availability
This table lists all the times Instructors, Rooms and Students (entities) are available. If no records are entered for an entity, that entity is considered to be available all the time. Here are the field sizes and descriptions:
EntityID - String - 15 - unique
EntityType - Unsigned Integer
Days - String - 20
TimeFrom - Time
TimeTo - Time
DateFrom - Date
DateTo - Date
The EntityID field links to the InstructorID field of the Instructors table, the RoomID field in the Rooms table or the StudentID field of the Students table depending on the value of the EntityType field. The EntityType field can have the following values:
0 - Instructor
1 - Room
2 - Student
The Days field indicates on which days of the week the entity is available. The Days field can contain any combination of days in the format [Mo,Tu,We,Th,Fr,Sa,Su]. The days must be separated by commas. Leave the Days field blank if the entity is available on all days. Note that the case is important. You cannot use all upper or lower case letters. The best way to add days is to click the ellipsis button to the right of the Days field. A selector box will pop up. Hold down the Ctrl key and click the days the class will occur. Then click the OK button.
The TimeFrom and TimeTo fields indicate which times of day the entity is available. Leave the time fields blank if the entity is available during all times. The DateFrom and DateTo fields indicate which dates the entity is available. Leave the dates fields blank if the entity is available on all dates.
Buildings
This table lists all buildings containing classrooms. Here are the field sizes and descriptions:
Building - String - 10 - unique
Description - String - 20
Classes
This table lists all the available classes. Here are the field sizes and descriptions:
Class - String - 15 - unique
ClassType - String - 15
Description - String - 30
Term - String - 5
Room - String - 10
Capacity - Integer
Security - String - 1
StartTime - Time
EndTime - Time
StartDate - Date
EndDate - Date
Days - String - 20
Notes - String - 250
Instructor - String - 10
Building - String - 20
Email - String - 30
RoomType - String - 10
Color - Integer
CreditHours - Integer
Required - Boolean
The Class field is a unique identifier for the class. Every different class must have it's own ID. The Class Type field identifies which class type to which the class belongs. The ClassType field links to the ClassType field in the ClassTypes table. The description can be anything you like. It is used to assign a name to the class ID. The Term field is optional. It indicates which term the class falls in. The Term field links to the TermID field in the Terms table. The optional Room field indicates in which room the class takes place. The Room field links to the RoomID field in the Rooms table. The Capacity field indicates the maximum number of students that can take this class. The Security field can be set to either A (Administrator) or U (user). When the security is set to A, only administrators can assign this class to a student. The Start and End Time fields indicate at which time the class will start and when it will end. The optional Start and End date fields indicate on which day the class starts and when it ends. The Instructor field indicates who will be teaching the class. The Instructor field links to the InstructorID field in the Instructors table. The optional Building field indicates which building the class takes place in. The Building field links to the Building field in the Buildings table. The optional E-mail field is for placing an e-mail address of the person responsible for this class. When the class is dropped and the Notify On Class Drop configuration setting has been set, a drop notice will be sent to this address. The RoomType field links to the RoomID field in the Rooms table.
The Days field indicates on which days of the week the class will occur. The Days field can contain any combination of days in the format [Mo,Tu,We,Th,Fr,Sa,Su]. The days must be separated by commas. Note that the case is important. You cannot use all upper or lower case letters. The best way to add days is to click the ellipsis button to the right of the Days field. A selector box will pop up. Hold down the Ctrl key and click the days the class will occur. Then click the OK button. The optional Room Type field indicates the special kind of room the class requires. For example, a chemistry class would require a special chemistry lab. The RoomType field links to the RoomType field in the Rooms table.
The Color field indicates the color a class will have when viewed in the main screen. To change the color, in the Classes form view of the Data Manager, click the ellipsis button to the right of the Color field. A color selector box will pop up. Click the color you want and press OK. If both a class and its class type have different colors associated with them, the class color will take precedence.
The CreditHours field indicates how many credit hours this course counts towards on completion. The Required field indicates whether the class is required or an elective.
ScheduleTimes
This table lists all the possible time periods for your timetable schedules. This table was previously know as the ClassTimes table. The raw database file is still called ClassTimes. The name has been changed within the software to prevent confusion.
Here are the field sizes and descriptions:
StartTime - Time
EndTime - Time
Day - String - 2
Description - String - 20
Break - Boolean
There are two ways the ScheduleTimes table is used: to break up the schedule into visible time periods and to assign different time periods for different days for use in requirements scheduling. The day field can contain any single day in the format [Mo,Tu,We,Th,Fr,Sa,Su]. The Day field can also be blank. Times where the Day field is blank are used to setup the schedule's visual time periods. These are the time intervals you see on the schedule. If there are no records with a blank Day field in the ScheduleTimes table, you will get an error stating that no class times have been setup. You can use the "Re-create Schedule Times" function in the Schedule Options tab to setup the initial times quickly. The break field if set true will cause that time period to be shown as grayed out in the schedule.
ClassTypes
This table lists all the class types. Class types are used to group together the unique classes. For example, Math30a and Math30b are unique class names that would belong to the Math30 Class Type.
Here are the field sizes and descriptions:
ClassType - String - 15 - unique
Description - String - 30
PreReqs - String - 250
Grade - Integer
Color - Integer
Cost - Currency
The Class Type field is a unique identifier for the class type. Every different class type must have it's own ID. The description can be anything you like. It is used to assign a name to the ID. The Grade field is optional. Grades can be assigned to students, groups of students and class types. When grades are assigned in this way, students in a particular grade can only be assigned courses that have been assigned the same grade. If a class has not been assigned a grade it can be assigned to any student regardless of what grade that student is in. The PreReqs field is also optional. It identifies any pre-requisite class types that must be completed before a student can be enrolled in the current class type. Each class pre-requisite is separated by a comma. It is very important that each pre-requisite is an existing class type. If a ClassType requires no pre-requisites, just leave this field blank. The best way to add pre-requisites is to click the ellipsis button to the right of the PreReqs field. A selector box will pop up. Hold down the Ctrl key and click the class types that are pre-requisites for the current class type. Then click the OK button. The Color field indicates the color a class with this class type will have when viewed in the main screen. To change the color, in the ClassTypes form view of the Data Manager, click the ellipsis button to the right of the Color field. A color selector box will pop up. Click the color you want and press OK. The Cost field indicates how much it costs to take this class.
Gradebook
This table lists all the student grades. Here are the field sizes and descriptions:
StudentID - String - 15
ClassID - String - 15
GradeDate - Date
PercentGrade - Float
LetterGrade - String - 2
Note - String - 250
Groups
This table lists all the student groups. Here are the field sizes and descriptions:
Group - String - 10 - Unique
Grade - Integer
Capacity - Integer
Color - Integer
Priority - unsigned integer
The Group field is a unique identifier for the group. Every different group must have it's own ID. The Grade field is optional. Grades can be assigned to students, groups of students and class types. When grades are assigned in this way, students in a particular grade can only be assigned courses that have been assigned the same grade. If a class has not been assigned a grade it can be assigned to any student regardless of what grade that student is in. The capacity field indicates the maximum number of students can belong to each group.
The Priority field indicates which groups get preference during auto assigning students to groups. Lower numbers indicate higher precedence. The Color field indicates the color a class assigned to this group will have when viewed in the main screen. To change the color, in the Groups form view of the Data Manager, click the ellipsis button to the right of the Color field. A color selector box will pop up. Click the color you want and press OK.
Holidays
The Holidays table lists all the statutory holidays. Currently this table is not used by the program. Here are the field sizes and descriptions:
HolidayDate - Date - unique
Holiday - Text - 30
Instructors
This table lists all class instructors. Here are the field sizes and descriptions:
InstructorID - String - 15 - unique
Name - String - 30
Department - String - 10
Classifications - String - 50
Phone - String - 20
Address1 - String - 25
Address2 - String - 25
City - String - 15
State - String - 2
PostalCode - String - 10
Email - String - 30
Notes - String - 250
ClassQualifications - String - 250
Priority - Integer
MaxClassSize - Integer
MaxClasses - Integer
The InstructorID field links to the LoginID field of the Security table. The InstructorID field is a unique identifier for the instructor. Each different instructor must have their own ID. The Classifications field indicates any special classifications the instructor might have. For example, this field might be used to identify instructors that have knowledge of CPR. The ClassQualifications indicates which ClassTypes the instructor is able to teach. Multiple class types are separated by commas. The Priority field is used when using the Assign Instructors to Classes feature. The lower the number the greater the priority the instructor will be assigned to classes first. The MaxClassSize field indicates the maximum number of students the instructor is willing to teach. The MaxClasses field indicates the maximum number of classes the instructor is willing to teach in a given term.
Requirements
This table is used to enter the requirements used in the Auto Schedule by Requirements feature. Here are the field sizes and descriptions:
ClassType - String - 15
NumberOfClasses - Integer
InstructorID - String - 15
RoomType - String - 10
Days - String - 20
StartTime - Time
EndTime - Time
ClassDuration - Integer
The Class Type field identifies to which class type the class belongs. The ClassType field links to the ClassType field in the ClassTypes table. The NumberOfClasses field indicates the number of number of classes of this type you want scheduled. The Instructor field links to the InstructorID field in the Instructors table. If an instructor is not entered, the corresponding classes that are created will not be assigned an instructor. The optional Room Type field indicates the special kind of room the class requires. For example, a chemistry class would require a special chemistry lab. The RoomType field links to the RoomType field in the Rooms table. The Days field can contain any combination of days in the format [Mo,Tu,We,Th,Fr,Sa,Su]. The days must be separated by commas. The StartTime and EndTime fields indicate within which times of day the class can be taught. If the StartTime and EndTime fields are left blank, the class is assumed to be available all school day long. The ClassDuration field indicates how long in minutes the class will last.
Rooms
This table lists all classrooms. Here are the field sizes and descriptions:
RoomID - String - 5 - unique
Description - String - 30
RoomType - String - 10
Capacity - Integer
The Room field is a unique identifier for the room. Every different room must have it's own ID. The capacity field indicates the maximum number of students can occupy each classroom. The optional Room Type field indicates the special kind of room the class requires. For example, a chemistry class would require a special chemistry lab.
Security
This table lists all user names and their associated passwords. It is used to enforce security and is therefore encrypted. Here are the field sizes and descriptions:
LoginID - String - 15 - unique
Password - String - 10
StudentClasses
This table lists all the students' currently enrolled classes. Here are the field sizes and descriptions:
StudentID - String - 15
Class - String - 15
Paid - Boolean
Tentative - Boolean
Each record in this table forms a unique pair.
The StudentID field links to the StudentID field of the Students table. The Class field links to the Class field in the Classes table. The Paid field indicates whether the student has paid for this class. The Tentative field indicates whether this class is not yet approved.
StudentDiscipline
This table lists all the students' disciplinary actions. Here are the field sizes and descriptions:
StudentID - String - 15
DisciplineDate - Date
Notes - String - 250
The StudentID field links to the StudentID field of the Students table.
StudentHealth
This table lists all the students' health records. Here are the field sizes and descriptions:
StudentID - String - 15
VisitDate - Date
Notes - String - 250
The StudentID field links to the StudentID field of the Students table.
StudentPreReqs
This table lists all the students' passed classes that count as pre-requisites for other classes. Here are the field sizes and descriptions:
StudentID - String - 15
Class - String - 15
Each record in this table forms a unique pair.
The StudentID field links to the StudentID field of the Students table. The Class links to the ClassType field in the ClassTypes table.
Students
This table lists all students. Here are the field sizes and descriptions:
StudentID - String - 15 - unique
Name - String - 30
Classifications - String - 50
Phone - String - 20
Address1 - String - 25
Address2 - String - 25
City - String - 15
State - String - 2
PostalCode - String - 10
Notes - String - 250
Group - String - 10
Grade - Integer
Phone2 - String - 20
Phone3 - String - 20
Phone4 - String - 20
AltAddress1 - String - 25
AltAddress2 - String - 25
Ethnicity - String - 1
Gender - Boolean
BirthDate - Date
Color - Integer
StartDate - Date
EndDate - Date
Priority - unsigned integer
The StudentID field is a unique identifier for the student. Each different student must have their own ID. The StudentID field links to the LoginID field of the Security table. The Classifications field indicates any special classifications the student might have. For example, this field might be used to identify students that have knowledge of CPR. The Group field indicates to which group the student belongs. This field is only needed if you plan to schedule using groups of students instead of individual students. The Group field links to the Group field in the Groups table. The Grade field is optional. Grades can be assigned to students, groups of students and class types. When grades are assigned in this way, students in a particular grade can only be assigned courses that have been assigned the same grade. If a class has not been assigned a grade it can be assigned to any student regardless of what grade that student is in. For Gender True is female and False is male.
The Color field indicates the color a class assigned to this student will have when viewed in the main screen. To change the color, in the Students form view of the Data Manager, click the ellipsis button to the right of the Color field. A color selector box will pop up. Click the color you want and press OK. The StartDate and EndDate fields indicate when the student started taking classes and when they graduated. The Priority field indicates which students get preference during auto assigning students to groups. Lower numbers indicate higher precedence.
Terms
This table lists all class terms. Here are the field sizes and descriptions:
TermID - String - 5 - unique
Description - String - 20
Transcripts
This table lists all student transcript records. Here are the field sizes and descriptions:
StudentID - String - 15
ClassType - String - 15
CompleteDate - Date
The StudentID field links to the StudentID field of the Students table. The ClassType field links to the ClassType field in the ClassTypes table.
Users
This table lists all the users of the software. Here are the field sizes and descriptions:
LoginID - String - 30 - unique
LastIn - TimeStamp
LastOut - TimeStamp
Waiting List
This table lists all student waiting list records. Here are the field sizes and descriptions:
StudentID - String - 15
ClassType - String - 15
RequestDate - Date
The StudentID field links to the StudentID field of the Students table. The ClassType field links to the ClassType field in the ClassTypes table.
Viewing SQL Queries
It is possible to view the results of simple SQL statements stored in external text files. SQL stands for Structured Query Language; it is a way to communicate with databases using English-like commands.
To work with SQL queries you must be in the Detail tab of the Data Manager. To create a new SQL file either create one using any text editor or choose File | New SQL File from the menu. Save the SQL file to a folder, usually the Class Scheduler Data folder.
To open a previously saved SQL file choose File | Open SQL File from the menu. A file select dialog will pop up allowing you to choose a SQL file. After selecting a file, you should see the results of the query in the data grid.
Here is an example of simple SQL Select query:
SELECT Name, Class
FROM Students T1, StudentClasses T2
WHERE Classifications like '%Band%' And T1.StudentId=T2.StudentId
ORDER BY Name
This query shows the names of all band students and their classes.
For more information on SQL, consult a good introductory database textbook. There is also some documentation on the supported SQL calls in the database engine manual. To read this manual choose Help | DB Engine Manual from the Data Manager menu.
Executing SQL Queries
It is possible to execute simple SQL statements stored in external text files. SQL stands for Structured Query Language; it is a way to manipulate information from databases using English-like commands.
To create a new SQL file, either create one using any text editor or choose File | New SQL File from the menu. Save the SQL file to a folder, usually the Project Clock Data folder. Remember to save with the .SQL extension.
To open a previously saved SQL, file choose File | Open SQL File from the menu. A file select dialog will pop up allowing you to choose a SQL file. After selecting a file, you should see the results of the query in the data grid.
Here is an example of a simple SQL Update query:
UPDATE Classes SET ClassType='Bio300' WHERE ClassType='Bio3'
This query will update all time records where the ClassType is "Bio3". For these records, the ClassType will be renamed to "Bio300".
For more information on SQL, consult a good introductory database textbook. There is also some documentation on the supported SQL calls in the database engine manual. To read this manual, choose Help | DB Engine Manual from the Data Manager menu.
Deleting records
To delete a record when in form view, navigate to the record and press the - button on the navigator bar.
To delete one or more records in the detail view, select the records to delete. To select multiple records, click on the first record then hold down the [Ctrl] Key and click to select individual records or hold down the [Shift] key to select a range of records. To delete the selected records either press the [Ctrl]+[D] key combination or choose File | Delete Selected Records from the menu. To delete all the records in the current table choose File | Delete All Records from the menu.
Inserting Records
To insert a record when in form view, press the + button on the navigator bar.
To insert a record in the detail view, click on the record above which you wish to insert a record. Then either press the [Ctrl]+[I] key combination or choose File | Insert Record from the menu.
Re-indexing Tables
Over time, one of your tables may become corrupted. This sounds worse than it is. When a table becomes corrupted it usually just means the table's index has been compromised and needs to be rebuilt. See the section Avoiding Data Problems to learn more about table corruption. Usually when a table is corrupted, you will see an error message such as:
DBISAM Engine Error #9217 Error reading From Data File G:\ClassSchedule\data\Students.dat
Re-indexing (repairing) the table is simple. Just select the affected table in the detail view and then choose File | Re-index Table from the Data Views menu. It does no harm to re-index a non-corrupt table.
DBSys
If you are unable to open the application to re-index a table, you can get the DBSys utility http://www.cybermatrix.com/dsdownloads.html. DBSys is a utility from Elevate Software http://www.elevatesoft.com/, the makers of the database engine used in Class Scheduler. Use this program to repair the affected table.
Last Resort
If after trying all these solutions you still have problems, use the Data Backup feature (see section below) to create an archive of the problem data files and e-mail it to UNCONVERTED WINHELP MACRO:! ExecProgram("support@cybermatrix.com",)CyberMatrix support.
Related topics: Avoiding data problems, Backing up data
Backing up Data
To create a backup of your data choose Records | Backup Data from the menu in the Data Manager screen. Running this function will create a zip file in the Data\Backup folder. The zip file will have a name consisting of the current date and time the archive was completed.
Related topics: Restoring Data
Restoring data
To restore previously archived data choose Records | Restore Data from the Data Manager menu. A file select dialog will pop up allowing you to choose the archive you would like to restore.
Related topics: Backing up data
Importing and Exporting Data in CSV Format
Importing Data
Class Scheduler can import data in the form of comma-separated CSV files. If you have existing data from another application, this data can be imported into Class Scheduler provided it is saved in the right format. CSV files used for importing must follow the exact same format as the table into which they will be imported. That is, if you look at a table in the detail view of the Data Manager you will notice the order of the fields in the table. This is the same order in which your CSV file must be. Most spreadsheet programs like Microsoft Excel allow you to easily load in CSV file and move columns around.
See the section Class Scheduler Tables for more details on field types and sizes.
To import a CSV file first select the table you want to import into from the Data Manager. Then choose File | Import From CSV from the Data Manager menu. A wizard will guide you through importing the CSV file.
Note that when running the wizard, your import time format string must be exactly the same as what is in the CSV file. Most people leave in the .zzz in the import format string when their CSV data does not have microseconds. The import is not smart enough to determine what date/time formats you are using. You have to tell it. If the first row of your CSV file contains the field names, the field names in the header must exactly match the field names in the table you are importing into.
Exporting Data
Data can also be exported in CSV file format from Class Scheduler. This data can be imported into other applications that can handle CSV imports.
To export a CSV file first select the table to export from the Data Manager. Then choose File | Export To CSV from the menu. A file select dialog will allow you to select the CSV file to export.
Related topics: Viewing and Editing Table Data
Getting to Know the Main Screen
On running the program, the following screen will appear.

The Class Scheduler main screen consists of the menu bar, the tool bar, scheduler view and the status bar.
The menu bar
The menu bar has five sections: File, Search, View, Tools and Help.
The File section
The File section contains the following functions:
Export schedule to CSV - Exports the current schedule to the CSV data format. This feature was added to enable blind students a way to access their schedules. See also: Exporting schedule to CSV
Login - Allows Administrator or user to login to the system. This item is only seen if security has been enabled.
Logout - Allows Administrator or user to log out of the system. This item is only seen if security has been enabled.
Change Password - Brings up the change password dialog that allows you to change your log in password.
Open Site - Brings up the Choose Site dialog that allows you to choose a different site. See also: Site Editor tab
Language - Contains a sub menu of all the different language available for this program. To change to a different language just select the desired language from the sub-menu. See also: Multi-Language Support
Exit - Closes Class Scheduler.
The Search section
The Search section contains the following functions:
Find Student - Searches for student schedules by class and student classification. See also: Searching for Students
Find Next - Brings up the next student's schedule.
The View section
The View section contains the following functions:
Filters - Brings up dialog to allow changing the schedule filter. See also: Changing Schedule Filter
Show All Classes - Shows all classes in the current term or date range on the schedule with the filtered classes white and the other classes silver. See also: Adjusting Classes From the Schedule
Reports - Brings up the Report screen to view schedule reports. See also: Viewing schedule reports
Print Schedule Report - Sends the current screen schedule to your printer.
Print All Student Schedules - Sends the schedule for each student to your printer.
HTML Schedule Report - Brings up an HTML report matching the screen schedule.
Save All HTML Student Schedules - Save HTML schedules of all students to the selected folder.
Student Gradebook - Brings up the student gradebook screen. The student gradebook screen enables you to enter grades for all the students. See also: Student gradebook
Refresh Schedule - Refreshes the current schedule with the most recent data from the database.
The Tools section
The Tools section contains the following functions:
Data Manager - Brings up the Data Manager screen. The Data Manager is used to manipulate the data used in Class Scheduler. See also: Class Scheduler data
Edit Class Enrollment - Brings up a dialog to allow assignment of classes to students or groups. See also: Assigning classes to students or groups
Auto Schedule Student - Automatically generates a list of possible schedules for individual students given a list of desired classes. See also: Auto scheduling a student or group
Auto Schedule Students in Bulk - Automatically generates schedules for students in bulk given a list of students and their desired classes. See also: Auto scheduling a student or group
Assign Rooms to Classes - Runs a function to automatically assign rooms to classes as efficiently as possible. See also: Auto assigning rooms to classes
Assign Instructors to Classes - Runs a function to automatically assign instructors to classes as efficiently as possible. See also: Auto assigning instructors to classes
Assign Students to Groups - Runs a function to automatically assign students of the same grade to groups. See also: Auto assigning students to groups
Auto Schedule by Requirements - Runs a function to automatically setup classes based on entered class requirements. See also: Auto scheduling by requirements
Accounts Receivable - Brings up the Accounts Receivable screen to print invoices and track payments made for student's classes. See Also Accounts Receivable
Manage Attendance - Brings up the Manage Attendance screen to keep track of student class attendance. See Also Manage Attendance
Manage Availability - Brings up the Manage Availability screen to enter availability of instructors rooms and students. See Also Manage Availability
Options - Brings up the configuration screen. The configuration screens allows you to customize Class Scheduler to a certain extent by changing several different options. See also: Configuring Class Scheduler
Assigning classes to students or groups
If Class Scheduler has been configured to schedule by groups (blocks) of students instead of individual students, classes will be assigned to groups. Otherwise, classes will be assigned to individual students.
To assign classes to a student or group choose Tools | Edit Class Enrollment from the main menu. The following screen will appear:

To view the assigned classes and available classes for a student or group choose that student or group from the Student/Group listbox. Multiple students can be selected and scheduled. To enroll the selected students in classes or assign classes to a group, select the desired classes in the Available Classes box to the right. Then either drag them with the mouse to the Enrolled Classes box to the left or click the < button.
Note that classes won't show up in the Available Classes box if the class is outside the schedule date/term filter, the class is full, the grades of the last selected student and class don't match, the class conflicts with already enrolled classes, the scheduling user does not have security rights to schedule the class or the last selected student does not have the necessary pre-requisites.
If security is enabled and the logged in user is not an Administrator, classes can only be assigned to this user.
If you do not want to bother with pre-requisite classes be sure to check the Override pre-requisites box.
Double click on a class to see it's details.
Press the Save button to save changes or the Cancel button to ignore any changes and return to the main screen.
Related topics: Dropping classes of a student or group, Schedule tab options
Dropping classes of a student or group
To drop a class from a student's or group's enrolled classes choose Tools | Edit Class Enrollment from the main menu. The following screen will appear:

in the Class Selector screen you highlight the class in the Enrolled Classes box and press the right arrow. Then Save.
To view the assigned classes and available classes for a student or group choose that student or group from the Student/Group listbox. Multiple Students/Groups can be selected. To drop a class from a student's or group's enrolled classes, select the desired classes in the Enrolled Classes box to the left. Then either drag them with the mouse to the Available Classes box to the right or click the > button.
Press the Save button to save changes or the Cancel button to ignore any changes and return to the main screen.
Auto scheduling students or groups
The auto-schedule feature automatically generates a list of possible schedules given a list of desired class types. Auto scheduling can be done individually for each student or block or for all students.
If Class Scheduler has been configured to schedule by groups (blocks) of students instead of individual students, schedules will be automatically generated for groups. Otherwise, schedules will be automatically generated for individual students.
Auto Scheduling Individual Students
To auto schedule an individual student or group choose Tools | Auto Schedule Student from the main menu. The following screen will appear:

To view the available class types for a student or group choose that student or group from the Student/Group lists. Multiple Students/Groups can be selected. Note that currently enrolled class types will not show in the Desired Classes list. To generate a schedule for the selected students or groups, select the desired class types in the Available Classes box to the right. Then either drag them with the mouse to the Desired Class Types box to the left or click the < button.
Note that class types won't show up in the Available Class Types box if the grades of the last selected student and class type don't match, the last selected student is already enrolled in the class type or the last selected student does not have the necessary pre-requisites.
Press the OK button to generate a list of schedules or the Cancel button to return to the schedule screen.
After pressing OK the Select Schedule screen will appear:

This screen lists all the possible schedules the selected students could have. To preview a schedule click the schedule to select it and then click the Preview button. A schedule report will appear showing the schedule. Select the schedule you prefer and press OK. These classes will now be assigned to the students or groups.
If there is a problem creating a schedule you will see a message to the effect of: "A Schedule with these classes is not available." This means that there can be no class schedule created for the selected students or groups due to conflicts. A conflict can be caused by a class overlapping with another class, a class conflicting with already enrolled classes, the class being full or the person attempting the scheduling not having security right to schedule the class.
Auto Scheduling Students in Bulk
To auto schedule students or groups in bulk choose File | Auto Schedule Students In Bulk from the main menu. A dialog box will appear asking you to choose a CSV file containing a list of all students and the desired class types they want. The CSV file should consist of comma separated values starting with the student ID and then the list of types that the student wants. It is very important to ensure the student IDs and class types use the exact same case and spelling as in the database. Here is an example CSV file:
dennese,Hist10,Math30,Soc30
ksumner,Hist10,Math30,Soc30
Select the CSV file and then click the Open button. The schedules will then be created. Errors will be written to the csErrors.log file in your data folder. Any existing scheduled classes will not be overwritten by this feature. Note that this feature works best when there are no existing scheduled classes. The more existing classes there are the longer this function could take.
Auto assigning rooms to classes
The Assign Rooms to Classes feature automatically assign rooms to classes as efficiently as possible. If the different classes have the RoomType field populated, only rooms of that type will be assigned to these classes. If the rooms and classes have the Capacity fields populated, rooms will be assigned only to classes that most closely match their capacity without going over.
To auto assign rooms to classes choose Tools | Assign rooms to classes from the main menu.
Auto assigning instructors to classes
The Assign Instructors to Classes function automatically assigns instructors to classes as efficiently as possible. If the Priority field in the Instructors table has been set, those instructors with the highest priority (0 would be highest) would be assigned to classes first.
To auto assign instructors to classes choose Tools | Assign instructors to classes from the main menu.
Auto assigning students to groups
The Assign Students to Groups feature automatically assign students of the same grade to groups taking into account the group's capacity if any.
To auto assign students to groups choose Tools | Assign students to groups from the main menu.
Auto scheduling by requirements
The Auto Schedule by Requirements feature automatically sets up classes based on entered class requirements. When using Auto Schedule by Requirements you should not enter Classes data as this feature will remove any existing classes before adding in the newly created classes.
If you need different class times for different days you can use the Add Daily Schedule Times feature in the Schedule tab of the Configuration Screen. See: Schedule Options
To auto schedule by requirements first populate the Requirements table using the Data Manager. Then choose Tools | Auto Schedule by Requirements from the main menu. Note that for this function to work each room must have been assigned a capacity. If an instructor is not entered, the corresponding classes that are created will not be assigned an instructor.
See Also: Class Scheduler Table Details
Color coding the schedule
The classes seen in the class schedule can be color coded. Classes can be color coded by Class, Class Type, Student and by Group. The Class Type color takes precedence over the Class color. That is, if you assign colors to both the Class and the Class Type the Class Type color will be used. The Class color takes precedence over the Student and Group colors. You can change colors in the form view of the Data Manager.
Again, the color priority is as follows:
Class Type
Class
Student/Group
Related topics: Viewing and Editing Table Data
Changing Schedule Filter
By changing the schedule filter, you can see schedules for individual students/groups, teachers, classes and rooms. To change the schedule filter choose View | Filters from the main menu. The following screen should appear:

Select either a class, a room, student/group or instructor from the corresponding pull-down lists. You must also choose a term or a date filter. When using a date filter, only those classes with a start date before the date filter and an end date after the date filter will be seen on the schedule. For advanced filters, you can use the SQL filter box. In this box enter a SQL WHERE clause for the classes table without the WHERE keyword. If all filters are left blank, a master schedule will be seen. Pressing the OK button will change the schedule filter. Pressing the Cancel button will leave the existing filter unchanged.
Searching for Students
It is possible to search for student schedules by class and student classification. To search for a student press the Ctrl + F key combination or choose File | Find Student from the main menu. The following screen should appear:

Enter either a search term in either the Class field or the Classification field, or both. In the above example, all students enrolled in any history classes that are also classified as band students would be found. After pressing the Find button you'll return to the main schedule window with the first student's schedule appearing that matches your search criteria. To see the next student's schedule, press the F3 key.
Adjusting Classes From the Schedule
Classes can be adjusted by administrators right from the schedule view. To delete a class first select the class by right clicking on it. From the pop-up menu select Delete class.
The pop-up menu contains three other items. Add class, Assign to room and Assign to Instructor. These three item only work when all classes are shown on the schedule and you right click on a silver-colored class. To show all classes on the schedule choose View | Show All Classes from the main menu. This causes all classes to be displayed on the schedule with the filtered classes white and the other classes silver. Classes can be added only when filtering by student. To add a class first select an available class. Available classes will be silver. Then right click on the class. From the pop-up menu select Add class.
Only when filtering by room will the Assign to room feature be available. Only when filtering by instructor will the Assign to instructor feature be available. The Assign to room feature allows the selected class to be assigned to the currently filtered room. The Assign to instructor feature allows the selected class to be assigned to the currently filtered instructor.
The start and end times can be adjusted by moving the class to a different position within the same day. To move a class first select it by clicking on it. Then hold down the mouse button and drag the class to the desired position. If there is a conflict you will see a message and the class will move back to where it originally was. Class duration times can also be increased or decreased by dragging the top and bottom edges of the class.
Viewing schedule reports
Choosing View | Reports from the main menu will bring up the following screen.

The report selector allows you to select a report to view. It consists of several reports organized into a tree structure. Click on the report you wish and then choose either the Print Preview or Print button. You can open a report folder by double clicking the folder name or by clicking the + icon to the left of the folder name. The Print Preview button will show you how the report will look before you send it to the printer.
To view a schedule, first choose what type of schedule you want to see. Schedules can be seen by student, instructor, class or room. Next, filter the schedule if desired and choose a term from the Term pull-down list. For example, to see student schedules select Student from the Report On radio box. If you wish to see a schedule only for a single student choose the desired student from the Student pull-down list. If no student is chosen schedules for all the students will be printed. Pressing OK will preview the report.
Schedules can be filtered by term or date. To filter by term select Term from the Date filter radio box. Then select the term for which you wish to see the schedule. To filter by date select Date from the Date filter radio box. Then select the date for which you wish to see the schedule.
To set advanced filters you can use the SQL filter. You will need to know SQL to use this feature. To filter by SQL merely enter the WHERE clause of a SQL statement in the SQL memo field without including the WHERE term. For example, suppose you wanted to see schedules for all students in band. You would then enter this in the SQL field: [Classifications] like "%Band%"
Printing a report
To print a report from the preview screen simply click the printer icon.
Schedule Reports
Note that the schedule reports will not look correct when previewed or printed unless the classes have been color-coded.
Exporting reports
The reports in this software can be exported to several different formats:
Report file
Adobe Acrobat PDF File - can be viewed by Adobe Acrobat.
HTML File - can be viewed in web browsers.
Excel Table File (OLE) - can be viewed in Microsoft Excel.
Excel Table File (XML) - can be viewed in Microsoft Excel.
RTF (Rich Text Format) - can be viewed in most word processors like Word.
Text File - can be viewed in and text editor.
CSV File - can be viewed in spreadsheet programs like Excel.
Email - can be sent out in an email.
To export a report first preview by selecting File | Print Preview from the menu. When the report comes up on the screen click on the export icon to the right of the floppy disk icon on the toolbar. A list of report formats will appear. Click on the desired format. A Export dialog will appear. Press OK. Type in the desired file name and choose the file type you would like the report exported to. Then press the Save button.
Related topics: Custom reporting
Student gradebook
The student gradebook screen enables you to enter grades for all the students. To view the student gradebook screen choose View | Student Gradebook from the main menu. The following screen should appear:

The student pull-down list at the top allows you to see the grades for a particular student. When choosing a new student from this list notice the data in the grid below changes to show that student's grades. To view a report card for the current student press the Preview button.
Exporting schedule to CSV
The current schedule can be exported to the CSV data format by choosing File | Export schedule to CSV from the main menu. This feature was added to enable blind students a way to access their schedules.
Accounts Receivable
Class Scheduler comes with a feature to print invoices and track payments made for student's classes. Accounts receivable records are added in the Accounts Receivable screen. To use the Accounts Receivable screen choose Tools | Accounts Receivable from the main menu. The following screen will appear:

To add a new record select the student you want from the Student pull-down list. That student's previous account records will appear in the grid at the bottom.

To add a new record click the New button. The fields will clear and allow you to enter information in them. When you are finished entering the data press the Save button to save the information.
To edit a record click on the desired record in the grid at the bottom. The fields will populate with the data. Then press the Edit button and make your changes. When you are finished press the Save button to save the changes.
Manage Attendance
The Manage Attendance screen enables you to enter and manage attendance for all the students. To view the student Manage Attendance screen choose View | Manage Attendance from the main menu. The following screen should appear:

The Instructor and Student pull-down lists at the top are filters that allow you to limit the attendance records seen to a specific instructor and student combination. When an instructor and student are selected all the associated records will be seen in the grid below. To edit information on the currently listed attendance record press the Edit button. The fields will now allow changes to them and the Save button will become enabled. After making your changes press the Save button. To add a new attendance record, press the New button. All the fields will become blank allowing you to enter new information. When you are finished entering information press the Save button to add the new attendance record. To delete the current attendance record click the Delete button.
Manage Availability
The Manage Availability screen enables you to enter and manage availability of instructors rooms and students. To view the student Manage Availability screen choose View | Manage Availability from the main menu. The following screen should appear:

The Instructor, Room and Student pull-down lists at the top are filters that allow you to limit the availability records seen to a specific instructor, room or student. Only one filter can be used at one time. When an instructor, room or student is selected all the associated availability records will be seen in the grid below. To edit information on the currently listed availability record press the Edit button. The fields will now allow changes to them and the Save button will become enabled. After making your changes press the Save button. To add a new availability record, press the New button. All the fields will become blank allowing you to enter new information. When you are finished entering information press the Save button to add the new availability record. To delete the current availability record click the Delete button.
Avoiding data problems
This software uses a local database to store its data. Unfortunately, local databases are susceptible to indexing problems (also known as corruption) if the computer is shut down abnormally. Indexing problems can occur if the program is in the middle of writing to the database and the program is prevented from completing the write. For this reason, you should always perform proper shutdowns. You should never shut off the computer or reset it while Windows is still running. Perform a proper shutdown by choosing Shut Down and either Restart or Shutdown from the start menu. If your system starts to act abnormally try exiting Class Scheduler first and then perform a proper shutdown.
If your system appears frozen first try hitting the Ctrl + Alt + Delete key combination. This should bring up a task list. You may be able to end the task that is no longer responding. Sometimes the system will crash so hard that you cannot even bring up the task list. If this happens reset the machine and re-index any corrupted Class Scheduler tables if necessary.
Related topics: Re-indexing Tables
Frequently Asked Questions
Questions for users new to computers and the Internet
Questions about CyberMatrix Software
Questions about CyberMatrix Software Licensing
Database/Multi-user questions
Questions about Class Scheduler
Questions about Class Scheduler
Q. Why am I getting the message that "No class times have been setup" and why does the main schedule screen only have 12:00 AM for it's time intervals?
A. This is because no class times have been setup. You do this in the Schedule tab of the Configuration screen. It is very important to setup class times. With no class times you will not be able to do any scheduling.
Q. When I Start Class Scheduler the following error message comes up:
DBISAM Engine Error #9217 Error reading From Data File G:\ClassSchedule\Data\Classes.Dat
A. This is a table indexing error (known as corruption). Class Scheduler uses a local database to store its data. Indexing problems can happen in any local database when a system is shut down abnormally. You should never shut down or restart a Windows machine without doing a proper Windows shutdown first (i.e., choosing Shut Down from the Start menu.) To re-index the table, select the affected table in the Data Manager screen, in this case the Classes table, in the data views screen and then choose File | Re-index table.
DBSys
If you are unable to open the application to do a repair you can get the DBSys utility http://www.cybermatrix.com/download/dbsys.zip. DBSys is a utility from Elevate Software http://www.elevatesoft.com/, the makers of the database engine used in Class Scheduler. Use this program to repair the affected table.
Last Resort
If after trying all these solutions you still have problems, you can zip up the files and e-mail them to UNCONVERTED WINHELP MACRO:! ExecProgram("support@cybermatrix.com",)CyberMatrix support. To zip up your data do a backup by choosing Records | Backup Data from the Data Manager menu. This will create a time-stamped file in your Data folder, usually C:\Program Files\Class Scheduler\Data\Backup. E-mail that file as an attachment.
Q. How can I archive the data so I can start fresh every year but still keep the old information around?
A. What you could do is simply copy the entire data folder and rename that new folder with today's date. If you ever want to use that data again to run a report for example, you could just temporarily change the data path setting to this archived folder.
Q. I have setup Class Scheduler on an NT 4.0 station. When only one person access the program, everything is fine. When other machines use Class Scheduler, everything slows to a crawl. What's going on?
A. This is an NT4 issue, and most likely related to opportunistic locking settings and the SP level. Due to bugs in early versions of NT4 a lot of servers had opportunistic locks turned off, but since this has been fixed they haven't turned them back on. The other thing that can cause slowdown problems is using NetBeui in conjunction with TCP/IP. It is recommended that you get an NT server administrator to look at the server and make sure that it's configured properly.
Installing Class Scheduler
There are three ways Class Scheduler can be installed:
On a single user's machine.
On a shared network location where the program and data is accessed by all users.
On every user's machine with only the data stored on the network.
Note: if installing this software for use by multiple people, all people must have read/write access to the Data folder on the shared drive.
Installing Class Scheduler on a single user's machine
Use the setup program to make the initial install on a local drive for a single-user. When prompted for an installation type, choose the first option, Standard. The data will be stored in the user Application Data\CyberMatrix\ClassScheduler folder. E.g. C:\Users\Public\Documents\CyberMatrix\ ClassScheduler on Windows Vista/7/8 or C:\Documents and Settings\All Users\Shared Documents\CyberMatrix\ClassScheduler on XP. If you want to use a data folder in another location, you should choose the Client Only option when at the installation type selection screen. Otherwise, you will have to change the Data Path setting in the configuration screen. The DataPath setting is stored in a text file called ClassSched.ini. This file can be found in the user Application Data\CyberMatrix folder. E.g. C:\Users\Public\Documents\CyberMatrix\ClassSched.Ini.
Installing Class Scheduler on one or more machines with network-shared data
There are two ways Class Scheduler can be installed in order to share data with multiple people: fully-shared and shared-data-only. In a fully-shared setup the program and all data are installed on a shared network location. Users will use icons to access the software. To tell the program where the shared data is located you will need to either:
1) Enter the data path when you see the file missing message after trying to run the software on each client or
2) Copy over a ClassSched.ini file containing the DataPath setting to each client's C:\Users\Public\Documents\CyberMatrix\ folder or
3) Install the shared data folder in a folder called "Data" off the shared program folder. That is, if you installed Class Scheduler into a folder called I:\Shared\ClassScheduler, just install the data to I:\Shared\ClassScheduler\Data.
In a shared-data-only setup, just the data resides on a shared network location. The software and other support files reside on the user's own computer. Installing Class Scheduler in this way will generally be faster since the program executable will not always be pulled down through the network. However, installation and applying updates will involve significantly more work.
To install only the data on the network and install Class Scheduler on one or machines with network-shared data do the following:
Run the setup program on a single machine.
Choose the Data Only option when at the installation type selection screen.
After installing the data, run the setup program again to install Class Scheduler on all the machines that need to use the software. If you are sharing the entire application on the network just install to this machine.
Choose the Client Only option when at the installation type selection screen.
At the "Enter Network Data Location" prompt screen, enter the network data folder location where you installed the data previously.
Setting up the User's Workstations
In a fully shared multi-user setup, the Class Scheduler program files and data will reside in a common directory on the network. You will need to manually setup icons for your users.
Configuring Class Scheduler
To configure Class Scheduler bring up the Class Scheduler Administrator by selecting View | Configuration from the main menu. The Class Scheduler Administrator consists of eight tabs: the General tab, the Schedule tab, the Schedule Script tab, the Site Editor tab, the Data tab, the Terms tab, the E-mail tab and the Report tab. To view a section click on the labeled tab corresponding to that section.
General options
This is what the General options tab looks like.

Program Options
Show Splash Screen
If this option is checked, the starting splash screen will be shown.
No Lines in Schedule Reports
If this option is checked, the schedule report will not have lines.
Teach class more than once a day
If this option is checked instructors will not be assigned to the same class type more than once a day when using the Assign Instructors to Classes feature.
Show Tips on Start Up
If this option is checked helpful tips will be seen when the software first runs.
Font
Indicates the font used through out the software. Languages using special characters (Unicode) should change the font to one that supports these characters.
Security Options
The security section allows the Class Scheduler administrator to enable security and to change the password for the Administrator.
Enable Security
If this option is checked, the security system is enabled. Note that when security is enabled for the first time the Administrator uses the default password of "magic". You should change this password immediately after enabling security to ensure a secure system. Write down your new password and store it in a secure location such as a safe.
When security is enabled a login dialog will popup on program start. The Administrator can login as well as any users who have been setup in the Security table. To setup the users in the Security table and to change the current passwords use the Detail tab of the Data Manager. See also: Using the Security Features. After logging in, users will only be able to create and edit their own schedules.
Users Read Only
If this option is set, users can only view their schedules, they cannot change them.
Tentative User Scheduling
If this option is set, user-created schedules will be tentative and an administrator must approve them before they become active. Tentative classes show up on the schedule with a warning icon in them. Tentative classes can be approved by unchecking the Tentative field of the Student Classes table.
Secondary Help File
The secondary help file option allows Class Scheduler to use an additional help file. This file could be in Windows help format or anything else. The custom help file will show up as another option in the Class Scheduler main help menu.
Although this option was specifically designed for help files, any other kind of file could be used including HTML files. For this to feature work properly the file extension type must be associated or registered with an appropriate application on each user's machine.
Secondary Help Filename
Enter a filename in this box or click the browse button to bring up a file selection dialog.
Secondary Help File Description
Enter a description of what the secondary help file is. This description will show up as another option in the Class Scheduler main help menu.
Schedule options
This is what the Schedule options tab looks like.

Schedule Options
Minimum Column Width
This specifies the minimum column width to use in the schedule screen.
Minimum row height
This specifies the height of the grid line rows in the scheduler grid. Use a higher number to get larger rows.
Auto Schedule Options
Max Schedule Tries
This specifies the number of schedules to generate when using the automatic scheduling feature.
New Class Postfix Format
This specifies the format to use when generating new class names with the automatic scheduling by requirements feature. The format must contain at least one 'n' character. The first n will be replaced by the class counter. If there are any '0' character in from of the 'n' the counter will be left-filled with zeros. For example, a format of 000n will result in class names ending in 001, 002, 003 etc. See also: Auto scheduling by requirements
Schedule Time Period
Setting Start and End Times
The Start time specifies the earliest time classes may be scheduled.
The End time specifies the latest time classes may be scheduled. This is the start time of the last possible class.
Schedule Interval
This number indicates the number of schedule intervals in an hour. For example:
30 - split the hour into two intervals i.e. 8:00 - 8:30
15 - split the hour into four intervals i.e. 8:00 - 8:15
10 - split the hour into six intervals i.e. 8:00 - 8:10
Days
Indicates the days to show in the schedule. Highlight the days you want shown using the mouse and the Ctrl and Shift keys.
Re-create Schedule Times
When pressed, the ClassTimes table will be emptied and then re-created using the entered start/end times and class interval.
Add Daily Schedule Times
When pressed, times for the selected days will be added to the ClassTimes table using the entered start/end times and class interval. This feature would be used for those wanting to use the requirements-based scheduling feature. It allows you to have different class times for different days.
Scheduling Type
The scheduling type can be either by students or by groups. If Class Scheduler is configured to schedule by groups (blocks) of students instead of individual students, classes will be assigned to groups. Otherwise, classes will be assigned to individual students.
Schedule script
This is what the Schedule options tab looks like.

Schedule script
This script is used to determine which information is shown for each class in the schedule grid.
Scripts consist of text and special macros. The macros are enclosed in percent marks and represent special fields in the database. For example, the %Class% macro represents the class name. (If the class description is blank the class ID will be shown on the schedule. Otherwise the description will always be shown.) When text and a macro is enclosed within squiggly brackets, the text will not be shown if that macro value is blank. For example, if we wanted to show the room field with a descriptor in front of it we could place {Rm: %Room%} in the script. If the room field is empty for any class the Rm: text will not be seen.
Here is a list of available macros:
%ClassID% - class ID
%Class% - class description
%Room% - room the class is in
%Notes% - class notes
%Instructor% - who is teaching the class
Site Editor options
The Site Editor is used to maintain a list of sites and their network path locations. When sites are setup in this way the main screen will have an item in the File menu called Open Site. Choosing this option will bring up a screen allowing the user to select a site. After pressing OK the user will now be able to view and edit the bookings at this site.
If there are no classes setup for a site, the admin password dialog will pop up. After logging in the configuration screen is shown allowing the site's resources to be entered.
This is what the Site Editor tab looks like.

When a new site is added, empty tables will be created in the directory you specified. To populate these tables first open the site using the main menu, then populate the data as you normally would using the Data Manager.
Data options
The Data tab is used to change where the data files for the program reside.
This is what the Data options tab looks like.

Data options
Data location
This is the path where the Class Scheduler data files reside. If you want to change this location, you must make sure that your data files have been moved or copied to this location. To change the data path click on the button to the right of the Data Location edit box. Use the path explorer to choose a new path. Make sure the newly chosen path has data files in it.
Note that if using Class Scheduler on multiple machines the Data Path setting used must be identical on all machines. You cannot mix regular paths and UNC paths. The text must be identical. Also if the software detects a data folder called Data in the same folder that Class Scheduler is running from, it will default to using this folder as the data folder.
Backup options
Auto Backup
If checked, automatic data backups are performed. Enter the automatic backup interval in the text box. For example, if you enter a 60 in the edit box the data will be automatically backed up every hour (60 minutes).
Backup Every X Minutes
This number indicates how often an automatic backup is to be performed. For example, to backup every 2 hours enter 120 (2 x 60).
Backup Path
This is the path where data backup files are stored. Set it blank to use the default Backup sub folder within the Data Path. Note that your backup path should be on a different drive than your data. In this way, if one of the drives fail, you will still have some data to revert to rather than none.
Term options
The terms tab is used to change key terms used in Class Scheduler. For example, if you want the program to show the term "Teacher" instead of the term "Instructor" change the Instructor term to "Teacher".
This is what the Term options tab looks like.

Note that terms should not be used if you are using a language file to translate the program into another language. If you use terms they will subvert the translation process.
Email options
The E-mail tab is used to configure e-mail options for Class Scheduler.
This is what the Email options tab looks like.

Mail Options
Use MAPI
If checked one of your MAPI e-mail clients will be used to send e-mails instead of the included SMTP e-mail client.
Notify on class drop
If checked an e-mail will be sent out whenever a class is dropped. The e-mail will be sent to the e-mail address listed in the Classes table for that particular class.
Notify on class full
If checked an e-mail will be sent out once a day for every class that is at or over capacity. The e-mail will be sent to the e-mail address listed in the Classes table for that particular class.
Notify on class empty
If checked an e-mail will be sent out once a day for every class that is less than half full. The e-mail will be sent to the e-mail address listed in the Classes table for that particular class.
SMTP server options
Enable Authentication
Check this box if your mail server requires password notification before sending mail.
Authentication Login ID
Enter your SMTP authentication login ID here.
Authentication Password
Enter your SMTP authentication password here.
SMTP Mail Host
This is the SMTP mail host used on your network. Usually it is mail but enter whatever you set for configuring other mail programs. If this option is not entered correctly, the e-mail features will not work.
SMTP Port
This is the SMTP port used to send email on your network. Usually it is 25 but you can enter another port number to get around port 25 blocking.
Default from e-mail
This is the e-mail address that will show in the From field of any e-mails sent.
Domain
This is the domain that will show in the From field of any e-mails sent. Make sure to include the @ sign.
Note that this software does not support servers like GMail, that use TLS SSH encryption.
Report options
This is what the Report configuration section looks like.

Reports Location
This value indicates the path where the reports folder is located. To change the path, click on the open folder icon to the right and select a new path. Ordinarily, the Report Location field will be blank. When the Report Location field is blank, the report location will default to the Reports folder off the data folder. In a multi-user setting, you may want everyone to use the reports stored in a different shared network folder. In this case, you would set the Report Location field to this shared path.
Using the Security Features
By default, there is no security in place for Class Scheduler. This means that in a multi-user environment, any user will be able to view and edit any other user's schedule data. To prevent this you can implement the security option (see the Options screen). When security is in place, an administrator must login in order to see all users' schedule data as well as access the security options screen.
When security is enabled a login dialog will popup on program start. The Administrator can login as well as any users who have been setup in the Security table. To setup the users in the Security table and to change the current passwords use the Detail tab of the Data Manager. See the Data Manager section for help in working with tables. After logging in, users will only be able to create and edit their own schedules.
Passwords can also be changed from the main screen by choosing File | Change Password from the main menu.
Logging In
To see all users' data, a user must login as Administrator. To login choose File | Login from the main menu. Enter Administrator as the UserID. The default password is "magic". You should change this password if it is important to prevent users from viewing or changing other user's data.
Important: write down and store your changed password in a secure location such as the company safe.
Logging Out
To log out as Administrator choose Admin | Logout from the main menu.
See the Security Options section for more details.
Custom reporting
This software comes with a powerful report designer feature. With the report designer, you can create your own unique reports or edit existing ones.
Editing an Existing Report
The easiest way to create a new report is to edit an existing one. This software comes with several pre-built reports. To edit one of these select Custom Reports | Edit from the Report Selector menu. A file select dialog will pop up allowing you to choose a report. After selecting a report, the report designer will appear. In the report designer you can add graphics and text to the report or even move fields around or add new ones. See the report designer help file for more details. To add new fields you will need to modify the SQL variable to include those fields. The SQL variable is explained below.
Adding new fields to reports
To add new fields to a report all you need to do is modify the report SQL to include the two fields and then add the two field boxes to the report.
Modifying the SQL variable:
First start the report designer by editing a report as explained above. Now modify the SQL variable to include the new fields. From the menu choose Report | Variables. Click on the SQL variable. You will see the existing report SQL. Add the new fields to the end of the SELECT clause. Click OK to save the changed variable.
Now add the new fields to the report:
See the Creating Reports section below on how to add the new fields to the report.
Creating Reports
There are several steps to create your own reports.
First, create the report:
Start the report designer by selecting Custom Reports | New from the Report Selector menu.
Next assign the datasets
Datasets are assigned in the Data tab to the right. Double click where it says No data available. In the selection dialog check frxDBDataset1. You will see the available data fields appear.
Now create the SQL variable:
From the menu choose Report | Variables.
Click on the New Category button (the button with a glinting yellow folder icon). This will create a new category.
Name the category something like ReportVariables.
Click the New Variable button (the glinting fx button).
Call the new variable SQL.
In the Expression box, enter your SQL query. For example: SELECT * FROM Classes.
Click OK to save the new variable.

Note that the existing template.fr3 report has this step completed for you already.
Now add bands to the report:
Click on the Insert Band button (the button with the three squares and plus sign).
A list of band types will appear.
Click on Report Title, Page Header, Master Data (select the frxDataset1 Dataset) and Page Footer bands.
Now add fields to the report:
In the Data tab to the right select the fields of the query you want to see on your report and drag them onto the Master Detail band positioning them where you want them. The Master Detail band is the long rectangle in the middle of the report with the blue heading.
Note that the fields available may not match what you have added to the SQL variable. If that is the case you will have to save the report (if you haven't already), close the report designer and reopen it. This will update the query to use the SQL the report is based on.
Now add field labels to the report:
Click on the Text Object button (the button with the ab on it).
No click on the Page Header band where you want the first field caption to appear.
A dialog will pop up allowing you to type the text for the field label. Type the text and press the green check mark to save.
Repeat this for all other field labels.
Your report should now work. Save the report. Press the Close button to return to the Reporting Screen. Choose Custom Reports | Preview Report from the menu. Select your new report and press OK to see what your report will look like when printed.
Note that choosing File | Preview from the report designer menu may not work depending on what fields you've added to the report. To get the report to preview correctly from the report designer you will need to save the report (if you haven't already), close the report designer and the preview the report from the report selector screen. This will update the query to use the SQL the report is based on.
Other Variables
There are two other variables that you can use to make special reports. If you want to create a schedule report you must create and set the Schedule variable. This variable is created the same way the SQL variable is created. For schedule reports, you must set the Schedule variable to 'True'. The Schedule variable when set to true creates a temporary table with all the class data for the given week. This is where the day columns on the report come from. The DIV variable function allows you to perform integer division on two numbers.
Report Functions
There are several report functions that can be used to format data and output special values.
FormatTime() - formats a time field based on your system time format.
FormatDate() - formats a date field based on your system date format.
FormatCurr() - formats decimal numbers based on your system currency format.
FormatDec() - formats decimal numbers based on your system currency format.
Here is an example as to how to use these functions in a report memo field:
[FormatDate(<frxDBDataset1."StartTime">)]
Additional Help
See the UserManual-en.pdf help file for more details on report design (choose Help | Report Designer from the Reporting Screen menu).
Customizing HTML Reports
The HTML roster report in Class Scheduler can be customized by editing the Cascading Style Sheet (CSS) of that report. The style sheet is located in the same folder as the main executable and has the extension css. The style sheet for the roster report is roster-style.css. This file can be viewed and edited with any text editor such as Windows Notepad.
To learn more about Cascading Style Sheets try these tutorials:
https://websitesetup.org/
http://www.w3schools.com/css/default.asp
Multi-Language Support
This program can be configured to support almost any language. Currently only English is supported. However, users of this software may easily create support for their own language.
This software uses language files to store all its internal text strings. These files end with the .lng extension. To create a language file for your language do the following:
Simply open the existing English.lng file with any text editor such as Notepad.
You will see that the language file is split into two sections [Translations] and [Messages]. To convert to your language replace all the strings to the right of the equal sign (=) with your language's equivalent. Do not translate the text to the left of the equal sign. You do not have to convert lines starting with ; as these are comment lines and are ignored by the translator. You should not convert any text between square brackets [] as these are very important to the translator.
Note that menu captions use the ampersand (&) to enable a hot key on the character following it.
Finally, save the modified text file to the name of your language, E.g. Francais.lng.
To try out your language file select File | Language from the main menu and select your language.
Please be sure to send us your translations so we can allow everyone else to use your language with this software as well. Contributors will be noted on this page.
Note: the translations currently do not work with languages containing special character codes (Unicode) like Chinese, or Greek. If you require Unicode support please contact us.
Report Translations
The report list used in the program is generated from all the report files in the Reports folder. To translate the report names you will have to changes the report names to your language's equivalents.
Contributors
We would like to thank the following people for their translation work:
Spanish - Proyecto Dinamik S. A.
Purchase information
You may freely evaluate the trial version Class Scheduler without any costs for the period of 30 days. If you wish to continue using the program after 30 days, you must purchase it from CyberMatrix. If you do not wish to purchase the program after 30 days, you must uninstall it from your computer.
After 30 non-consecutive days from the time of installation, the software will cease functioning.
Rates
The following license rates apply to the CyberMatrix Class Scheduler program:
Single license $200.
10 seats $1750.
25 seats $3750.
50 seats $6250.
100 seats $10,000.
Company Site License $25,000 (for up to ten different sites).
Example:
If you need Class Scheduler to accessed from 37 people's machines your license fee would be:
$3750 (25 seat) + $1750 (additional 10 seats) + $400 (additional 2 seat) = $5900.
Shipping Options
Internet download - Free.
Ship CD by postal mail - $5 ($15 registered).
Ship CD by courier - $45 - ($65 outside North America).
Non-profit Discount
Not for profit agencies are entitled to a 10% discount when software is purchased directly from CyberMatrix.
Purchasing
There are several ways to purchase Class Scheduler:
All CyberMatrix software can be purchased directly from CyberMatrix by secure Internet web form, fax, telephone, purchase order, funds transfer or by regular postal (snail) mail. Note that all prices are listed in U.S. dollars.
Fax
For fax orders click here to fill out the order form and fax toll free to 1-866-425-2670.
Internet Secure Server
Licenses can also be purchased by credit card on the Internet using a secure server. See the CyberMatrix store web page at http://www.cybermatrix.com/csprices.html for details.
Telephone
For telephone orders using a credit card, you may call CyberMatrix directly at (250)-503-1009.
Toll Free
For telephone orders, you can also call toll free in Canada and the U.S. at 1-888-664-0383.
Purchase Order
Companies and government agencies may purchase this software by way of purchase orders. Standard credit references are required before PO's may be processed. This information may be faxed toll free to 1-866-425-2670.
Funds Transfer
Funds may be transferred directly from your bank account to ours. Contact us for account information. There is an additional $10 charge on orders under ($300) for using this option.
Snail Mail
To purchase a license, print out the registration form and send a company check or money order (in US funds) to:
CyberMatrix Corporation
3104-30th Ave
Suite #224
Vernon, B.C. V1T 9M9
Canada
After Purchasing
After you have purchased Class Scheduler, if you did not order the software on disk, you will receive instructions on obtaining the commercial version of Class Scheduler. You will also receive a registration key that will register the program to you or your organization. You may use the registration key with as many copies of Class Scheduler as you have purchased licenses for, installed on as many computers. More than one person is allowed to use one licensed copy of the software on the same computer, as long as no two people use it at the same time. Just like a book can be read by many people, but only by one person at a time.
If more than one person needs to use the software at the same time, you must purchase a license for each person. Discounts apply for bulk purchases.
When your order and payment has been received and you did not order the software on disk, you will promptly be emailed a registration key and instructions on obtaining the commercial version. It is therefore important to include a valid email address when you place your order. Instructions will be provided on how to use the registration key.
Upgrade Information
All registered users of Class Scheduler are guaranteed all future product revisions, both major and minor will be provided free of charge for a minimum of six months after the date of purchase.
Any major revisions (i.e. v4 to v5) after six months may accompany an upgrade fee that will be not more than 50% of the suggested retail price for said revision.
All upgrades will be made available for electronic download.
Related topics: Registration Form
Class Scheduler order form
Remit To:
CyberMatrix Corp.
3104-30th Ave
Suite #224
Vernon, B.C. V1T 9M9
Canada
Fax: 1-866-425-2670
Name: _________________________________________
Company: _________________________________________
Address: _________________________________________
_________________________________________
_________________________________________
Ship To: _________________________________________
_________________________________________
_________________________________________
(For credit card orders, the name and address must be exactly as they appear on your credit card and statement.)
Telephone: _________________________________________
Email: _________________________________________
[All prices in U.S. Dollars.]
Registration details
___________ Single license $200.
___________ 10 users $1750.
___________ 25 users $3750.
___________ 50 users $6250.
___________ 100 users $10,000.
___________ Site License $25,000.
___________ Send program on CD by postal mail - $5 ($15 registered).
___________ Send program by courier - $45 ($65 outside North America).
___________ Send download instructions by e-mail - FREE (Make sure to include e-mail address).
___________ Use bank funds transfer ($10 for orders under $300).
___________ Total
Payment method
[ ] Check
[ ] Money Order
[ ] Visa - Card #: ______________________ Expire Date: ___________
[ ] MasterCard - Card #: ______________________ Expire Date: ___________
[ ] Amex - Card #: ______________________ CID #:___________ Expire Date:___________
[ ] Discover - Card #: ______________________ Expire Date: ___________
[ ] Purchase Order: ______________________
(For P.O.'s, please fax your standard credit references form to 1-866-425-2670.)
Where did you hear about Class Scheduler?
________________________________________________________________
Contact information
Please feel free to contact CyberMatrix at any time regarding what you did or did not like about the product.* Is anything missing, broken or can something be improved? The greatest effort possible will be made to timely incorporate customer suggestions into future versions of this product.
Customizations unique to your company's requirements can be performed for a negotiated fee. If you require certain features to be added to our software and cannot wait for a future version, you can pay to have the new features added immediately. Contact us for details.
Please email any comments or suggested improvements to CyberMatrix at support@cybermatrix.com
Technical Support
Technical support by e-mail is free of charge for all existing and potential CyberMatrix customers* for the most recent version of this software. Technical support by telephone during business hours is free of charge** for all existing and potential CyberMatrix customers for the most recent version of this software. 24-hour emergency phone support is available for a $25 (US) per incident fee. Visit this web page for details:
http://www.cybermatrix.com/contacts.html
Please be sure you have searched the help and the CyberMatrix web site first before requesting support.
Customers with outdated versions of this software must purchase a yearly support contract for $100 or upgrade their software to the current version to continue with free email and non-emergency phone support.
Please send any support requests to CyberMatrix support@cybermatrix.com
* Please assign a single representative of your company to contact CyberMatrix regarding support issues. Feedback is welcomed from anyone but only the designated support representative will be guaranteed a response. No e-mail support is available for CyberMatrix freeware although bug reports are welcomed and may be responded to.
** May be subject to change in the future. No free phone support is available for CyberMatrix freeware.
Product license
BY RUNNING THIS SOFTWARE, YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT EXECUTE IT.
LICENSE GRANT.
CyberMatrix Corporation grants you a non-exclusive license to use the Software free of charge for evaluation and trial purposes only for a limited time. THE TRIAL EDITION OF THIS SOFTWARE CONTAINS CODE THAT DISABLES MOST OF ITS FEATURES AFTER IT HAS BEEN EXECUTED A PREDETERMINED NUMBER OF DAYS. This License does not entitle you to hard-copy documentation, support or telephone assistance.
DISCLAIMER OF WARRANTY.
The Software is provided on an AS IS basis, without warranty of any kind, including without limitation the warranties that the Software is merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Software is borne by you. Should the Software prove defective in any respect, you and not CyberMatrix Corporation or its suppliers assume the entire cost of any service and repair. In addition, the security mechanisms implemented by the Software have inherent limitations, and you must determine that the Software sufficiently meets your requirements. This disclaimer of warranty constitutes an essential part of the agreement. No use of the Software is authorized hereunder except under this Disclaimer.
TERMINATION.
The license granted will terminate after you have executed the program not more than thirty times unless you register the software. The license will terminate automatically if you fail to comply with the limitations described herein. You must destroy all copies of the Software upon termination.
TERMS APPLICABLE WHEN LICENSE FEES PAID:
LICENSE GRANT.
Subject to payment of applicable license fees, Licensor grants to you a non-exclusive license to use the Software and accompanying documentation ("Documentation") in the manner described below under "SCOPE OF LICENSE GRANT".
LIMITED WARRANTY.
Licensor warrants that for a period of ninety (90) days from the date of acquisition, the Software, if operated as directed, will substantially achieve the functionality described in the Documentation. Licensor does not warrant, however, that your use of the Software will be uninterrupted or that the operation of the Software will be error-free or secure. In addition, the security mechanisms implemented by the Software have inherent limitations, and you must determine that the Software sufficiently meets your requirements. Licensor also warrants that the media containing the Software, if provided by Licensor, is free from defects in material and workmanship and will so remain for ninety (90) days from the date you acquired the Software. Licensor's sole liability for any breach of this warranty shall be, in Licensor's sole discretion: (i) to replace your defective media or Software; or (ii) to advise you how to achieve substantially the same functionality with the Software as described in the Documentation through a procedure different from that set forth in the Documentation; or (iii) if the above remedies are impracticable, to refund the license fee you paid for the Software. Repaired, corrected, or replaced Software and Documentation shall be covered by this limited warranty for the period remaining under the warranty that covered the original Software, or if longer, for thirty (30) days after the date (a) of delivery to you of the repaired or replaced Software, or (b) Licensor advised you how to operate the Software so as to achieve substantially the same functionality described in the Documentation.
Only if you inform Licensor of your problem with the Software during the applicable warranty period and provide evidence of the date you purchased a license to the Software will Licensor be obliged to honor this warranty. Licensor will use reasonable commercial efforts to repair, replace, advise or, for individual consumers, refund pursuant to the foregoing warranty within thirty (30) days of being so notified.
If any modifications are made to the Software by you during the warranty period; if the media is subjected to accident, abuse, or improper use; or if you violate the terms of this Agreement, then this warranty shall immediately terminate. Moreover, this warranty shall not apply if the Software is used on or in conjunction with hardware or software other than the unmodified version of hardware and software with which the Software was designed to be used as described in the Documentation.
THIS IS A LIMITED WARRANTY, AND IT IS THE ONLY WARRANTY MADE BY LICENSOR OR ITS SUPPLIERS. LICENSOR MAKES NO OTHER WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF THIRD PARTIES' RIGHTS. YOU MAY HAVE OTHER STATUTORY RIGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, SHALL BE LIMITED TO THE ABOVE LIMITED WARRANTY PERIOD. MOREOVER, IN NO EVENT WILL WARRANTIES PROVIDED BY LAW, IF ANY, APPLY UNLESS THEY ARE REQUIRED TO APPLY BY STATUTE NOTWITHSTANDING THEIR EXCLUSION BY CONTRACT. NO DEALER, AGENT, OR EMPLOYEE OF LICENSOR IS AUTHORIZED TO MAKE ANY MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS LIMITED WARRANTY.
TERMS APPLICABLE TO ALL LICENSE GRANTS
SCOPE OF LICENSE GRANT.
You may:
Use the Software on any single computer;
Use the Software on a network, provided that a licensed copy of the Software has been acquired for each machine permitted to access the Software through the network;
Copy the Software for archival purposes, provided any copy must contain all of the original Software's proprietary notices; or
If you have purchased a Right to Copy license for multiple copies of the Software, make the number of copies of Software (but not the Documentation) stated on the packing slip or invoice, provided any copy must contain all of the original Software's proprietary notices. The number of copies on the invoice is the total number of copies that may be made. Additional copies of Documentation may be purchased from Licensor.
You may not:
Permit other individuals to use the Software except under the terms listed above;
Permit concurrent use of the Software;
Modify, translate, reverse engineer, decompile, disassemble (except and solely to the extent an applicable statute expressly and specifically prohibits such restrictions), or create derivative works based on the Software;
Copy the Software other than as specified above;
Rent, lease, grant a security interest in, or otherwise transfer rights to the Software; or
Remove any proprietary notices or labels on the Software.
TITLE.
Title, ownership rights, and intellectual property rights in the Software shall remain in CyberMatrix Corporation and/or its suppliers. The Software is protected by copyright and other intellectual property laws and by international treaties. Title and related rights in the content accessed through the Software is the property of the applicable content owner and is protected by applicable law. The license granted under this Agreement gives you no rights to such content.
TERMINATION.
This Agreement and the license granted hereunder will terminate automatically if you fail to comply with the limitations described herein. Upon termination, you must destroy all copies of the Software and Documentation.
LIMITATION OF LIABILITY.
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL LICENSOR OR ITS SUPPLIERS OR RESELLERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE AMOUNT LICENSOR RECEIVED FROM YOU FOR A LICENSE TO THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY THIRD PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM LICENSOR'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
HIGH RISK ACTIVITIES.
The Software is not fault-tolerant and is not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of the Software could lead directly to death, personal injury, or severe physical or environmental damage ("High Risk Activities"). Accordingly, Licensor and its suppliers specifically disclaim any express or implied warranty of fitness for High Risk Activities.
MISCELLANEOUS.
This Agreement represents the complete agreement concerning the license granted hereunder and may be amended only by a writing executed by both parties. THE ACCEPTANCE OF ANY PURCHASE ORDER PLACED BY YOU IS EXPRESSLY MADE CONDITIONAL ON YOUR ASSENT TO THE TERMS SET FORTH HEREIN, AND NOT THOSE IN YOUR PURCHASE ORDER. If any provision of this Agreement is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This Agreement shall be governed by Alberta law, excluding conflict of law provisions (except to the extent applicable law, if any, provides otherwise). The application of the United Nations Convention of Contracts for the International Sale of Goods is expressly excluded.
Other CyberMatrix software
Pro Schedule
Meeting Manager
Project Clock
Timesheets
Employee Project Clock
Class Scheduler
Employee Scheduler
In Out Scheduler
Point Of Sale
Clipboard Magic
Reminder
The latest [trial] edition of all programs can be obtained from http://www.cybermatrix.com/
Pro Schedule
CyberMatrix Pro Schedule is an easy to use single or multi-user appointment scheduling calendar. Pro Schedule is ideal for doctors, dentists, nurses, health care workers, lawyers, veterinarians, driving instructors or any other professionals who are often scheduling appointments. Pro Schedule can be used in clinics, hospitals, beauty salons, office buildings, driving schools or anywhere else requiring personnel appointment scheduling.
There are four different editions of Pro Schedule: Pro Schedule Standard, Pro Schedule Client/Server, Pro Schedule Enterprise and Pro Schedule Web. Additional software allows Pro Schedule appointments to be synchronized with the PalmOS and Pocket PC calendar applications.
Pro Schedule runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 64 MB RAM, 20 MB HD.
For Pro Schedule Client/Server we recommend a dedicated XP, 2003, Vista, 2008 or Windows 7 server with 500 MB RAM and power backup to host the Pro Schedule server application.
For Pro Schedule Web a dedicated Windows XP, 2003, Vista, 2008 or Windows 7 server is recommended. The clients require only a web browser.
Pro Schedule Enterprise requires a database server such as Microsoft SQL server, MySQL or PostgreSQL.
The Pro Schedule PocketPC synchronization utility requires a PocketPC device running Windows Mobile with .Net support or Windows CE.
Pro Schedule Standard costs $100 for a single license, Client/Server is $200, Enterprise is $200 and Web is $100. Affordable multiple-user license packs are also available.
Meeting Manager
CyberMatrix Meeting Manager is an easy to use group calendar application for scheduling meeting rooms, reserving meeting rooms and scheduling resources.
Use Meeting Manager to schedule conference rooms, schedule board meetings, reserve rooms, schedule resources, schedule A/V equipment, schedule classrooms, schedule church events, schedule rental cars, schedule driving instructors and even schedule tennis courts and squash courts. Meeting Manager can handle all your meeting scheduling needs.
There are four different editions of Meeting Manager: Meeting Manager Standard, Meeting Manager Client/Server, Meeting Manager Enterprise and Meeting Manager Web.
CyberMatrix Meeting Manager runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 64 MB RAM, 20 MB HD.
For Meeting Manager Client/Server we recommend a dedicated XP, 2003, Vista, 2008 or Windows 7 server with 500 MB RAM and power backup to host the Meeting Manager server application.
For Meeting Manager Web a dedicated Windows XP, 2003, Vista, 2008 or Windows 7 server is recommended. The clients require only a web browser.
Meeting Manager Enterprise requires a database server such as Microsoft SQL server, MySQL or PostgreSQL.
CyberMatrix Meeting Manager Standard costs $100 for a single license, Client/Server is $200, Enterprise is $200 and Web is $100. Affordable multiple-user license packs are also available.
Class Scheduler
CyberMatrix Class Scheduler is an easy to use single or multi-user application for scheduling students classes. The software is ideal for schools and other educational institutions that need to quickly schedule classes.
Class Scheduler runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 512 MB RAM, 20 MB hard disk space.
Class Scheduler costs $100 (US) for a single license. Other license packages are available.
Project Clock
Project Clock is a project time entry system. Project Clock is useful for consultants, lawyers, engineers, contractors, project managers or anyone else who must record time billed to different projects.
Project Clock Pro can be accessed over a network and has custom reporting and timesheet entry features. Project Clock Client/Server can access data over an Internet connection. Project Clock Web can be accessed from any web browser. Project Clock Palm runs on hand held computers using PalmOS and can sync data with Project Clock for Windows. Project Clock CE runs on Pocket PC hand held computers using Windows CE and can sync data with Project Clock for Windows.
Project Clock runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 64 MB RAM, 20 MB HD.
For Project Clock Client/Server and Project Clock Web we recommend a dedicated XP, 2003, Vista, 2008 or Windows 7 server with 500 MB RAM and power backup to host the Project Clock server application.
For Project Clock Web the clients require only a web browser.
Project Clock Palm requires an Palm device running PalmOS v3.5 or higher.
Project Clock CE requires an PocketPC device running Windows CE or Windows Mobile.
Project Clock Standard and Web costs $35 for a single-user license, Project Clock Pro costs $55 for a single-user license, Project Clock Client/Server costs $75 for a single-user license. Project Clock Palm costs $20 for a single-user license or $10 for existing Project Clock customers. Network and site licenses are available.
Reminder
CyberMatrix Reminder is a free software program that allows you to enter upcoming events that you need to be reminded of. When the event approached a reminder notice will pop up to remind you of the event.
CyberMatrix Reminder is free and runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 32 MB RAM and 10 MB hard disk space.
Timesheets
CyberMatrix Timesheets is an easy to use Windows-based multi-user timesheet entry software application. Timesheets features simple, intuitive employee time entry by client, project and task. The custom reporting features allow existing reports to be changed and new reports to be added. CyberMatrix Timesheets is an ideal solution for those companies wishing to replace their old-fashioned paper-based timesheet entry.
CyberMatrix Timesheets was designed to provide an effortless transition for those accustomed to the traditional paper-based timesheet entry. The timesheet entry screen looks like a standard timesheet entry form. Unlike traditional timesheets though, managers can validate and edit their employees time immediately from their own computers without having to pore over scores of timesheet reports.
Timesheets has four different editions to accommodate the needs of various customer types. Timesheets comes in Standard, Client/Server, Enterprise and Web editions. The Standard, Client/Server and Enterprise editions have a simple intuitive graphical interface. While the Standard edition can be used with multiple users over a network, the Client/Server and Enterprise editions are better suited for large numbers of users. Only the Enterprise edition can be scaled up to handle massive user loads. The Client/Server, Enterprise and Web editions can be used with multiple users accessing employee time data over the company intranet or even the Internet.
CyberMatrix Timesheets runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 256 MB RAM 20 MB HD
For Timesheets Client/Server and Timesheets Web we recommend a dedicated XP, 2003, Vista, 2008 or Windows 7 server with 500 MB RAM and power backup to host the Timesheets server application.
For Timesheets Web the clients require only a web browser.
Timesheets Enterprise requires a database server such as Oracle, Microsoft SQL server, MySQL or PostgreSQL.
CyberMatrix Timesheets Standard and Web costs $55 for a single license. CyberMatrix Timesheets Client/Server and Enterprise costs $75 for a single license. Network and site licenses are available.
Employee Project Clock
Employee Project Clock is an employee time tracking system. This software package is useful for companies that must keep track of their employee's time.
Employee Project Clock can be used by multiple people over a network. Employee Project Clock Pro also contains a powerful custom reporting feature. With the custom reporting tool, those who need additional reports can easily build their own.
Employee Project Clock is easy to use. Employees simply choose their name and optionally choose a project or job code. To start billing time punch in by pressing the In button. To stop billing, enter an optional comment and press the Out button to punch out. The time data is safely stored in the database for later reporting purposes.
Employee Project Clock runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 512 MB RAM and 30 MB hard disk space.
Employee Project Clock costs $75 for a single-user license. Network and site licenses are available.
Employee Scheduler
Employee Scheduler is an easy to use single or multi-user software application for creating and managing employee schedules. Employee schedule administrators can save time by using Employee Scheduler to automatically generate optimal schedules for their employees. Employees can be assigned into categories, have their day/time availability and scheduling priority entered in order to affect the generated schedules. After automatic scheduling takes place, the manual scheduling features can be used to easily adjust the schedules graphically. The schedule exception features allow for managing holidays, leave and sick days. The time clock options allows the software to act as a time clock that records when employees arrive and leave for the day.
Employee Scheduler sports an attractive intuitive display of your employee schedules. Use the schedule view to view by single employee, by all employees, by week and by employees in week. Filter by day, or employee. Employee Scheduler is multi-user ready, you can share schedule data over your network for all your employees. Exchange schedule data with other programs via the CSV import/export feature. Access data from other database applications using the separate ODBC driver.
CyberMatrix Employee Scheduler will run on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 512 MB RAM, 30 MB HD.
Employee Scheduler costs $100 for a single-user license. Network and site licenses are available.
In Out Scheduler
CyberMatrix In Out Scheduler is a multi-user attendance tracking application that visually indicates which employees are out of the office and at what time and date they will return. It is an ideal solution for those companies wishing to replace their old-fashioned In/Out scheduling board.
In Out Scheduler was designed to provide an effortless transition for those accustomed to the traditional scheduling boards. To this effect, the software looks a lot like an actual scheduling board. Virtual pins are used to designate which employees are in, which are out and when they will return. Unlike the traditional scheduling boards, In Out Scheduler can be accessed by all employees from the comfort of their own computers.
CyberMatrix In Out Scheduler runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 64 MB RAM 20 MB HD
In Out Scheduler costs $64 for a single-user license. Network and site licenses are available.
Point Of Sale
CyberMatrix Point of Sale is a software application for retail sales management. It is designed to run on an ordinary Windows PC with a receipt printer. A keyboard intercept bar code scanner and cash tray are optional.
CyberMatrix Point of Sale can be used by businesses that sell goods, services or a combination of the two. For retail store chains, a server application can be setup to allow data sharing and synchronization between the different stores.
CyberMatrix Point of Sale runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 512 MB RAM and 20 MB hard disk space. The server application requires at least 1 GB RAM.
The CyberMatrix Point of Sale client costs $300 for a single-user license. Affordable multi-license packages are also available.
Clipboard Magic
Clipboard Magic is a free Windows Clipboard extender. If you spend a lot of time cutting and pasting repetitive text Clipboard Magic can greatly improve your productivity.
By default, any text copied to the Windows Clipboard is automatically stored in Clipboard Magic. The text can range from a single line to several pages. At the click of the mouse, any item is automatically copied back to the Windows Clipboard allowing you to paste the text in any Windows compatible document.
The automatic clipboard archiving can be turned off. This feature is useful when manually editing the clipboard list. Another very handy feature of Clipboard Magic is that clipboard lists can be saved to external files for reloading later.
Clipboard Magic is small, fast and unobtrusive. By default, the program runs from the Windows System tray allowing quick and easy access. Clipboard Magic can be configured to automatically start when Windows starts and to start minimized.
Clipboard Magic is free and runs on Windows ME, XP, 2003 Server, Vista, 2008 Server and 7. System requirements: 256 MB RAM and 10 MB hard disk space.
Questions for users new to computers and the Internet
Q. What is Try Before You Buy or Trialware software?
A. Trialware is software that you can try out or demo first. If you decide you like the software, you can then purchase it. When you purchase the program you will either be sent a separate fully functional program and/or you will be sent a registration key file or code with instructions on how to apply the key to your program.
Q. I already have program X installed but I downloaded a new version. Should I install to the same location as the older version?
A. The proper way to upgrade to a new version is to backup any important Program X data files first, uninstall Program X and then install the new version of Program X in the same folder. However, many people simply reinstall right over the old version to save time. Make sure Program X is not running when you do this though.
Q. How do I uninstall program X?
A. Click the Start button to bring up the Start Menu. Then choose Settings and then Control Panel. Double click on the Add/Remove Programs icon. Select the program you wish to remove and then click the Add/Remove button. According to Windows development guidelines, no data files created by the user are to be automatically deleted during the uninstall. Therefore, there may be a few "crumbs" (files) left in the program directory. Therefore, if you uninstalled Program X, the folder C:\Program Files\Program X may contain a few data files. You will have to delete these manually.
Q. I downloaded one of your programs called program.zip how can I run it?
A. Files ending in .Zip are compressed files. To open these files in Windows usually you just have to double-click it and it will open as a folder. If you use an older version of Windows you will need an unzip program such as WinZip. You can find WinZip here: http://www.winzip.com/. Once you have installed an unzip program like WinZip, when you double-click on a .zip file, you will see the contents of the zipped file. Then you can unzip the contents of the zipped file to a temporary file location such as C:\Temp.
Q. OK I figured out how to unzip the file, but how do I install the program?
A. To install the program double-click on the installer file usually called SETUP.EXE or INSTALL.EXE. This will start the installation process.
Q. What is the "system tray"?
A. The Windows system tray is the area to the right or the Windows task bar. Certain programs, including Project Clock and Clipboard Magic, will have small icons here.
Questions about CyberMatrix Software
Q. I have downloaded and installed your trial edition. Now I want to purchase. Will the purchased edition overwrite my data?
A. No. Our business software was designed to leave existing data intact when upgrading the software. However, as a precaution you should always backup your data prior to upgrading. Any report files you have modified will be overwritten though. When you change a report you should save it with a new file name to prevent it being overwritten
Q. I have downloaded and installed your trial edition. Now I want to purchase. After purchase do I just enter a key to unlock the trial edition?
A. No. After purchase you will have to install the full software. But you can install right over the trial edition and it will still use your old data. As a precaution always backup your data before upgrading.
Q. I purchased Program X version 2.00. I notice now that version 2.10 is out. If I upgrade, will I lose the data I have been working with?
A. No, the setup software leaves your existing data alone. Just install the new version in the same manner as you installed the old version and your old data will remain intact.
Q. We really like your software but desperately need a feature added. Can you add it right now?
A. All customer feature requests are put on a ToDo list but we can't guarantee with certainty when or if the feature will ever be added. If you need a new feature immediately, you can pay to have it added. We charge out at $75 US per hour. Contact us for a quote including as much detail as possible about how you want the software changed.
Q. We really like your software but would like to talk to some of your customers. Can you refer us to some of your customers in our area?
A. Due to privacy concerns we never give out customer information. You can look on the software's testimonial page for actual customer testimonials. We also have fully functional time-limited trial editions of our software you can try out to see how you like it before ordering.
Q. I tried to create a new report but hen I select the frxDBDataset1, no fields appear. How can I access the fields?
A. You need to add the report's SQL, save, close and then re-open to see the fields. You can choose Help | Getting Started With Custom Reports from the report screen to learn more about creating your own reports.
Q. I tried to customize one of your reports. Now the report no longer works. How can I restore the original report?
A. You can just delete the bad report and reinstall the software to restore the original.
Q. Why do I see the error "There is no default printer selected" when I try to print?
A. You probably have not set a default printer in the 'Control panel - Printers' window.
Q. I purchased Program X version 1.00 several years ago. I got a new machine and tried to reinstall using the download directions I got when I purchased the software. However the link no longer works. What am I doing wrong?
A. We don't maintain downloads for outdated versions on the web site. Existing customers can upgrade to the latest version at a 50% discount though.
Q. What are your support fees?
A. Support by email is free. Phone support during business hours is free. 24 hour paid emergency support is available for a $25 fee per incident. For outdated software, a yearly $100 contract option is available.
Q. What is the time frame for a return email to help get an issue resolved if one arises?
A. It depends on the severity. Urgent issues get a response almost immediately during business hours. Non-urgent issues should get a response within two business days.
Q. I downloaded the trial edition of program X using Internet Explorer but when I tried to run the software I received a message that the setup files were corrupt and to obtain another copy of the software. What am I doing wrong?
A. This is most likely a bug in Internet Explorer. Try downloading the file instead of trying to run it. Save the file to a folder like My Documents not your desktop. We can always email you the file if need be.
Q. I tried to download program X but it said it was not a valid archive. What am I doing wrong?
A. Nothing. Large Zip archives sometimes become corrupted during the download process. Try emptying your browser cache and try downloading again. If you still can't download, send an e-mail and a trial edition setup file can be e-mailed to you as an attachment.
Q. I tried your X program and like it. Do you have a version that does Z or runs on Y?
A. All CyberMatrix software is listed at the main web site. If you don't see it, we don't carry it. If you have a feature request for a particular program feel free to send in an e-mail.
Q. My program shows the wrong date format. How can I make the software use the system date format we use?
A. This is probably due to a bug in Windows. Try these steps:
1) choose Start/Configuration/Regional settings
2) on the first tab select a different country, e.g. Germany, and press [APPLY]
3) set the country back to what it should be and press [OK]
4) Now the software will behave again as expected.
Q. Is it possible to do a silent install of your software?
A. Yes like this:
Setup.exe /SP- /silent /noicons "/dir=c:\Program Files\My Program"
Just change Setup.exe to the name of the setup file you want to install and My Program to the folder you want the software installed to. Note that in software with multiple install options, the first option will always be chosen with this technique. In this case you can use the /Type parameter like so:
Setup.exe /SP- /silent /noicons "/dir=c:\Program Files\My Program" "/Type=Client Only"
Q. I downloaded Program X and now my anti-virus software says the file is infected with a virus. When are you going to address this?
A. No CyberMatrix software has ever been verified to contain a virus. Most likely, you are seeing a false detection. If this happens send us an e-mail detailing the anti-virus software you use, the program claimed to contain a virus, it's version and where you obtained (downloaded) it.
Questions about CyberMatrix Software Licensing
Q. I notice you offer a 10 seat license for your software. What do you mean by a seat?
A1. A seat means one machine that is used to access the software. If you have 10 machines that will access the software (even if the software is installed on the server) you will need a 10 seat license.
A2. For our Web software we basically use what is called concurrent licensing. For concurrent licensing you just have to determine the maximum number of people that will be using the software at one time. That is the number of licenses you need.
Q. Are your license fees annual fees?
A. Our license fees are one-time fess for the current version. When we release a major new version you have the option of upgrading at a 50% discount.
Q. We want to buy your software. We will have one person making changes to the data and eight people that will only be viewing the data. Do I need a single seat license or a 9 seat license?
A. Since 9 people will have access to the software you will need a 9 seat license.
Q. What is the difference between your trial edition and the full edition?
A. The only difference between our time-limited software and the full editions is that the time-limited software stops working after a certain number of days.
Q. What is a site license?
A. A site license allows the unlimited use of the software on any number of machines in up to 10 different sites (or buildings/locations) of a company.
Q. I have already purchased version 1.1 of your program Z. If I download version 1.2 do I have to purchase the program again?
A. No. CyberMatrix has a policy of providing all minor version changes free of charge to existing customers.
Q. I purchased version 1.0 of program X four months ago. I notice you now have version 2.0 available. Do I have to pay the full price again.
A. No. CyberMatrix has a policy of providing major version changes free of charge to existing customers if the program has been purchased within the last six months of the year that the new version was released. If you have purchased the program more than six months ago, the new version will be available for upgrade, usually at a 50% discount.
Q. We had a hard drive crash. I re-installed the software. Now we are getting a message saying we have exceeded our licensing. How do I correct this?
A. You need to import the license key as explained in the download instructions. The download instructions were emailed to you after your purchased or upgraded the software.
Q. I just updated our software to a new minor version. Why does the software now say it is an evaluation copy?
A. You must install the full software not the trial software. The full software download link was emailed to you after you purchased or upgraded the software.
Q. We had a hard drive crash. I re-installed the software. Now we are getting a message saying we have exceeded our licensing. The registration key has been imported as explained in the registration instructions. How do I get rid of this message?
A. Check the Users table for ghost users. Ghost users are those users who are listed as still using the program even they no longer are. If there are any ghost users, delete those records.
Database/Multi-user questions
Q. I upgraded an old version of your software to a newer version. Why can I no longer see any of my old data?
A1. If you upgraded from Employee Project Clock v6 or lower, Project Clock v8 or lower, Timesheets v3 or lower, Meeting Manager v7 or lower or Pro Schedule v6 or lower you must upgrade your data to the new format. Step by step instructions to upgrade your data are seen during installation right after the license agreement. After installation you can read these instructions by clicking the "Installation Instructions" shortcut on the program's start menu.
A2. Possibly you installed the data into a different folder using the Data only install. You'll need to find out where the old data folder was an set the data folder option setting to this path.
Q. Why am I getting strange errors like this one below?
ElevateDB Error #600 File manager error (Cannot delete the file C:\DOCUME~1\fullerm\LOCALS~1\Temp\CM1S29083572PC45.EDBTbl (OS Error: The process cannot access the file because it is being used by another process. )).
A. This is probably due to your anti-virus software interfering with our software's database files. Try configuring it to not scan the data folder of our software.
Q. How can we share data amongst several people with the Standard edition?
A. To share data with multiple users over a network you should install the data on a network shared folder then install the software on each computer. To do this run the setup program and select the Data only installation option. The Select Destination Location screen will appear. This will be where the program data will be placed. Complete the setup for the data. Then run the setup file from each of the client machines, choosing the Client only installation for each one. When asked for the data folder enter the folder where you installed the data earlier.
Q. I installed the Standard edition on only one machine. How can I setup another machine to use the same data?
A. You need to either share the current data folder so the other machines can access it or move the data folder to a shared location and then setup each machine to use that data.
Q. I want to share data amongst several people. Can I use the Standard edition or do I need to purchase the Client/Server edition?
A. The Standard editions of our software (as well as Class Scheduler, Employee Project Clock, Employee Scheduler, In Out Scheduler and Project Clock Pro) all use a local database. A local database can share data with multiple users over a network. However, shared local databases are more likely to require database re-indexing especially in networks with unstable machines or inexperienced users. A general rule of thumb is not to use the local database edition with more than 10 simultaneous users. With 10 or more simultaneous users the Client/Server edition will perform better.
Q1. When I Start Program X why does the following error message appear: <br><br>
ElevateDB Error #601 The table Users is corrupt
Q2. When I Start Program X why does the following error message comes up:
DBISAM Engine Error #9217 Error reading From Data File C:\Program Files\Cyber App\data\ATable.dat
A. This is a corruption error. Several CyberMatrix programs use a local database to store their data. Corruption can happen in any local database when a system is shut down abnormally. You should never shut down or restart a Windows machine without doing a proper Windows shutdown first (i.e., choosing Shut Down from the Start menu.) Newer versions of our software will re-index (repair) tables automatically if all users close the software and a single person restarts it. To re-index the table manually, first close down all instances of the software except one. Then select the problem table in the Detail tab of the Data Manager screen and then choose File | Re-index table (or File | Repair table).
Last Resort
If after trying all these solutions you still have problems, you can zip up the data files and e-mail them to CyberMatrix.
Q. When I try to start your software a Data Missing box appears and says that I need to attempt re-installation or enter new data folder location. What does this mean and what do I need to do?
A. The software cannot find the data. Possibly the drive it was on is no longer available. You should verify that the machine where the data is stored is functioning properly and that no changes have been made relating to the data folder, e.g. drive mapping changes.
Q. When I try to re-index a table I get the error "Re-Index failed". How do I fix this?
A. Get everyone off the system (shutdown their machines if necessary) and try re-indexing again.
Q. What is the purpose of the Users table?
A. The Users table merely keeps a running log of which users are believed to be logged into the system.
Q. What is the maximum size of a single table?
A. The maximum size of a table (.EDBTbl, .DAT), index file (.EDBIdx, .IDX), or BLOB file (.EDBBlb, .BLB) is 4 gigabytes.
Q. Performance seems very slow. How can we make it faster?
A. Turn off anti-virus software, or configure it to NOT scan *.EDB* files on newer software and .DAT, .IDX, .BLB files on older software (or simply your entire database folder).
Q. How can I import data from another program into your software?
A. Export the data from the other program into CSV format. Then in the Data Manager screen of our software select View | Data Manager from the main menu. Select the table then choose File | Import CSV File.
Q. How can I export table data into Excel?
A. Export the table into CSV format in the Data Manager screen: select View | Data Manager from the main menu. Select the table then choose File | Export to CSV. Load the saved file into Excel.
Q. How can I use your file-server (local, standard) software with two different data folders on the same machine?
A. You could install the software in two different folders on the same machine each having separate data. The trick is that the data files must reside in a folder called Data inside the program's folder.
Q. Which database engine is used in your software?
A. We use Elevate DB and the DBISAM database engine for all our non-Enterprise Windows business applications. Meeting Manager, Pro Schedule, Project Clock, Employee Project Clock, Timesheets and Point of Sale now use the Elevate DB engine.
Q. Can your database tables be accessed from Crystal Reports or other common database software?
A1. For newer non-enterprise editions of our software (Class Scheduler v3+, CyberMatrix Office, Employee Project Clock v2.20+, Employee Scheduler, In Out Scheduler, Meeting Manager v4+, Phone Lister, Point Of Sale, Project Clock v5.10+, Pro Schedule v3+, Timesheets) we have an ODBC driver available. See:
http://www.cybermatrix.com/odbc.html
A2. For older versions of our software there is an ODBC driver available that others have used to access database tables from Crystal Reports. You can get it here:
http://www.cybermatrix.com/download/odbc.zip
We do not offer any support for this older driver.
Q. Where can I learn how to use SQL?
A. Try these links: http://sqlcourse.com/, http://sqlcourse2.com/, http://www.w3schools.com/sql/sql_intro.asp
Q. I have a single license for Program X. I logged in as someone else, and then I had a crash. Now when I try to start Program X again it says "The number of users have exceeded your license. Contact CyberMatrix to purchase additional licenses." What do I do to use the software again?
A. Login as the other person, shut down Program X and then login as yourself.
Q. I want to move Program X to a new machine but keep all my data. What is the best way to do this?
A. You could over your program and data folder over to the new machine but then there would be no shortcuts in your start menu. The best way is to install the software on the new machine. Then on the old machine do a backup from Program X's Data Manager, copy that backup file to the new machine, and then restore the backup file on the new machine using Program X's Data Manager.
Q. I exported a table to CSV. Why is it when I try to import that same CSV file it says there is an "Invalid data value in import data."?
A. When running the CSV import wizard, your time format must be exactly the same as what is in the CSV file. Most people leave in the .zzz part in the import format string when their CSV data does not have microseconds. The import is not always sophisticated enough to determine what date/time formats you are using. You have to tell it.
Q. We are using version 1 of your software. Is it possible to install the V2 trial of the software on the same machine so that both versions can be run side by side.
A. Yes. For the Client/Server edition the V2 server would have to run on a different server machine but V1 and V2 of the client can be installed into different folders. However you would have to log in as another user for V2. For the Web edition you would just install V2 in another folder. For the Standard edition you would have to do a Data Only and Client only install of V2. The data would have to be installed in a folder called Data just off the program folder i.e.: C:\ProgramX\Data. The software would have to be installed in the C:\ProgramX folder. Then you should run V1 and make sure it is still using the old data folder. Alternatively you could just run V2 under a different user account i.e. log in as another user for V2.
Client/Server software questions
Q. What does Client/Server mean?
A. Client/server applications have a client and a server component. The client only talks to the server and only the server has direct access to the data. File server applications have no server component and they can directly access the data.
Q. What is the advantage of Client/Server over File/Server?
A. Client/server applications will be faster on slow networks like wireless networks because only the data packets required are sent down the network. With File/Server every table in a query will be sent down the network. Client/Server application will be less susceptible to database corruption because there is no direct access to the data. Only the server machine directly writes to the data files.
Q. We are using the Client/Server edition of program X. Why will the clients not connect to the server?
A. There are only three possibilities for this problem. Either the server is not running, the IP address is entered incorrectly or something like a firewall is blocking access to the server.
Sometimes the server software will not be listening to the correct IP address. Click the following link to watch a Flash demo of how to change the server IP. https://www.youtube.com/watch?v=7c0LSOgov2M.
Q. We are using the Client/Server edition of program X. Why are we getting a windows socket error (10065) on API connect on one of the client stations?
A. This is probably a firewall issue. You need to open a port. All our newer server software runs by default on port 12010. All our older server software runs on port 9000.
Q. We are very interested in the Client/Server edition of your software. However, we want the server application to run as a service. Is this possible?
A. Yes it is possible to run the database server as an NT service. There are several advantages of running the server as a service: you can ensure it restarts if the machine reboots unexpectedly for any reason; you can take actions if the service crashes; and you can run the service as a specified user fairly easily. To install the edbsrvr.exe database server as a service enter the following command at a command line prompt or from the Run Menu:
edbsrvr.exe /install
To install the database server so that it does not interact with the desktop at all, which is required in instances where the current user will be logged out of the system, then you should use the /nointeract flag along with the /install command-line switch:
edbsrvr.exe /install /nointeract
This will install the service as a non-interactive service and the database server will not display a user interface when it is started.
To start the edbsrvr.exe database server as a service enter the following command at a command line prompt or from the Run Menu:
net start edbsrvr.exe
Q. I installed the server as a service and the service is running. When I try to run the server as a regular Windows application why do I see the error: "Only one usage of each socket address (protocol/network address/port) is normally permitted"?
A. Only one application can listen exclusively on a port at one time. You can't therefore run two instances of the server application at one time.
Q. We use the Client/Server edition of your software. We want to install the latest version on a new server. What is the best way to upgrade and still use our old data?
A. You can either copy over your entire old server folder over to the new server machine and then install the new server software into this folder or install the new server software on the new machine and then copy over the database files. The database files are those with the *.EDB* extensions for newer software and .Blb, .Dat and .Idx extensions for older software.
Q. We are using version 1 of your software. Is it possible to install the V2 trial of the software on the same machine so that both versions can be run side by side.
A. Yes. For the Client/Server edition the V2 server would have to run on a different server machine but V1 and V2 of the client can be installed into different folders. However you would have to log in as another user for V2. For the Web edition you would just install V2 in another folder. For the Standard edition (or Project Clock Pro) you would have to do a Data Only and Client only install of V2. The data would have to be installed in a folder called Data just off the program folder i.e.: C:\Program\Data. The software would have to be installed in the C:\Program\ folder. Then you should run V1 and make sure it is still using the old data folder. Alternatively you could just run V2 under a different user account i.e. log in as another user for V2.
Enterprise software questions
Q. We're using your Enterprise software with Microsoft SQL Server. On some of the client machines when we try to connect why do we get a Ntwdblib.dll not found error?
A. Each client needs special connectivity libraries installed. If these libraries are not installed the clients will not be able to connect to the database server. These libraries are available from the vendor of the database server you are planning to use.
For MS SQL Server 2005 and higher you should connect using ADO instead of MSSQL. The following video shows how to setup ADO to work our software: MS SQL ADO Setup http://www.youtube.com/watch?v=_r6IXjo7fug.
For older versions of Microsoft SQL Server you can just install the MS SQL client software or just copy the Ntwdblib.dll file to the Windows System folder (\winnt\system32 on XP).
Q. I'm using Microsoft SQL server with your Enterprise edition software. I'm having a problem and want to send you our data so you can try to reproduce it and fix it. How can I send you our data?
A. Unlike other large database servers, MS SQL Server does not have a function to backup data to a SQL INSERT script. You will need to use a third party utility to backup the data to a SQL script. Alternatively you could export each table to CSV format. Sending in a MS SQL Server backup file will not work.
Q. I'm trying to use your Enterprise edition with MySQL version 5. When trying to connect I get the error: "SQL Error: Client does not accept authentication protocol requested by server. Consider upgrading MySQL client". Does your software not work with MySQL v5?
A. This software will run on MySQL v5. However, it connects as a v4 client. This means you will have to convert the connection password to the older style. You can do this with a query like the following:
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('magic');
Q. What permissions should be given to the Database Server Account for the clients?
A. The user needs SELECT, INSERT, UPDATE and possibly CREATE_TMP_TABLE privileges.