|
|
|
Calendar Solution
Documentation
Section 7:
Developer Access (cont'd)
Section 7.3: Developer
Access, Task.fp5
Task.fp5 (a.k.a. Task, Task module, Task file) - The
Task file stores all information related to all calendar
events.
Fields - All fields in Task that allow user
interaction begin with 'tk.'
prefixes. All other fields in this file are developer
fields, which each begin with a 'z', and are therefore
sorted to the bottom of the field definitions list. A full
description of the purpose of every field in this file is
not provided in this manual. The developer should take the
time to look at the scripts, layouts and fields in all of
the files to which he has access, familiarizing himself with
the programming and determining the intent behind the
programming. Scripts are well commented, when needed, and
all programming is well-organized for the benefit of
developers who employ this solution.
Those fields which are integral to the solution, or whose
components or usage may be complex for the moderately
experienced developer, will be described in detail in this
manual. For more information on developer fields and naming
conventions, see the Preface
for Section 7.
Relationships - There are a great many relationships
in the Calendar module, most of which are tied to the Task
file. The majority of these relationships are tied to two
multi-line key fields in the Task file:
zk.tk.due.date.c
and zk.tk.due.time.date.c.
The field zk.tk.due.date.c
relates to the corresponding day in the Month view of the
calendar. Since the Calendar's Month view only lists
appointments and tasks by day, not time, the
zk.tk.due.date.c
field does not store any time information.
zk.tk.due.date.c
stores the date, the user to whom the event belongs, and
each of the five filters available in the preferences
section of the calendar.
In addition to storing all of the information available in
zk.tk.due.date.c,
the field zk.tk.due.time.date.c
stores the event's time information. This makes the current
event available to the Week and Day views in the calendar,
which display appointments by time as well as date.
Following is a breakdown of the components of the first line
of the zk.tk.due.time.date.c
field, as seen when viewing that field's specification in
FileMaker's Define Fields dialog. The components of
zk.tk.due.date.c
are identical, except that the leading time data is
omitted:
zc.tk.timeBegin.c
& "| " & zc.tk.dateBegin.c & "| " &
zc.filter.a.c & "| " & zc.filter.b.c & "| "
& zc.filter.c.c & "| " & zc.filter.d.c & "|
" & zc.filter.e.c & "¶"
...and so on. Every
combination of filters utilized in the Calendar must be
anticipated so the relationship between Calendar and Task
will not break down when a Calendar user employs filters.
The rest of the calculation specifies every combination of
filters the Calendar user might have selected at any one
time. Following is a description of each of the components
of this calculation:
Component
|
Description
|
zc.tk.timeBegin.c
|
the starting time
for the event
|
"|
"
|
data separator,
also known as a delimiter; separates the components
of the key field.
|
zc.tk.dateBegin.c
|
the date of the
event
|
zc.filter.a.c
zc.filter.b.c
zc.filter.c.c
zc.filter.d.c
zc.filter.e.c
|
There are five
filters by which users may filter events in the
Calendar. Each filter designation is based on a
calculation, which allows the developer to
customize the filters by replacing the fields that
are currently in the filters with those fields of
his choosing. Full developer access is required in
order to do so, since the primary key fields in
Calendar.fp5 must also be altered.
|
Value Lists - The user value list available when
viewing/filtering events in Month, Week, and Day view in the
Calendar is named task.f~tk.whoDo.
As its name indicates, this value list is built from the
field tk.whoDo
in Task.fp5. Both developer access levels (Levels 3 & 4)
allow defining value lists in the Calendar file, enabling
the developer to populate these lists from values in any
file desired. You may redefine this value list to display
data from a file of your choosing, or change its properties
to accommodate your particular situation.
Navigation - Clicking the Event List navigation
button in the Calendar button bar executes a script in the
Calendar, which in turn calls a script in the Task file.
Because Standard Access (Level 3) does not allow access to
ScriptMaker in Calendar.fp5, navigating to your own
users/people database will require modifying the script
nav.tk.list
in the Task module.
To do so, add to the nav.tk.list
script in Task a subscript which calls a script in your
chosen database. Employing this method dictates that the
Task file will need to remain in your solution, as the
navigation script in Task will be accessed every time the
Event List button is clicked in the Calendar. Full Developer
access (Level 4) negates the need for this workaround, since
that level grants access to ScriptMaker in Calendar.fp5.
To achieve return navigation to the Calendar from your own
task file, import the script navx.cal.curView[xsub
calendar] from the
Task file into the file of your choosing.
|
|