SeedCodeComplete3

Resource Scheduling

Overview

Your events can be linked to "resources" in DayBack; a resource can be anything you need to schedule--people, equipment, rooms--or a mix of those. An event can even be linked to more than one resource.


"The calendar works wonders for us. Totally could not operate without it: helps big time in controlling production flow." - Jay Sanders, Lowy Frames & Restoration


Resources are shown on the Resource view of the calendar as columns, where you can drag events from one resource to another to balance your schedule.

(Configured to show 7 resources at once.)

(Configured to show 16 resources on a large monitor.)

(Multi-day resource view showing 7 resources over 3 days.)

How can I show MY resources in the calendar?

Resources are loaded in the script "Load Resources" whenever the calendar starts up.

This script looks for a value list named "Resources" and will use the contents of that list as your list of possible resources. If it doesn't find a value list with that name, it uses a hard coded list in a Set Variable () following the comment "hard coded list follows". You can also just type your resources into that calc the same way we have done our sample resources.

Note that they'll appear on the calendar in the order you list them in this hard coded list or in the order they appear in your value list.

When you integrated the calendar into your file you should have mapped a field in your events table to our "resource" on the Resources tab of your Source No 1 layout. On this layout you can pick any field from your events table to represent your "resource": be it a staff member, a piece of equipment, a room-- as long as it is depicted by a field in your events table.

Adding resource abbreviations (short names).

When trying to view a lot of resource columns it could be helpful to show abbreviated resources names. We refer to these as "Resource Short Names". You can add and edit these short names in the "Load Resources" script. Just edit the "$$sc_ResourceShortNames" variable to include a return delimited list of your abbreviated names. Please note that the order of the list is important and must match the same order as your resource list.

Changing the value list of resources.

After you change the value list of resources, run the "Upon Opening" script again to see your changes take effect.

Managing large numbers of resources.

If you have a ton of resources to manage you may want to partition the resources value list in several different lists. You can see a nice movie of this in action below.

This is also a great overview of resource scheduling in general.

https://youtu.be/AmUrKedqOLo

Here's a nice article on a similar technique: custom sidebars for DayBack calendar.

Multi-Day Resource Scheduling

Added to DayBack via an in-app update, this feature lets you scan across your resource columns on multiple days at once. Very useful for balancing your workload. Here is a quick demo:

https://youtu.be/EVObC3oTU5M

If you like the default "none" resource column, here is how to add that to your copy of DayBack: adding "none".

Multiple Resources per Event

Simply shift-click when selecting resources for an event to associate more than one resource with the event. In your resources field these multiple resources will be written as a return separated list.

You can drag an event on the Resource view from one resource column to another; when you do you'll be swapping out the new resource for the resource you dragged from. Other resources for the event remain intact.

What if I have a table I'd like to use for resources?

No problem. The calendar considers its resources from within the variable "$$sc_ResourceList" so all you have to do is populate that variable with the resource names from your table: this is probably most easily done using the List() function from a layout that has a relationship to all your resources.

If you'd like to use this method to assign your resources into the $$sc_ResourceList variable, do so by editing the script "Load Resources" and include something like this:

Go to Layout [Some layout with a relationship to all your resources.]
Set Variable [$$sc_ResourceList ; List ( Relationship::ResourceName )]
Go to Layout [original layout]

Note that you could also loop through your resource records instead of using List(). In either case, be sure to either sort your relationship (if using List) or sort your resource records (if looping) as resources will be displayed in the order they appear in $$sc_ResourceList.

You can also populate the $$sc_ResourceList variable with a SQL statement. One advantage of this is that you don't need to leave your current layout; another is that your SQL statement can include the sort order in it. If you're not used to writing SQL queries, feel free to use our (free) SQL explorer to help you write the query.

What if I'm using the ID instead of the resource name to link resources and events?

DayBack requires the name of your resource, but if you're using IDs as well you can modify the "Create Edit Delete Event.." script to add the Resource's ID into your own field (looking it up based on the name) when DayBack edits the event. Note that you don't need to keep up the abstraction used in this script once you've integrated this with your own files (ie you don't have to Set Field By Name): you know which field is used for your resource ID so just set that field.

Here's a simple example:

Though you may want to wrap your SetField in an IF that only sets this field when you're working with that particular source. =)

Can I change the field mapped to "resource" to be something else, like a "staff" field?

Yes. There are three places you'll want to make this change:

1. When DayBack writes your changes to FileMaker it uses the Source No X layout, so click on the Resources tab of that layout and switch the field mapped to "resource" to be your staff field.
2. When DayBack reads events to display them on the calendar it reads from the DBk_WebViewerSource field in your events table: the "let" section of that calc asks which field you want mapped to resource, so change the resource line to "sc_resource = Staff ;"
3. DayBack's filters also need to know which field you're using for Resources, so edit the script "Load Calendar Settings - On Startup..." and find the comment "Maps filters to fields". Change the reference to "SampleEvents::Resource" to "SampleEvents::Staff".

That's it; just remember that you need to run the script "Upon Opening" to see your changes take effect, and you'll likely want to change your Resources value list to return a list of staff =)

Unscheduled Events

Normally only events with a date will show up in DayBack, though events without a resource will show up in the none column, which is a great place to hold them until you can assign them to a resource.

But you can also get "dateless" events to show up also, seeing them on the current date until you drag them to the correct spot. Including dateless events is a simple modification and you'll find a video, example code, and instructions here.

(855) SEEDCODE
[email protected]
Follow us: