dbTalk Databases Forums  

Roster

comp.databases.filemaker comp.databases.filemaker


Discuss Roster in the comp.databases.filemaker forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Ursus
 
Posts: n/a

Default Roster - 11-26-2006 , 01:23 PM






BasicalyI think the following can not be done. But lets see. FM8.5 adv, win
XP.

Our organisation works only with volunteers (about 100 of them). They work
in shifts, 24 hours a day, 365 days a year. On a day there a various shifts,
but to simplify lets say there are four shifts. on a 24 hour scale clock.
8:00 to 13:00, one volunteer. 13:00 to 18:00 one volunteer, 18:00 to 23:00
two volunteers and 23:00 to 08:00 two volunteers.

Once every two month all volunteers enter their wishes, this is done in two
stages. Generaly for each monday, tuesday, ... , sunday they give their wish
for each part of the day. This could result in monday morning A, Afternoon
X, Evening, X, Night X. Where A = priority, B = second choise, C = only in
emergencies, X = do not use this slot for me. The second stage is to rule
out any part of a particular date.

All this I can store in filemaker. No problem to create a volunteer table
and a wishes table. But now I want to create a duty-roster. The program we
run now has reached it's limits and can not be changed. Since we are a
volunteer only organisation the software has to be very cheap. Do you think
it might be possible to generate such a roster with FileMaker? Since there a
so many permutations. Like a volunteer can not do two shifts within roughly
4 days.

Let me know what you think and if there might be a way to tackle this.

Ursus



Reply With Quote
  #2  
Old   
Bill Marriott
 
Posts: n/a

Default Re: Roster - 11-26-2006 , 03:59 PM






I am skeptical immediately when the words, "cannot be done" and "FileMaker
8.5 Advanced" are used in the same sentence. There are very few things that
can't be done with 8.5Adv given custom functions, scripts, web viewer, and
so on. It all boils down to how intricate you code your scripts.

Cumbersome to do, or "more trouble than it's worth" is another story

You are leaving out three aspects critical for scoping this solution:

1) Who's preference gets priority? If you are over-staffed on one day and
understaffed on another day, how should the system even it out? Is it
first-come, first served, or if I have been there longer, do my wishes take
precedence over someone else's, even if someone else slotted that time
before I did?

2) How do you want to handle a day/timeslot when everyone has put an "X" in?

3) Would this be deployed via a FileMaker client (i.e., some kind of
workstation where people do this) or via the Web (such as with IWP or the
PHP API). Do you have a copy of FileMaker Server Advanced, or just regular
old FileMaker to host it?

Even without knowing the answers to these questions, I see no reason why
this could not be done in FileMaker. You would have a table, call it
VolunteerTimeSlots, with every possible time slot for every possible
volunteer. Then you can slice-and-dice this up any way you like to get a
report of the days that are understaffed, overstaffed, etc. If you want it
all in a nice "calendar" presentation, you'll likely have to play around
with the List() function and perhaps even (gasp) repeating fields to get the
formatting/presentation just right.

It's not a trivial project, but certainly do-able.

[By the way, if you are looking for a super-low-cost alternative to
FileMaker for doing complex stuff like this, you might want to consider
Revolution, which has one product for $49 and another for $299 (going up to
$399 on Dec 1). The $49 Revolution Media product doesn't have support for
databases (e.g. MySQL) like the more expensive one does, but you could write
this solution without a proper database backend, and distribute a
royalty-free rich-UI runtime for end-users. The language is basically
HyperTalk, so if you ever learned HyperCard you can hit the ground running.
see http://www.runrev.com for info.]

"Ursus" <ursus.kirk (AT) wanadoo (DOT) nl> wrote

Quote:
BasicalyI think the following can not be done. But lets see. FM8.5 adv,
win XP.

Our organisation works only with volunteers (about 100 of them). They work
in shifts, 24 hours a day, 365 days a year. On a day there a various
shifts, but to simplify lets say there are four shifts. on a 24 hour scale
clock. 8:00 to 13:00, one volunteer. 13:00 to 18:00 one volunteer, 18:00
to 23:00 two volunteers and 23:00 to 08:00 two volunteers.

Once every two month all volunteers enter their wishes, this is done in
two stages. Generaly for each monday, tuesday, ... , sunday they give
their wish for each part of the day. This could result in monday morning
A, Afternoon X, Evening, X, Night X. Where A = priority, B = second
choise, C = only in emergencies, X = do not use this slot for me. The
second stage is to rule out any part of a particular date.

All this I can store in filemaker. No problem to create a volunteer table
and a wishes table. But now I want to create a duty-roster. The program we
run now has reached it's limits and can not be changed. Since we are a
volunteer only organisation the software has to be very cheap. Do you
think it might be possible to generate such a roster with FileMaker? Since
there a so many permutations. Like a volunteer can not do two shifts
within roughly 4 days.

Let me know what you think and if there might be a way to tackle this.

Ursus




Reply With Quote
  #3  
Old   
Ursus
 
Posts: n/a

Default Re: Roster - 11-26-2006 , 05:15 PM



Bill,

Way back I remember doing something which included creating stacks. I think
it was with OS 7 (??) and have never done anything with it. So that would
involve a learning curve. As for your questions. 1. Priority should be (in a
perfect world) random.

"Bill Marriott" <wjm (AT) wjm (DOT) org> schreef in bericht
news:fJidnceKLZxBkvfYnZ2dnUVZ_uidnZ2d (AT) comcast (DOT) com...
Quote:
I am skeptical immediately when the words, "cannot be done" and "FileMaker
8.5 Advanced" are used in the same sentence. There are very few things that
can't be done with 8.5Adv given custom functions, scripts, web viewer, and
so on. It all boils down to how intricate you code your scripts.

Cumbersome to do, or "more trouble than it's worth" is another story

You are leaving out three aspects critical for scoping this solution:

1) Who's preference gets priority? If you are over-staffed on one day and
understaffed on another day, how should the system even it out? Is it
first-come, first served, or if I have been there longer, do my wishes
take precedence over someone else's, even if someone else slotted that
time before I did?

2) How do you want to handle a day/timeslot when everyone has put an "X"
in?

3) Would this be deployed via a FileMaker client (i.e., some kind of
workstation where people do this) or via the Web (such as with IWP or the
PHP API). Do you have a copy of FileMaker Server Advanced, or just regular
old FileMaker to host it?

Even without knowing the answers to these questions, I see no reason why
this could not be done in FileMaker. You would have a table, call it
VolunteerTimeSlots, with every possible time slot for every possible
volunteer. Then you can slice-and-dice this up any way you like to get a
report of the days that are understaffed, overstaffed, etc. If you want it
all in a nice "calendar" presentation, you'll likely have to play around
with the List() function and perhaps even (gasp) repeating fields to get
the formatting/presentation just right.

It's not a trivial project, but certainly do-able.

[By the way, if you are looking for a super-low-cost alternative to
FileMaker for doing complex stuff like this, you might want to consider
Revolution, which has one product for $49 and another for $299 (going up
to $399 on Dec 1). The $49 Revolution Media product doesn't have support
for databases (e.g. MySQL) like the more expensive one does, but you could
write this solution without a proper database backend, and distribute a
royalty-free rich-UI runtime for end-users. The language is basically
HyperTalk, so if you ever learned HyperCard you can hit the ground
running. see http://www.runrev.com for info.]




Reply With Quote
  #4  
Old   
Bill
 
Posts: n/a

Default Re: Roster - 11-26-2006 , 05:20 PM



In article <4569e9ab$0$91844$dbd43001 (AT) news (DOT) wanadoo.nl>,
"Ursus" <ursus.kirk (AT) wanadoo (DOT) nl> wrote:

Quote:
BasicalyI think the following can not be done. But lets see. FM8.5 adv, win
XP.

Our organisation works only with volunteers (about 100 of them). They work
in shifts, 24 hours a day, 365 days a year. On a day there a various shifts,
but to simplify lets say there are four shifts. on a 24 hour scale clock.
8:00 to 13:00, one volunteer. 13:00 to 18:00 one volunteer, 18:00 to 23:00
two volunteers and 23:00 to 08:00 two volunteers.

Once every two month all volunteers enter their wishes, this is done in two
stages. Generaly for each monday, tuesday, ... , sunday they give their wish
for each part of the day. This could result in monday morning A, Afternoon
X, Evening, X, Night X. Where A = priority, B = second choise, C = only in
emergencies, X = do not use this slot for me. The second stage is to rule
out any part of a particular date.

All this I can store in filemaker. No problem to create a volunteer table
and a wishes table. But now I want to create a duty-roster. The program we
run now has reached it's limits and can not be changed. Since we are a
volunteer only organisation the software has to be very cheap. Do you think
it might be possible to generate such a roster with FileMaker? Since there a
so many permutations. Like a volunteer can not do two shifts within roughly
4 days.

Let me know what you think and if there might be a way to tackle this.

Ursus
I suppose somebody actually assigns the volunteers to the shifts.
Anyway, the assignments can be made using Filemaker, and then a duty
roster produced from that.

If I were doing it, I would make three tables: Volunteer, Shift, and
Assignment.

Volunteer would have all the volunteers, with contact info, etc.

Shift would have the shifts, with a record for each shift, by date and
time period.

Assignment would be a join table, connecting volunteers to shifts,
many-to-many. It would have one record for each assignment of a
volunteer to a shift.

I would produce the duty roster from the Assignment table, pulling in
related fields from Volunteer and Shift, displayed as a columnar report.
I would sort it by shift. I would adjust the layout to get it to fit on
a page and print nicely.

Whether the Wishes table would also be the Assignment table is a matter
of choice, influenced by the administrative setup of the organization
and how it is used by volunteers and supervisory staff.

Hope this helps.

--
For email, change <fake> to <earthlink>
Bill Collins


Reply With Quote
  #5  
Old   
Ursus
 
Posts: n/a

Default Re: Roster - 11-26-2006 , 05:32 PM



Sorry, Just hit the send button too early.

1. Priority should be random
2. A timeslot with all X's is very rare, but someone will have to get on the
phone and make some calls.
3. Since all our volunteers come to the place where they work, our local
intra-net would be enough. At this moment I have a private 8.5 advanced. At
our desk there is just an old v5. So some investment would be involved.

I don't mind cumbersome. It doesn't need to be in working order by tomorrow.
But I have a heap of wishes I just can't solve right now. The main thing is
how to go about creating a script that fills the slots according to the
wish-lists AND according the rules we have.
Rules like: only one nightshift each month, unless some states specificaly
he can do more.
Rules like: The night shift can be broken up into two parts. Where the first
part needs to have two volunteers and the second half needs to have only
one. This one volunteer might also have done a slot in the first half, or
might be a completely new one.

Well, perhaps the best idea is just to start somewhere and see where I grind
to a halt. But if you have any idea's where to start, I would much
appreciate it.

Ursus

"Ursus" <ursus.kirk (AT) wanadoo (DOT) nl> schreef in bericht
news:456a2000$0$29238$dbd4d001 (AT) news (DOT) wanadoo.nl...
Quote:
Bill,

Way back I remember doing something which included creating stacks. I
think it was with OS 7 (??) and have never done anything with it. So that
would involve a learning curve. As for your questions. 1. Priority should
be (in a perfect world) random.



Reply With Quote
  #6  
Old   
Bill Marriott
 
Posts: n/a

Default Re: Roster - 11-26-2006 , 06:39 PM



Start with the most granular piece of information you're going to track and
work out from there.

In this case I think it would be the combination of

WorkDate, Slot, VolunteerID, Preference

So you've got a table at the center of your solution, now, called
SlotPrefs -- one record for every possible combination of worker, date, and
slot. To these fields I would add "id" (unique serial number, just to be
safe) and perhaps a modifiedDate and modifiedUser. You could also have
unstored calc fields like WorkMonth, WorkWeek, etc. based on them.

Quote:
Rules like: only one nightshift each month, unless some states
specifically he can do more.
Ok so with the table above you set up a relationship matching on Slot AND
WorkMonth AND VolunteerID and this allows you to count if it's more than 1.

Quote:
Rules like: The night shift can be broken up into two parts. Where the
first part needs to have two volunteers and the second half needs to have
only one.
Consider the night shift to be two slots. Again you can use a relationship
to test whether, for a given evening, there are sufficient volunteers signed
up.

Seeing it yet?

"Ursus" <ursus.kirk (AT) wanadoo (DOT) nl> wrote

Quote:
Sorry, Just hit the send button too early.

1. Priority should be random
2. A timeslot with all X's is very rare, but someone will have to get on
the phone and make some calls.
3. Since all our volunteers come to the place where they work, our local
intra-net would be enough. At this moment I have a private 8.5 advanced.
At our desk there is just an old v5. So some investment would be involved.

I don't mind cumbersome. It doesn't need to be in working order by
tomorrow. But I have a heap of wishes I just can't solve right now. The
main thing is how to go about creating a script that fills the slots
according to the wish-lists AND according the rules we have.
Rules like: only one nightshift each month, unless some states specificaly
he can do more.
Rules like: The night shift can be broken up into two parts. Where the
first part needs to have two volunteers and the second half needs to have
only one. This one volunteer might also have done a slot in the first
half, or might be a completely new one.

Well, perhaps the best idea is just to start somewhere and see where I
grind to a halt. But if you have any idea's where to start, I would much
appreciate it.

Ursus

"Ursus" <ursus.kirk (AT) wanadoo (DOT) nl> schreef in bericht
news:456a2000$0$29238$dbd4d001 (AT) news (DOT) wanadoo.nl...
Bill,

Way back I remember doing something which included creating stacks. I
think it was with OS 7 (??) and have never done anything with it. So that
would involve a learning curve. As for your questions. 1. Priority should
be (in a perfect world) random.





Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.