home *** CD-ROM | disk | FTP | other *** search
- [Note from Steffen Gutmann: This project has been created
- by Eyal Teler. Thanks Eyal. I have made some minor changes
- to the project and this readme file.]
-
- Scheduler - an appointment book
- ===============================
-
- This is an example of what can be achieved with Amigabase with some work.
- Scheduler was written on Workbench 1.3. Use of ARexx might have made it
- better. Filtering from a program could have made it simpler. As it is,
- Scheduler is quite powerful, but sometimes a bit slow.
- Scheduler was written in two days. There are many ways to enhance it,
- and make it into a truely useful application (for example by adding
- monthly and daily views, adding an address book, etc.).
- Scheduler is not intended to show good programming style, and indeed
- it could be made clearer. On the other hand, it is intended to show (some
- of) the power of AmigaBase.
-
- What is Scheduler:
- -----------------
- Scheduler allows you to keep track of your appointments, much like the
- 'Address' project. But in addition the keeping the list of appointments,
- Scheduler also allows viewing a yearly calendar, marked according to the
- appointments, and selecting an appointment from this calendar. Scheduler
- also allows simple entry of common names and other values, and has
- automatic checking for overlapping appointments.
-
- Starting:
- ---------
- There are two ways to create an appointment book. Either take a full
- one (such as the example one), and use 'Init' (a button at the top right
- of the form), or load an empty one (using 'Open Structure') and add
- a new global record (in the usual way).
-
- Managing appointments:
- ----------------------
- To create a new appointment, just create a new 'Appoint' record, and
- enter the date, time, and length of the appointment (length is a time
- field). When the length of the appointment is entered, Scheduler will
- search for other appointments in the same time span. If there is such
- an appointment, Scheduler will issue a warning. It's possible to ignore
- the warning, and have two appointments at the same time. Appointments
- with their length field empty don't count for this check. In general, the
- offending appointment will be one immediately preceding of succeding
- the current one, due to the ordering, but in any case it's possible to
- use the 'Swap' button (above the Appoint record).
- The other input fields in the record are self explanatory. There are
- also three buttons, which hold the name of 'Length', 'Who' and 'Where'
- fields. When activating these, a list of default values will be
- presented, and you can select one by double-clicking. The default values
- are taken from the 'Defaults' window, whose button is above the Appoint
- record. This window holds three memo fields. Each line in these fields
- is one default value.
- It's possible to move between appointments normally, and also to
- switch back and forth between two datasets. By pressing the 'Remember'
- button, above the Appoint record, Scheduler will remember the current
- record number (it's also possible to enter it directly into the field
- near the button). It's possible to later go to this record (and back)
- by using the 'Swap' button. [ This isn't a really useful feature. ]
- Note that if a record is added ir changed, the number may no longer
- refer to the same record.
-
- The calendar:
- -------------
- The yearly calendar, available in the 'Year' window, shows a full
- year, with each appointment shown as a star on the corrsponding day in
- the calendar (even if there's more than one appointment per day, only
- one star is displayed).
- The field 'Year' at the top left of the form contains the year to be
- displayed. If this number is changed, the calendar will change to display
- the new year. It's also possible to move one year forward of backward, by
- using the arrow buttons near the 'Year' field.
- Changes to the appointments will not appear immediately in the calendar.
- To view the changes it's possible to use the 'Update' button. Changing
- the year in one of the above ways will always display an updated calendar,
- as will changing the display mode (see below).
- There are two display modes to the calendar. 'Day of month' displays
- the days of each month from the left of the field. 'Weekday' displays
- the days according to the day of the week. If first day of the month will
- be placed according to the corresponding day of the week. The area before
- the first day of the month is filled by '#' characters in this mode.
-
- Another feature of the calendar is the ability to select an appointment.
- This is done using the month buttons at the left of the window. When
- activated, a month button will display all the appointments of the month
- (if there are any). The record number is displayed, as well as date, time
- and who the meeting is with. Selecting one of the displayed appointments
- will bring the appointment window to the front, with the selected
- appointment displayed.
-
- Notes:
- ------
- It's of course possible to filter the records, in order to find meetings
- with a specific person, for example. This doesn't appear to affect the
- calendar display.
-
- The appointment datasets are ordered by Date, Time and length. Some
- programs count on the datasets being ordered by Date or Date/Time.
- The fields names of the Date and Time fields are Tim and Dat (because
- the words Date and Time are reserved by AmigaBase).
- It's possible to have more than one appointment book in the same project,
- by creating several top level records. This might cause a wrong message
- to appear (asking to erase the records of the current project), and it
- should be cancelled. Having more than one appointment book in this way
- is not really supported, but it should work.
- It's also possible to have more than one set of default values.
- I see no reason to use either multiple appointment books or multiple
- defaults, but they are there if you want them.
- There is one and only one calendar dataset. It's created on initialisation,
- and is updated by the function _Recalc. It's impossible to add or delete
- calendar datasets.
-
-