1 Introduction2007-05-20UG - PrefaceClassmaker is a calendar based planning tool for teachers and project managers (because that's what teachers really are)! It can be used by anybody who wants to plan ahead using a calendar centric view of the world.Classmaker is not:

1. To do list software. These software packages use list prioritization and user assignment to keep track of open tasks. They assume that a task will be continually acted upon until completed. They are also reactive, assuming that an outside agency eg. customer complaints is generating the tasks. This is not what Classmaker does. It assumes that YOU are generating the tasks as a brainstorm and then using the calendars to bring them into some kind of order.

2. Project management software. These software packages assume that task completion in the future is dependent upon earlier task completion now (critical path planning). They are also devoted to keeping track of resource utilization, particularly the manpower to complete a job. Consequently, users of these packages spend lots of time generating GANTT charts and to do lists for workers. While Classmaker does produce a daily to do list and has rudimentary critical path functionality (Bump and Shove functions) it assumes that YOU are the manpower and that you have many "little" projects (academic subjects) running concurrently that you need to keep track of minute by minute.

So what is Classmaker?

1. Classmaker is a PLANNING tool first and foremost. A vital element to forward planning is covering all your bases. Your planning isn't going to be much use if you've forgotten to account for a major activity. Enter the concept of Subjects. These are presented alongside your Long Term Plan to ensure that over a reasonable time frame everything is addressed. For teachers, of course, this means curriculum coverage. But in any kind of project there will be various major categories of activity that need to be addressed concurrently rather than dependently and using the subject concept these are less likely to be forgotten.

2. Classmaker assumes that you THINK using calendars NOT lists. What Classmaker does is present you with blank calendars, that you fill up. After all there's only 24 hours in your day! Once your calendar is full that's it - there's nothing further to add. It's amazing how stress free this approach to planning is. You can see the unallocated time remaining literally disappearing before your eyes each time you create a new lesson plan.
1 Introduction2007-05-21UG - User Design PhilosophyEvery software developer has there own preferences when creating a software tool. Here are mine.1. No tool can do everything, despite all the extravagant claims that are made! Best then, to leave your data open for easy access for use by other tools. In Classmaker's case this translates to printing to any Windows printer, Postscript file and HTML file for all reports. The Postscript file can easily be converted to PDF and the HTML file can be used with Microsoft Word's Mail Merge for fancy reporting.

2. File attachments are essential in any kind of workflow package. Scanned hand written notes, picture JPG's, supporting Word documents, Excel spreadsheets, PDF's. The list of possible supporting files that might be needed is endless. If these have to be stored somewhere other than inside the database, then you can never be certain that they will still be around when you need them!

3. Database storage should be as simple as possible to promote regular backup. The ideal database comprises a single file that can easily be backed up using a batch file and copied to separate media for safety.

4. Keep the user interface as simple as possible with just enough functionality to get the job done. With software development less really is more! So often user interfaces let users change font types, colours and add graphical widgets, but then forget to implement core functionality like a solid reporting suite.

5. The three pane display used by many email clients is easy to use and very powerful, packing lots of information into a drill down hierarchy. Unlimited directory structures are not so useful, so Classmaker sticks with the three pane Book, Chapter and Page analogy.

6. Multiple text fields in a record are far more useful than a single text field which leaves it up to the user to define their own layout. Users are never that bothered about field names and will end up using fields for their own purposes anyway!

7. There's nothing more frustrating than having to reapply your preferences every time you restart a software tool. Classmaker stores window positions, file export and import directories, the last user by database and printer settings in the Windows Registry by current user.
1 Introduction2007-05-21UG - Technical Design Philosophy 1Six criteria dictated my design decisions for Classmaker:

1. Not to be trapped by a tool kit vendor's upgrade decisions.
2. To fully utilise screen real estate when users maximise the application.
3. The application must not depend on third party libraries.
4. The application must have a snappy user interface.
5. To easily network my application for multiple users.
6. To store data in a robust database.

These criteria were met by using the following toolkits:

1 - 4 The user interface was built using Fox-Toolkit.
5 The network capability was built using Isectd.
6 The database storage application is FirebirdSQL.
1. All Classmaker's code libraries are open source.

2. All Classmaker's compiled code library binaries have been made from source code that I hold. The only exception to this is the Firebird database. There is no point compiling the Firebird database from source code as all communication between it and Classmaker is via Isectd's API.

3. Isectd is used as the middleware between Classmaker and the Firebird database. Classmaker talks to the Isectd API and Isectd talks to the Firebird database API.

4. Isectd is middleware that uses remote procedure calls using sockets. A number of advantages accrue from this loose coupling between Classmaker and it's database:

a. Because the database is connected to the Isectd server rather than Classmaker, the database is available 24/7, so starting up and shutting down Classmaker is very fast.
b. The database can be backed up while Classmaker is running.
c. It is easy to run Classmaker over a remote network.

5. All data sent through the Isectd API is a string. A number of advantages accrue from treating all data as a string:

a. Strings can be arbitrarily broken up into substrings.
b. Strings can be tokenised for parsing and late binding.
c. Strings can be used to represent anything, even binary data.
1 Introduction2007-05-21UG - Technical Design Philosophy 2Six criteria dictated my design decisions for Classmaker:

1. Not to be trapped by a tool kit vendor's upgrade decisions.
2. To fully utilise screen real estate when users maximise the application.
3. The application must not depend on third party libraries.
4. The application must have a snappy user interface.
5. To easily network my application for multiple users.
6. To store data in a robust database.

These criteria were met by using the following toolkits:

1 - 4 The user interface was built using Fox-Toolkit.
5 The network capability was built using Isectd.
6 The database storage application is FirebirdSQL.
6. My philosophy is that all data should be in the form of a string and all presentation should be the form of a binary, since data changes, but display's generally don't. This is why Classmaker is a PC app and not a Web app. Classmaker's screens do not change, just the data displayed inside them. In a Web app both the data and the display instructions are imported into the browser as a string that must be parsed into the instructions for screen display and data. That is why Web apps are so slow.

7. Computers work best with lots of small things that they can iterate over rapidly. Computers don't like large indivisible chunks of data. The in-memory data structure used is the double linked list. The double linked list is very fast, since it relies on pointers, and can be used to make multi-dimensional data structures. By keeping the data substrings sent from the database inside a linked list rather than concatenating them into one huge string, Classmaker's performance remains snappy even on large amounts of data.

8. Multi-threaded applications should be avoided as they are notoriously difficult to make stable. Isectd uses multi-process rather than multi-threaded communication for concurrency. Isectd processes divide their tasks into small data chunks that they push to the Isectd server which in turn forwards them to the appropriate client that requested them on a FIFO basis. In this way the Isectd server multiplexes the data chunks it receives to enable multiple clients to share the same database without the need for multi-threading.

9. Fox-Toolkit does not use a GUI designer with explicit x,y coordinates. Instead it uses a layout manager that tells controls how they should arrange themselves relative to each other and the size of the window they are inside. Using a layout manager is great. The complexity of a drag and drop GUI designer is dispensed with and instead the layout manager class instances are simply coded up and no matter what the screen size, Classmaker automatically expands to fill it.
1 Introduction2007-05-22UG - CalendarsClassmaker has two types of calendar, the Long Term Plan and the Weekly Calendar. These operate together in a hierarchical fashion.1. The Long Term Plan is a calendar with Subjects down the vertical axis and weeks on the horizontal axis. It is a very good way to divide your year into managable bite size chunks. For teachers these chunks will usually be terms or semesters. For other users quarters might be more appropriate. The duration covered by the Long Term Plan is up to you. Each term or semester can be of different duration. The Long Term Plan is a particularly useful way of searching for past material. Most software packages rely on flat searches using text comparison and ranking algorithms to find previous records. Classmaker has this facility too, but it is often not very useful, because humans don't think that way when searching. We prefer to hunt through drawers, folders and piles of paper using spatial cues to locate things. Classmaker has attempted to do the same thing with the Long Term Plan - Subject matrix. You can quickly hop back through your Long Term Plans, drilling down into them to see the Unit Plans and Lesson Plans below.

2. The Weekly Calendar is your workbench. It's the first thing you see when you open Classmaker and it's where you spend most of your time. What sets Classmaker's calendars apart from other software packages is the way it's Unit Plan lessons are depicted on the Weekly Calendar. A lesson starting on Monday at 9.00am and and finishing at 9.59am on Tuesday in most software packages would cover all the time slots through midnight Monday - 25 hours of lesson! In Classmaker, the lesson covers two hours, Monday from 9.00am to 9.59am and Tuesday from 9.00am to 9.59am. This special consideration for teachers recognises that subjects in a timetable occupy discrete segments and that pupils are constantly moving from one topic of study to another.
1 Introduction2007-05-23UG - Plan TypesClassmaker has three different types of record arranged hierachically from top to bottom:

1. Long Term Plans
2. Unit Plans
3. Lesson Plans
Long Term Plans (The Book)

These don't hold much detail. Their main purpose is to tell you what the title of the "book" is, a short blurb about it's contents and what period the "book" covers. You can also make the book permanently visible (persistant) regardless of the dates it covers. This is like having it on a permanent display table when you first enter the library door. The Long Term Plan can be made visible to all users or just yourself.

Unit Plans (The Chapter)

A Unit Plan is really just a way of aggregating a series of lessons and their supporting files together into a collection. The resulting lesson collection can be printed in one print job while the entire unit including supporting files can be exported and imported to and from disk which lets you transfer your work between databases. The Unit Plan defines the way the lessons it contains will be displayed on the Weekly Calendar, whether those lessons are unit plans, routine lessons or non-contact time.

Lesson Plans (The Page)

These are the nitty gritty of Classmaker. The lessons contain a variety of fields, many of them specific to teachers, that when printed make a nice plan to teach from. The format follows the tried and tested teaching model of setting the lesson objective, teaching the lesson using the three step introduction, development and closure method along with a resources list, and evaluating how the lesson went using the assessment and reflection fields. None of these fields are compulsory and in many circumstances they won't be used, but they are there to follow the teaching model to the letter if you need to do so.
1 Introduction2007-05-23UG - Curriculum StandardsTeachers like to be able cross reference their teaching to their curriculum standards. In Classmaker these appear in the Achievement Objectives field.Store your achievement objectives in a persistant Long Term plan using the three levels as follows:

1. Long Term plan - ability level
2. Unit plans - subjects
3. Lesson plans - achievement objectives

There are two ways to insert the achivement objectives into your new planning:

1. Open multiple screens and cut and paste what you want between screens. The easiest way.
2. Create a new Unit Plan for your teaching and take a complete copy of the desired curriculum standard lesson plan. Providing you already have an existing lesson plan in your Unit Plan you can use the Bump feature to bring the dates and times of the curriculum standard record in to line with your existing lesson plan.
1 Introduction2007-05-24UG - Printing ReportsYou probably like to teach from pieces of paper. They're easy to use and fool proof. Taking your laptop everywhere you go just isn't practical yet.You can print the Weekly calendar and the Long Term calendar. If you've got a colour printer, the resulting output looks nice.

Right clicking on the Weekly calendar raises a print preview window. You can see every lesson on every day and print them out in several formats. The Print Summary report is the report you will usually use. It prints every lesson for the day as a table with the Introduction, Development, Closure and Resources fields side by side for every lesson in time order. Typically, just a couple of pages are produced for a day's lessons. This is your to do list!
Classmaker's reports require nothing other than for you to click on a button. They are easy to understand and print out quickly. 
1 Introduction2007-05-26UG - Importing and ExportingClassmaker can be used at school and at home because it is a simple matter to copy your unit plans between the database on the server at your school and the database on your laptop which you take home to plan on.Check the Mark for export to disk checkbox on the Unit Plans tab as you work at school on the server version of Classmaker. When you have finished working, export all your plans to disk using the Export Unit Plans option under More Options on the Weekly Calendar. All Unit Plans marked will be written to the C:\Classmaker\Transfer directory as *.dat files ON YOUR LAPTOP.

Now if you fire up your local copy of Classmaker you will see the *.dat files under the Unit Plans listing to your left. If you click on any of these they will be imported from disk straight into your database under what ever Long Term Plan you currently have selected.

The old version and the new version are distinguished by an icon that appears in the listing for the new version. Delete the old version and continue to work in the new and you can transfer your additional editing at home back to the server version when you get to school.

You can edit and delete any lesson plan regardless of it's age in the new version, without the usual warnings about editing and deleting existing planning. To convert the new version to your current version uncheck the Mark for export to disk checkbox.
Importing and Exporting in Classmaker enables you to easily move your Unit Plans between databases. This feature allows you to work at home on your laptop and transfer your work onto the school server and vice versa. It can also be used to manage a rotating schedule. See UG - Rotating schedules under 4 Everyday Usage for more information. 
1 Introduction2007-05-27UG - Supporting FilesClassmaker stores email style file attachments right inside its database NOT on disk with a shortcut to them as many other software packages do. Keeping them inside your database means they can't get lost because ALL your data resides inside a single database file.Under the Unit Plan tab you can import file attachments. These can be ANY type of supporting file that you want to associate with your unit plan. With Classmaker's file attachments, when a Unit Plan is exported, the file attachments are exported too. Everything is bundled up into a single *.dat file that can be copied or emailed to other people and imported into another Classmaker database.  
1 Introduction2007-05-28UG - TeachersClassmaker has two types of user, syndicate leaders and teachers.Syndicate Leaders

This is the high level user. They can't do much, just enter syndicate-wide Long Term Plans and change the Subjects that are used by their syndicate. This last ability is pretty useful as the subjects required can vary widely by syndicate. Speciality syndicates like music might want a completely different subject listing from the rest of the school.


This is the low level user. They can do most everything in Classmaker except Subject editing.
1 Introduction2007-05-29UG - Searching the DatabaseClassmaker let's you search it's database using case sensitive text comparison on the lesson name. It also retrieves all records that match the current lesson's evalation criteria eg. Find all lessons that have not been taught. The searches return the records from all teachers, for printing, but you will only be able to directly retrieve the detail from records that belong to you.Found records can be selected and unselected and the final selection printed as a summary report. So, Classmaker has four different ways of aggregating it's records for printing:

1. Printing all records that span a particular day.
2. Printing all records contained in a Unit Plan.
3. Printing a selection of records that meet a text comparison.
4. Printing a selection of records that match the current lesson's evaluation criteria.
The text comparison search looks for a mimimum of two consecutive letters anywhere in the lesson name. This User Guide is designed to be retrieved using text comparison search, each record in the User Guide starting with "UG"  
1 Introduction2007-05-30UG - Multi-userClassmaker uses the same robust underlying communication system as the Internet - TCP/IP. Right from the beginning Classmaker has been built using basic building blocks with the objective of no hassle multi-user access.Classmaker uses the classic client server paradigm for multi-user access. A collection of small daemon programmes reside on the server. The client software "talks" to the server daemon software using TCP/IP calls over the network. The network could be the Internet, but due to security worries this is not recommended. Better to synchronise between laptops and server using Classmaker's importing and exporting facilities.  
2 Installing2007-06-01UG - Installation packageClassmaker is a portable app. That means you simply extract the Zip file download anywhere you like. It will work quite happily off your USB stick.Copy the downloaded Zip file to your desktop and extract it there in the first instance. Then go into the PocketClassmaker directory and read the Readme.txt file. There is a Readme.txt in every directory that you might use. If a directory contains no Readme.txt file then the files in that directory are run-time files that should be left alone.

Classmaker should work straight away using the batch files in the Scripts directory. If does not, it will be because of conflicts with your virus checking software and/or firewall software. Rebooting your machine and/or deleting and reinstalling will not help.
2 Installing2007-06-02UG - VersioningClassmaker employs a three part versioning system.Classmaker stores its version numbers in two places. The database holds a version number in the table Settings. The software also has a version number. If these two disagree, you will get a warning message on startup. Almost always the version number in the software will be higher than the version number in your database eg. Database version 2.0.2 Software version 2.0.3

Your response to the differences in version number depend on which parts have changed.

1. The last part of the number is different (revision number). The software version number has changed, but the database version number has not. The software will automatically update the database version number.

2. The middle part of the number is different (minor number). The database schema has changed. You will need to obtain the appropriate database patch from the vendor.

3. The first part of the number is different (major number). The database schema and the software are so different that a customised data conversion routine from the vendor is required.
You should never have to concern yourself with Classmaker's version number as the software automatically updates the database version number and database schema to match the software schema whenever it detects that the software revision number is higher than the database revision number. As Classmaker is now a mature piece of software, for the forseeable future it's releases will increment the revision number only. 
2 Installing2007-06-03UG - IBAccessClassmaker uses the Firebird database to store its data. Firebird is an open source database that costs nothing to use. It comes bundled with the installation. Go to .\PocketClassmaker\Scripts\IBAccess.bat. This is the database management tool for Firebird, Classmaker's database. IBAccess lets you view ALL the data you create with Classmaker. Having unfettered access to your database is a good thing because the longer you use Classmaker, the more valuable its database becomes to you. At some time in the future if you decide to migrate to another software package you don't want to lose all your data. While an IT expert would be required to migrate your data, at least this is a viable proposition because any IT expert with a reasonable level of programming expertise will be able to write a migration program to extract your data.Here are the steps to see Classmaker's data using IBAccess:

1. Go to .\PocketClassmaker\Scripts\IBAccess.bat
2. Click on the open folder icon to open an existing database
3. Search for .\PocketClassmaker\YourData\Classmaker++.fdb
4. Change the dialect to Dialect 3 from the default of Dialect 1
5. Username 'SYSDBA'
6. Password 'masterkey'
7. Click on OK.
8. Click on the tables database object.
9. Arrow up and down to the table you want.
10. Click on the Set Square icon which displays the fields in the table in a new window.
11. Start a new transaction by clicking on the yellow and blue wavy arrows icon which displays the data.
12. Edit or add new records.
13. Commit the transaction to save your changes by clicking on the ticked page icon to the right of the yellow and blue wavy arrows icon.

If you edit any table or stored procedure other than the Settings table, TermDate table and ChildYear table using IBAccess instead of through Classmaker you will probably corrupt your database.
At Step 3 above you can choose to Configure Databases instead of Searching. This will speed up opening the database using IBAccess in future. 
2 Installing2007-06-04UG - Backing up your dataGet into the habit of backing up your database regularly to avoid losing your work. Your database is a single file called .\PocketClassmaker\YourData\Classmaker++.fdbTo back up your database click on .\PocketClassmaker\Scripts\Nightly.bat. This invokes a batch file which automatically creates and overwrites three files in the ..\YourData directory.

1. Classmaker++.bak - this is a compressed backup of Classmaker++.fdb.

2. Classmaker++.lkg - this is the restored version of Classmaker++.bak.

3. Classmaker++.fdb - this is your database file.

You can continue working in Classmaker as soon as the backup process is complete. Immediately after a backup Classmaker++.lkg and Classmaker++.fdb are identical except for their filename suffixes, but as you continue to use the software Classmaker++.fdb will be updated while Classmaker++.lkg will remain unchanged. Therefore following your backup promptly copy Classmaker++.lkg to removable media eg. CD-ROM or memory stick for safe keeping.

In the future if you need to replace the current database with a backed up version:

1. Stop the Server by clicking on ..\StopServer.bat.

2. Delete the existing Classmaker++.fdb file from the ..\YourData directory.

3. Rename your backed up Classmaker++.lkg file to Classmaker++.fdb.

4. Copy your renamed Classmaker++.fdb file into the ..\YourData directory.

5. Start the Server by clicking on ..\StartServer.bat.
You can use IBAccess for any ad hoc backups, restores and edits of Classmaker's databases. 
2 Installing2007-06-07UG - Weekly calendar settingsClassmaker has two global settings for its Weekly calendar display, the start and end times in the Weekly calendar and the time increment for each cell in the Weekly calendar. These will be set up just once and never altered again.1. Using IBAccess open the Settings table.
2. Click on the Data tab which displays the data inside the table.
3. The table has a description of what each record is about.

SchoolPeriod is the number of seconds for the time increment for each cell. eg. 900 seconds is 15 minutes while 300 seconds is 5 minutes. Edit the StringValue field to obtain the time increment that you want.

SchoolTimes is the number of SchoolPeriods in your day. If you had 26 * 900 second periods that adds up to 6 hours 30 minutes to be displayed on the Weekly calendar. Edit the StringValue field to obtain the multiplier that you want.

SchoolHour is the hour that belongs to the first period - 1. eg. If your SchoolPeriod is 900 seconds which is 15 minutes and you want the first period to begin at 9.00am then these settings must be 8.45am being one period before the desired start time. Edit the StringValue field to obtain the SchoolHour that you want.

SchoolMinute is the appropriate minute to create the desired start time. From the above discussion on SchoolHour the SchoolMinute value would be 45. Edit the StringValue field to obtain the SchoolMinute that you want.
After you have made some changes in IBAccess you must commit them THEN restart Classmaker before the changes you have made will become visible in its Weekly calendar. This is because Classmaker stores these values in its memory when it is first invoked and does not see that they have changed. 
2 Installing2007-06-09UG - Long Term calendar settingsClassmaker has a global table for its LongTerm calendar display called TermDate. New records will be added to this table infrequently as new terms are required.1. Using IBAccess open the TermDate table.
2. Click on the Data tab which displays the data inside the table.

ID needs to be a unique number, preferably greater than any of the existing numbers for clarity.

SchoolYear and SchoolTerm are self explanatory. Edit these fields appropriately.

SchoolWeeks is the number of weeks you desire to see in the term. This value can change from term to term.

FirstDay is the date of the MONDAY that falls in the first week of the term NOT the first day of the term.
After you have made some changes in IBAccess you must commit them THEN restart Classmaker before the changes you have made will become visible in its Weekly calendar. This is because Classmaker stores these values in its memory when it is first invoked and does not see that they have changed. 
2 Installing2007-06-10UG - Non-contact timeYour calendars won't display anything until you have entered at least one Long Term Plan and one Lesson Plan. We all have breaks, usually morning tea and lunch. Create these first unless you are using a Rotating schedule, which requires a different approach. See UG - Rotating schedules under 4 Everyday Usage for more information.Create a Long Term Plan and call it Non-contact time. Usually I include it under a subject called Non-contact time just so that we are absolutely clear as to what these two records are doing. Make this Long Term plan syndicate wide and have it cover a very long time period, since you will always be extending it into the future. Now when you click on the Long Term button you will see something on your Long Term calendar display.

Under the Non-contact time Long Term plan create a Unit Plan and call it Recesses. Make sure that it is of lesson type Non-contact time. Create a lesson plan called Morning Tea and have it cover the same time period as your Non-contact time Long Term plan. Now when you click on the This Week button you will see something on your Weekly calendar display.
2 Installing2007-06-11UG - Why bother with a School-wide installation?Using Classmaker in a school-wide installation will make a huge difference to teacher efficiencies. Here's why.1. By keeping the data on a central server with appropriate backup procedures in place, teachers can be confident their valuable planning records are safe. Quite often teachers plan on their own laptops, but due to a lack of support, their laptops get hopelessly misconfigured and data goes missing. The school-wide approach avoids that.

2. The database becomes increasingly valuable the more people are contributing to it. It will rapidly become a central repository of information that teachers can search through to locate lesson plans. Frequently teachers are forced into 'reinventing the wheel' when planning because they cannot locate their own previous lesson planning or they are unable to access other teachers planning because they are not aware that the units already exist. Classmaker's search facility looks through the whole database, so you can quickly find information that is relevant to your planning.

3. If you are sick, the school's management can print off your planning and give it to your relief teacher. Being sick no longer means the relief teacher does something completely unrelated to your Long Term plans. Your children get the benefit of a consistent programme of delivery whether you are there or not.

4. If the teacher's sign-on name is changed to the start year of the children eg. 2005 is their first year at school, so 2005A, 2005B etc replaces the teacher's name under the 2005 syndicate, then the programme of delivery for that age group can be traced right through their time at the school. This way kids don't have to hear a book read to them all over again that they just heard last year!
But what if you plan at home? No problem. Classmaker has an export/import facility that makes it easy to synchronise your plans between the server database and your laptop's database. 
2 Installing2007-06-12UG - How to do a School-wide installation?Doing a School-wide installation is easy.

NOTE: I am leaving this here for historical reasons. Classmaker is still more than capable of handling a school-wide installation without no software alterations, but it needs to be packaged appropriately first. As the Zip download is now configured for use as a portable app, the steps given below will no longer work.
1. Install Classmaker as a FULL install on both the server and the laptops of all users. The CLIENT install is only relevant for those users who wish to use the server version of the software and do not want to be able to use Classmaker when disconnected from the network.

2. On the server edit the C:\Classmaker\Install\XYNTService.bat file so that the word database (NOT localhost:5502) on lines config service... and config worker... becomes whatever you want it to be eg. central, server, planning or the name of your server

3. On the server edit the C:\Classmaker\Local\Classmaker.ini and C:\Classmaker\Remote\Classmaker.ini files so that the word database in DatabaseService=database becomes the same as whatever you have in 2 above. This step just ensures that people trying to use Classmaker on the server can do so.

4. On each user's laptop edit the C:\Classmaker\REMOTE\Classmaker.ini file so that the word database in DatabaseService=database becomes the same as whatever you have in 2 above. Do not change the C:\Classmaker\LOCAL\Classmaker.ini file.

5. On each user's laptop edit the C:\Classmaker\REMOTE\Classmaker.ini file so that the word localhost in Host=localhost:5501 becomes the same as the name of your server or it's IP address eg. Host=server:5501 or Host= Do not change the C:\Classmaker\LOCAL\Classmaker.ini file.

Now when users click on the Classmaker Remote shortcut on their desktop they are viewing the server database. When they click on the Classmaker Local shortcut on their desktop they are viewing their local database. Why bother with this? Because when you export a Unit Plan to disk, it is visible to BOTH databases and can be imported into either one. To make it easy to distinguish which version you are using make your username and the username on the server different. For instance, you might prefix your username on the server with Server - username. That way, you can look at the status line at the bottom of the Weekly calendar to determine which version you are using.
3 First time usage2007-06-16UG - Date Formats Dates in Classmaker can be displayed in American format (mm/dd/yy) or English format (dd/mm/yy). The default is American format but you can change this by clicking on the Options menu item and choosing the English format.  
3 First time usage2007-06-16UG - Registry location The location of the registry information can be either the Windows registry or a File Registry. The default is a File Registry, but you can change this by clicking on the Options menu item and choosing the Windows registry. The registry stores your date formats along with window placement information, printer choice and the current user name.

If you are going to be using the same machines over and over choose the Windows registry. That way your printer settings and window placements which are likely to be specific to that machine don't need to be changed each time you go to that machine. If you want to leave no trace of Classmaker on the machine you are on, stick with the File Registry.
3 First time usage2007-06-17UG - Weekly calendar settings See Weekly calendar settings under 2 Installing - Weekly calendar settings.  
3 First time usage2007-06-18UG - Long Term calendar settings See Long Term calendar settings under 2 Installing - Long Term calendar settings.  
3 First time usage2007-06-19UG - Creating new usersClassmaker has two levels of user, syndicate leaders and ordinary teachers. See Teachers in 1 Introduction Unit Plan for further information.Create a new syndicate leader by clicking on the Teachers button and typing in a new name ensuring the Syndicate Leader check box is checked.

To create a new teacher make sure the syndicate leader's name is highlighted, uncheck the Syndicate Leader check box and a new teacher will be created that belongs to the syndicate leader.
Classmaker remembers which user on a laptop was logged in by destination and logs in as that user next time Classmaker is invoked. This makes your life a lot easier, PARTICULARLY when moving between the local version and the server version of Classmaker on your laptop. 
3 First time usage2007-06-20UG - SubjectsSubjects are defined by Syndicate and only editable by the Syndicate Leader. This means that different syndicates can have quite different subjects displayed on their Long Term calendars. You can add and retire subjects as your needs change over time.As Syndicate Leader add the subjects that you want and order them appropriately for your Long Term calendar display. Subjects can also be retired. A retirement occurs in the term beginning after the last Long Term plan that belongs to this subject ends, so that you can no longer see the subject in the Long Term calendar in future terms. You will still see it in earlier terms.  
3 First time usage2007-06-21UG - Non-contact time See Non-contact time under 2 Installing - Non-contact time.  
4 Everyday usage2007-06-22UG - Entering datesIn a calendar program like Classmaker you are always entering dates. We want this to be as fast as possible.Under Options you choose whether you want your dates to be entered and displayed as mm/dd/yy or dd/mm/yy. After you have made this choice you can enter dates WITHOUT their separators eg. dd/mm/yy can be entered as ddmmyy. Classmaker automatically decodes this number into dd/mm/yy and displays it as such.

Most of the time you will be entering dates that fall in Classmaker's current month and year. In that case, just entering d or dd is sufficient. Classmaker will append the current month and year automatically. So, for example, if the current date was August 08, 2013 and you were doing planning that began on August 22, 2013 all you would need to enter is 22. Classmaker would automatically display this as 22/08/13 or 08/22/13 depending on the display format your have chosen.

It gets better! If you advance on the Weekly calendar into September 2013 and choose to enter new Lesson Plans there Classmaker knows that it's current month and year are September 2013 even though the actual current date is August 08, 2013.
4 Everyday usage2007-06-23UG - Hot KeysClassmaker has two hot keys to speed up getting about.Function Keys:

F5 Refresh the Weekly Calendar or Long Term plan screens (use this instead of the Refresh function on the right click pop-up menu)
F7 Move to This Week or This Term on the Weekly Calendar or Long Term plan screens (use this instead of clicking on their respective buttons)
4 Everyday usage2007-06-24UG - Lesson typesThere are three types of Lesson Plan; Unit Plan lessons, Routine lessons and Non contact time. While these types are defined in the Unit Plan, all lessons that belong to that Unit Plan are of that type.1. Unit Plan lessons are just what you would expect of a normal lesson record. When you create them you specify start date, start time, end date and end time. The Weekly calendar display shows them just as you have created them. Once created there are a number of buttons that can help you move them around.

a) +Day and +Week. These let you take an existing lesson and move its start and end dates forward by 1 Day and 1 Week. A very useful function when copying records inside the same Unit Plan to create new records.

b) Bump. This shifts the start and end dates to match the next record in the Unit Plan. Used to shift a lesson forward to fill the spot of the next lesson, if it didn't get taught this time.

c) Shove. Stretches this lesson forward by n days and moves all subsequent lessons forward by n days, extending the Long Term plan forward by n days too, if necessary. Only personal Long Term plans are extended, not Syndicate Wide Long Term plans. You will use Shove frequently if your school uses rotating schedules.

d) Up and Down. These buttons move the start and end times of the lesson up and down by the time increment in the Weekly calendar display eg. 5 minutes, 15 minutes, 30 minutes etc.

2. Routine lessons. These have a start date, start time, end date and end time and also a day of the week. The lesson is displayed between the times specified on the day of the week between the start date and end date.

3. Non-contact time. These have a start date, start time, end date and end time and the lesson is displayed daily between the times and dates specified. While the other lesson types are displayed in a random colour, non-contact time lessons are always displayed in pale yellow.
Routine lessons display on top of non-contact lessons to let teachers record their playground duties. Non contact lessons display on top of unit plan lessons to show that unit plan lessons may continue through recesses. 
4 Everyday usage2007-06-25UG - Copying lessons There are three ways to copy lessons in Classmaker:

1. Bulk copying. Export a Unit Plan and import it again under a different Long Term Plan or perhaps the same Long Term Plan.
2. Individual copying. Choose a Lesson Plan. Now move to another Long Term Plan and Unit Plan. Providing you don't click on another Lesson Plan beforehand, your original Lesson Plan is still visible. You can now add it to the current Unit Plan. You will use this method constantly, if you are dealing with Rotating schedules.
3. Template copying (creating a duplicate). This is similar to 2. above except this time we don't bother changing the Long Term Plan or Unit Plan. This method is the easiest way to create a new lesson under a Unit Plan.
4 Everyday usage2007-06-25UG - Rotating schedulesClassmaker can handle rotating schedules without too much bother. An example of one can be found under the Localhost - Rotating Teacher user.So how do you create a rotating schedule in Classmaker?

Create a SINGLE Long Term plan that covers the entire year with a SINGLE Unit of Work inside it called Rotating Schedule or something similar and check the Rotating plan check box. Inside this Unit of Work create all the periods you desire for a single schedule instance calling them whatever Subjects you might be going to teach. Export the Rotating Schedule to disk, and immediately reimport it into the SAME Long Term plan. The calendar will now display both periods side by side in the same cells from TWO different Units of Work. The reimported records will be distinguishable from the original in the Unit Plan pick list by being prepended with a flower. Both units will also have a red dot in the middle of the display so that you know they are placeholders, not your real planning.

From the first flower record Shove all the reimported records forwards the number of days required to begin the next rotation e.g. a four day rotation would require 4 days, an eight day rotation would require 8 days. After the shove has been completed change the beginning date of the first shoved record to it's end date. You now have two rotations displayed, one after the other.

Create new Long Term plans and Unit plans for the Subjects you have to teach. Now click on the current rotating schedule records and change them to suit, saving them back into their respective Units of Work.

To begin the process again for the next rotation Export the flower prepended Rotating Schedule to disk, and immediately reimport it.

Because Shove pushes forward all records subsequent to the one you are shoving in the current Unit of Work, if Special Days (a Snow Day) need to be inserted into the rotating schedule, you can create the gap for the Special Day by splitting the current schedule with Shove and then Shoving the next schedule/s (which is in a different Unit of Work) on another day. Take care to ensure that you also Shove your own planning forward too.

Lessons that belong to a Rotating plan do not display on the Print Preview screen. You can also instantly remove your Rotating plans by making the Long Term plan they belong to a Persistant plan (Ignore Start and End Dates).

With every export/import cycle of the rotating schedule you are creating a new Unit of Work. As soon as those Unit plans become historical delete them as their only value is to act as a placeholder. 
4 Everyday usage2007-06-27UG - Database ExportYou can export everything from Classmaker by username. The exported output is a directory tree where every record in the database is written to disk as an individual file.The database export directory tree looks as follows with each sub directory represented by a tab.

Your destination directory
...Directory "Your User Name" followed by the date and time
......Directory Long Term plans
.........File ". The Long Term Plan Description 0.html"
.........Directory Unit plans
............File ". The Unit Plan Description 0.html"
............File Lesson plans
............File ". The File Attachment Notes.html"
............File Attachments
Use database export to search through EVERYTHING (any text including a word or phrase in a file) using Microsoft Windows directory search feature. All you need to view your exported Classmaker database is a Web browser. 
5 Printing2007-06-30UG - What can I print?Right click on the Weekly calendar or Long Term Plans calendar brings up nearly all your printing choices except for the Unit Plans search tab (see below).1. Weekly Calendar
a) Print the Weekly calendar just as you see it. Occasionally useful for your weekly overview, but unlikely to be used much.
b) Print Lessons. This brings up a Print Preview type screen that shows you the lessons for each working day of the week that you are currently sitting on. To see each day's lessons click on the appropriate date and all the lessons that appear on that day will be displayed on the right hand side of the screen as a list of tabs. You then have the choice of printing the individual lesson currently visible, printing all the lessons for the day, printing all the lessons that belong to the unit that the individual lesson currently visible belongs to or printing a summary report of the day's lessons that compresses the output to the Start, End, Introduction, Development, Closure and Resources fields in a tabular format. All reports with the exception of the Summary report print a page to a lesson. The Summary report is your most useful report, since you can print it off first thing in the morning and spend the rest of your day teaching from it.

2. Long Term Plans
a) Print the Long Term Plans calendar just as you see it. Occasionally useful for your term overview, but unlikely to be used much.
b) Print Long Term Summary report. This report compresses the output to Start Date, End Date, Subject, Plan Name and Description in a tabular format. A useful report to assist your individual unit planning process after the syndicate wide long term planning process has been completed.

Going to the Search tab on the Unit Plans screen lets you print out a selection of lesson plans that meet your search criteria across the entire database of all users. The report compresses the output to Date, Unit Plan, Lesson Name, Introduction, Development, Closure and Resources fields in a tabular format.

You cannot directly print anything from the Unit Plans screen except the results from a Search. But, whenever you choose a lesson plan from the pick list in the Unit Plans screen the Weekly calendar display shifts to that lesson's start date invisibly, behind the scenes, so... to print a lesson plan from your Unit Plans screen first right click on the Weekly calendar and choose Refresh to update the display, then right click again and choose Print Lessons. 
5 Printing2007-07-02UG - Report StylesA database works most efficiently with thousands of small records that it indexes for fast retrieval. Use Classmaker in the same way, keeping the amount of information you load into an individual lesson plan as small as possible. This will make things much easier for you when you come to print out your work.Three different styles of report are available:

1. Compact individual lessons where each lesson is printed on a single page in a user friendly form which is easy to read. Providing you keep the amount of data in your lesson plans to a reasonable level, this style supplies the most information in the least space.
2. Verbose individual lessons where each lesson is printed over multiple pages in a list one column wide. This is the kind of report most other lesson planning packages generate. While it ensures that all the information gets printed, they are difficult to use because the information never appears in the same place twice, so not the best style to teach from.
3. The summary style where multiple lessons are printed on a page in table format. The best style to teach from.

In all styles, if the amount of text exceeds the amount of space allocated to it on that page, the text is truncated (in the Verbose report style, this would require you to put more text in a single field than the entire page, an unlikely scenario). If you find that your text has been truncated, there are six different options available:

a) Split the lesson into two lessons and divide the text evenly between the two. Recommended.
b) Try printing the report in landscape format instead of portrait. Depending on the type of report and which field is being exceeded you may find this fixes the problem.
c) Ignore the problem because you can access the required information from another report eg. Frequently, the space on the Individual Lesson report cannot accept all of the Long Term plan description, but this does not matter because this information can be printed out using the Long Term Summary report.
d) Increase the page size and print the report to a PDF. Printing a PDF that has been created on an A3 size page to an A4 printer will shrink the text inside the cells by a factor of two.
e) Print to HTML file and import the HTML file into another package for further manipulation eg. Word 97-2003 Mail Merge
f) Print to HTML file and use Javascript and CSS in your browser to get what you want.
You can print out the Compact individual lesson report as a blank for filling in manually using a pen and paper. 
5 Printing2007-07-03UG - PDF Printing Use a package like CutePDF Writer.  
5 Printing2007-07-05UG - HTML PrintingHTML printing gives you lots of customisation options for your reports. You can use Microsoft Word mail merge which is quite user friendly or go the Javascript / JQuery route which, while more difficult to use, pretty much lets you do anything you want with your data.Printing to HTML with Classmaker doesn't give you fancy HTML reports for printing. Instead, it gives you the underlying recordset that the hard copy print job is generated from, but in HTML table format. The HTML table format option was chosen because you can import HTML tables into lots of other packages with no fuss eg. Microsoft Word. Being a table these packages let you select individual cells, columns or rows to cut and paste from.

The HTML table is in HTML5 format and includes file references to CSS files and to Javascript files. The CSS files are used to alter the display parameters. There are two of them, one for the screen display and the other for printing. They have the same name as the HTML file, but with the word Screen or Print appended to distinguish them. The Javascript files appear in various places throughout the HTML file. Note, in particular, that some appear in a Global directory underneath the location of the HTML file. These files are designed to be reused with any HTML file printed from Classmaker. For instance, you would probably want to use date.format.js in every report generated by Classmaker to format the raw dates supplied into something more user friendly.
Examples of both browser based report (Daily Summary) and a Microsoft Word mail merge document (Unit plan) can be found in the .\PocketClassmaker\Reports directory. 
5 Printing2007-07-06UG - Word 97-2003 Mail MergeMicrosoft's Word's Mail Merge facility makes a good interactive report writer.To use the mail merge facility print to HTML. Use the reporting choices Print All (Print All Lessons for Today) or Print Unit (Print Entire Unit). These two reports are the best ones to use as they include every field in the database spread across several tables.

When printing to HTML call the output file C:\Classmaker\Reports\output.html
Open the Word 97-2003 file called C:\Classmaker\Reports\Unit Plan Mail Merge 2.doc

From here on the rest of your report formatting and printing is undertaken inside Microsoft Word.

If creating a brand new mail merge document, to prevent Microsoft Word from truncating your text, ensure that the data source you are using to read your output.html file is an OLE DB data source not an ODBC data source. To do this take the following steps:

1. With any document open, click on the Office button and then choose Word Options
2. Click the Advanced tab and page down until you reach the General region
3. Check "Confirm file format conversion on open"
4. Exit Microsoft Word
5. Restart Microsoft Word
6. Connect your merge document to your database (in our case output.html)
7. When you do this, it will ask you to "Confirm Data Source" -- choose All Web Pages
8. It will now show all of the information in the spreadsheet.

This solution was found at http://www.eggheadcafe.com/software/aspnet/33703802/mail-merge-cut-off-or-truncating-255-word-limit.aspx
When using Microsoft Word's Mail Merge the magic key combinations you need to remember are Alt F9 (display all field codes) and Ctrl F9 (insert a new field code). Without these it is almost impossible to use Mail Merge successfully. 
6 FAQ2007-07-07UG - Using Routine lessonsSome users fall into the trap of using Routine lessons for all their planning instead of Unit Plan lessons.Using Routine lessons instead of Unit Plan lessons seems like a good idea, but isn't in the long run. Routine lessons display on the nominated day of the week between dates. They display on top of Non-contact lessons and cannot be bumped, shoved, upped or downed like Unit Plan lessons. They should only be used for duties and interchange classes with other teachers because that single record covers multiple lessons.

Conversely Unit Plan lessons display every day between dates, can be bumped, shoved, upped and downed and are hidden by Non-contact lessons.

Some teachers use Routine lessons as a placeholder into the future and then copy that record and change it's dates to make the copied record belong to just the day they are teaching on. This is not recommended because it is very easy to end up with a chaotic display of black spots as the original Routine lesson record covers dates both before and after the current week you are working on. If you don't get your date change right you won't notice the mess you are creating until it is too late to easily fix it. Having lots of lessons under a Unit Plan of type Routine also makes it difficult to work out when those lessons are being taught as the pick list under a Routine lesson Unit Plan only shows you the day of the week and not the date. And finally with Routine lessons you lose the bump, shove, up and down buttons which are very useful.

I don't like the concept of using Routine lessons as a placeholder. It's just as easy to create a Unit Plan of type "Unit Plan" and use the +Day and +Week buttons to add all the lessons you need for the duration of your Long Term plan and fill in the detail later.

But, if I was going to use a Routine lesson as a planning placeholder, I would also have a Unit Plan of type "Unit Plan" under the same Long Term plan and enter my all lessons into that as I went along. Once the Unit of Work has been completed I would delete the Routine lesson plan placeholder, leaving behind the actual teaching that I undertook.

Use Unit Plan lessons for your everyday teaching and Routine lessons for duties and interchange classes only. 
6 FAQ2007-07-08UG - Removing black spotsClassmaker displays a maximum of two records in the same time slot on it's calendars.You can have as many records as you like sharing the same time slot, but Classmaker limits you to two records to a time slot for DISPLAY purposes on it's calendars. If more than two records share the same time slot the last record is coloured black and a warning message appears on the top left of the calendar.

You don't want lots of black spots because Classmaker relies on a plan's colour to locate it, so the more black spots you have the harder it is to keep track of your planning.

To get rid of black spots, click on a black spot record and set it's end time equal to it's start time. This way you don't lose track of when you were planning to start that lesson and your chances of still having a three record overlap have been reduced significantly. Even if the record remains a black spot it now becomes much easier to work out where the overlap is occuring.

After each black spot change refresh the Calendar display and you will soon get rid of them all.
Try to avoid having three record or more overlaps as they make it much harder to keep track of your planning. 
6 FAQ2007-07-10UG - How clicking works Right clicking on the Calendar and Long Term Plan screens brings up a popup menu with various options. The Refresh menu and the Print Lessons are the most useful.

Left clicking on a coloured plan brings up its detail for editing. Classmaker uses the colour of the plan to locate it. Occasionally two colours are so similar the wrong plan is located. Refreshing the screen changes the colours and left clicking again will locate the correct plan.
6 FAQ2007-07-11UG - Can't get into the database tables using IBAccess To view and edit Classmaker's database with IBAccess use the User: SYSDBA Password: masterkey combination.  
6 FAQ2007-07-12UG - Can't edit dates using IBAccessKeep getting an error message when I try to edit the date field in the TermDate table.Make sure that you have opened the database in IBAccess as a Dialect 3 database not a Dialect 1 database which is the default.  
6 FAQ2007-07-13UG - My calendars are blankI've added new term dates for the coming year using IBAccess, which I've now closed, but I can't see anything when I go to those terms inside Classmaker.After adding new term dates you must extend your Non-contact time records of Morning Tea and Lunch to cover the same period, because Classmaker needs at minimum one record covering the time segment it is trying to display.

See Non-contact time under 2 Installing - Non-contact time for more discussion about this.