Hello. I recently signed up for the Entire University Bundle and right away in my welcome email there was a link to these calendar Add-on videos. I was elated because I've been deeply wanting a solution that would allow us to have a calendar that interacts with Filemaker/Claris Pro for our production due dates! Your work orders video has been amazing in teaching me the steps to help develop this for our use. I've stumbled across two obstacles that are keeping me from feeling like this will work for us. The goal is to have this calendar displayed on a variety of large displays in production for staff to reference throughout the day/week with no direct interaction with the calendar itself. 1) I want to basically update all of these calendar events by interacting with our "Job Tickets" layout. The only part that I can't get to work is to refresh the calendar when committing a record in the related layout. I tried to borrow the section of the script for the event card close button that refreshes the calendar and assigned that to my script that is set when committing a couple fields related to the calendar. That didn't work. I'm not an advanced FM developer so I was grasping for anything. ;-) 2) When I click into the empty space on the calendar days, it is creating a new blank record in my "Job Tickets" database. I definitely don't want that to happen. Is there a way to disable the ability to create a new "calendar" event when clicking into the day field on the calendar? I hope to hear back from you. Thank you!!
Hi @Chad Banning, Thank you for signing up for our University Bundle! Allow me to address your questions. For performing an update/refresh on the layout, you can do this in a couple of different ways: by setting up an OnTimer script to run the “FCCalendar Refresh” script, or by using a layout script trigger to perform the refresh script on record commit. It sounds to me, based on your description, that you’re using an on-commit script trigger. One thing that the “FCCalendar Refresh” script also requires is a script parameter indicating the calendar addon’s UID. So, to accomplish the setup and get the calendar to refresh whenever a record is updated, you should do the following: 1) Edit the layout and open up the calendar web viewer definition to get the “AddonUID” value; copy this value. 2) Modify the layout setup’s Script Triggers to run the “FCCalendar Refresh” script on record commit, with the script parameter of the Addon UID you copied. 3) Save the edits. For the second issue, you could try modifying the “FCCalendar Events” script, which handles all of the events submitted by the Calendar add-on, such as clicking on the calendar days, to “ignore” when the “EventClick” event is submitted. This might be a bit tricky, however, so we would recommend trying it out on a localized and non-production environment, just to ensure that the functionality behaves as you want it to before you make it ‘live’ for all of your users. You can, of course, reach out to our support team for further assistance, including in-depth developer assistance to help you with your development needs. Thanks! PCIPal
Is there any way to edit the font style and size of the actual calendar layout? I haven't been able to figure out how to get to the actual full layout and scale it up. Thank you for everything you do!!
Hello @Cabarojo - great question. The quick answer is no. Defining font size and type are not available "easily" with how it's currently implemented. All of this code is embedded in a giant string of text (not meant for human consumption). Because of this, we had to roll our own calendar that works the same way but also gives us options to specify font and other granular details. To do this, we use the same toolbox used by Claris to build the calendar add-on. You can find the toolbox here: fullcalendar.io/ At this time, we don't make our internal solution available for sale. If you were to take the plunge and use the free "fullcalendar.io" as a foundation for your calendar, the journey is long and hard if you don't know JavaScript or more importantly, how to incorporate JavaScript into a Claris FileMaker solution. But that's what we do on this for our vertical market solutions that require a calendar. Optionally you may have interest in a ready-made version that works like this from Richard Carlton Consulting here: marketplace.claris.com/detail/385.html We're pretty sure they've broken this out in a way that allows for the use of your own custom fonts. You can check with them for more details. We're not entirely sure if they are using the latest/greatest tools from fullcalendar.io or not, but their kit provides far more options to adjust settings than the built-in add-on does. As you can see, either the option to roll your own fullcalendar.io implementation or incorporating the kit from Richard Carlton Consulting will take effort and expertise. So, at this point, you have to weigh the benefits of going in that direction or not. FYI: We are possibly considering a course on this in the future available at Productive Computing University, which may, in fact, include a "kit" as part of a paid course enrollment. But we're not there yet as we have to finish all our Claris/FileMaker traditional training first. If such a course would be approved on this end, you can expect it late 2023 or early 2024. Best of luck with this one!
@@ProductiveComputing that may work for my timeframe. I'll keep an eye out! Thank you so much for taking the time to respond so thoroughly. Have toyed around with FileMaker in the past; however, never really dug in to build a solution I've had in mind for 15+ years. Finally decided to stop appealing to executives and just make the dang thing on my own. 3+ months in on design and I'm having the time of my life learning. Thank you for helping me along the way!
Love this story - thanks for sharing that! Most of the developers we run across have a similar story in that they needed a solution and just decided to "build it themselves," and voila, a new developer is born. There are not many platforms that you can do that with today. The great thing about the Claris platform is the fact that it's easy to start and build something simple right away. Then, as your needs change and expand, there is plenty of runway to build upon (almost no limit). Continue to enjoy the platform and stay tuned for more. Also, wanted to point out that there are free (and paid) courses available at www.ProductiveComputingUniversity.com if you haven't already checked that out. 👍
Hi. Mark. Great video! Two burning questions for you or your bro: 1) When you click into calendar (e.g., any day in Month view), the Event card window that comes up natively behaves in ways I hate (such as auto-entering the Start and End date 24 hours apart and the Start and End times 30 minutes apart). I created my own Event layout (as you had suggested in your prior video about work orders), but this still occurs whenever I click inside the calendar. What could be changed in Claris' native scripting to clear out their auto-entered values ? (PS: If I use the Add "+" button to trigger my card window, no problem- the above behavior doesn't occur). 2) In reference to your video about work orders, if the Calendar layout and the Work Order layout are tied to the same Work Order table, will that slow the rendering of the calendar or even balloon the file as more records get added? Would having a dedicated table for Work Orders be advantageous or am I over-thinking? Thank you!!
Hello @Cockeyed Optomist thanks for your questions: 1) The values for this are originally set in the HTML which isn't an editable area of the add-on/solution. You have a couple of ways to do this and one is easier than the other. Option 1: (Slightly harder). Go to the script: "FCCalendarEvents" and have a look at line 150. This is where the values are set. You could add another script step to "replace" your values in the JSON with the ones that are already there. So, you'll be adjusting the "$params" value. A basic working knowledge of manipulating JSON is required to do this. (FYI We teach basic JSON in our course called: "API Fundamentals for FileMaker Developers" www.productivecomputinguniversity.com/courses/API-fundamentals-for-FileMaker) Option 2: (Easier and doesn't require JSON adjustments). Go to the script "FCCalendar Add Event" script and adjust the values as needed starting at line 37. 2) You are not overthinking it too much. In fact, more developers should think like this! The way the calendar gathers the data for display is very efficient. Claris/FileMaker is very quick at finding data too in this case. So, I think you're good to have both reference the same table. And by doing that I think it reduces the complexity introduced when you work with separate tables. However, a robust work order solution can get crazy complex and includes lots of records. The key here is to keep the layout used for the calendar with only the minimum required fields. Then keep your work orders data entry layout however you want it to be. I think you'll find this will keep things running quickly with the way that this add-on is designed. In other words, you don't have to fret about having two tables. Keep everything in the one work orders table. Now, one exception to this is if you want the calendar to display records independent of the work orders table (like a company-wide events calendar co-mingled with your work orders data). In this case, you might need to rethink things and keep separate tables on that. However, even talking about this is a bit of a Pandora's box in the context of this UA-cam comment. Keep up the good work! 👍🏻
@@ProductiveComputing Mark, thank you for generous reply! I will cruise back over to your website and check out the offerings. I'm hoping coaching is offered as well. I do want to support what you guys do over there. One thing I forgot to say in regards to my second question was if you used two tables, the calendar could be put on a layout with 0 records and it seems to work fine that way! That's gotta count for something, right? Keep up the great content!
Thanks for the support! Regarding your other comment. Yes, good observation that the calendar can in fact be put on a layout totally unrelated to the table it's referencing. Other add-ons (such as the bar code generator) need to have their referenced fields on the same layout for that one to work.
Excellent, thank you, one quick question. I currently use the trail version of the filemaker. I can not see the Tools button so I can not use the debug tool. To be able to use the debug tool, what should I do?
Yes, Sorry I didn't mention that in the video. But you've just unlocked a great feature. (In the old days, you used to have to buy a separate FileMaker version to have the debugging tool option). They now included it in the one product but leave it off by default when you first install it.
Hi. about language & localizations. If I need this calendar in spanish, french, etc ... easy to change the buttons but how I can do that in days of week, month names, reformat dates, etc? How can I pass to the JS.. var initialLocaleCode = 'es', for example?
Hi and thank you for watching. Unfortunately, there is no easy answer to your question. There has been some discussion on the Claris forum regarding modifying the date format and specifically to the FLL Callendar Add On where the data format can be changed from one language to another. Check out this link: community.claris.com/en/s/question/0D53w00005E2hkZCAR/how-to-modify-date-format-in-calendar-addon
@@ProductiveComputing Thank you for your quick response!! Your link show me the way to manage localization in this calendar add-on. You must edit in FCCalendarAddon::HTML field. Just search : case"English":default:return"en" susbtitute the last 2 letters ( localization) to the one you want to use.. that does the trick! So spanish: case"English":default:return"es" french: case"English":default:return"fr" and so on...
how should i jump from one year to another in filemaker addons , for example if we want to go from 2022 to 2021 then there should be an option to go directly and not clicking the months again and again
Hello Sayak - Great idea! Well, it appears that to jump up and down a year would require getting into the embedded JavaScript, which is not really "human accessible" based on how the add-on is created from what we can tell. It's all buried inside the code, which we think originally came from calendar.io. So, no easy way to do this - sorry! We have future plans to perhaps explore this more to see what can be done for this and other things people have been asking about.
Hello @Ruben Dario Orozco Yes there is a limit to the event range (sort of). The add-in has been pre-programmed to limit the date range both before and after the month /week/day you are displaying. We assume this was done for performance reasons. The issue appears only when trying to display events that span a wider range of dates where it falls outside the default query criteria built into the add-on. If you know how to manipulate JSON, you can adjust the query range to be wider by overriding the "$data" variable created on line 18 of the "FCCalendarFind" script. You'll see that when this variable is parsed, it has a limited date range. You can simply widen it by adding an additional script step to set the variable $data with a date range that includes more dates. You can see this with the keys for DateStart and DateEnd in the JSON. * Note, by removing the date range in the search like this, it could negatively impact performance if you have lots of events over a wide range of dates.
Hello. I recently signed up for the Entire University Bundle and right away in my welcome email there was a link to these calendar Add-on videos. I was elated because I've been deeply wanting a solution that would allow us to have a calendar that interacts with Filemaker/Claris Pro for our production due dates! Your work orders video has been amazing in teaching me the steps to help develop this for our use. I've stumbled across two obstacles that are keeping me from feeling like this will work for us. The goal is to have this calendar displayed on a variety of large displays in production for staff to reference throughout the day/week with no direct interaction with the calendar itself.
1) I want to basically update all of these calendar events by interacting with our "Job Tickets" layout. The only part that I can't get to work is to refresh the calendar when committing a record in the related layout. I tried to borrow the section of the script for the event card close button that refreshes the calendar and assigned that to my script that is set when committing a couple fields related to the calendar. That didn't work. I'm not an advanced FM developer so I was grasping for anything. ;-)
2) When I click into the empty space on the calendar days, it is creating a new blank record in my "Job Tickets" database. I definitely don't want that to happen. Is there a way to disable the ability to create a new "calendar" event when clicking into the day field on the calendar?
I hope to hear back from you. Thank you!!
Hi @Chad Banning,
Thank you for signing up for our University Bundle! Allow me to address your questions.
For performing an update/refresh on the layout, you can do this in a couple of different ways: by setting up an OnTimer script to run the “FCCalendar Refresh” script, or by using a layout script trigger to perform the refresh script on record commit. It sounds to me, based on your description, that you’re using an on-commit script trigger. One thing that the “FCCalendar Refresh” script also requires is a script parameter indicating the calendar addon’s UID. So, to accomplish the setup and get the calendar to refresh whenever a record is updated, you should do the following:
1) Edit the layout and open up the calendar web viewer definition to get the “AddonUID” value; copy this value.
2) Modify the layout setup’s Script Triggers to run the “FCCalendar Refresh” script on record commit, with the script parameter of the Addon UID you copied.
3) Save the edits.
For the second issue, you could try modifying the “FCCalendar Events” script, which handles all of the events submitted by the Calendar add-on, such as clicking on the calendar days, to “ignore” when the “EventClick” event is submitted. This might be a bit tricky, however, so we would recommend trying it out on a localized and non-production environment, just to ensure that the functionality behaves as you want it to before you make it ‘live’ for all of your users.
You can, of course, reach out to our support team for further assistance, including in-depth developer assistance to help you with your development needs.
Thanks!
PCIPal
Is there any way to edit the font style and size of the actual calendar layout? I haven't been able to figure out how to get to the actual full layout and scale it up.
Thank you for everything you do!!
Hello @Cabarojo - great question. The quick answer is no. Defining font size and type are not available "easily" with how it's currently implemented. All of this code is embedded in a giant string of text (not meant for human consumption). Because of this, we had to roll our own calendar that works the same way but also gives us options to specify font and other granular details. To do this, we use the same toolbox used by Claris to build the calendar add-on. You can find the toolbox here: fullcalendar.io/ At this time, we don't make our internal solution available for sale. If you were to take the plunge and use the free "fullcalendar.io" as a foundation for your calendar, the journey is long and hard if you don't know JavaScript or more importantly, how to incorporate JavaScript into a Claris FileMaker solution. But that's what we do on this for our vertical market solutions that require a calendar.
Optionally you may have interest in a ready-made version that works like this from Richard Carlton Consulting here: marketplace.claris.com/detail/385.html We're pretty sure they've broken this out in a way that allows for the use of your own custom fonts. You can check with them for more details. We're not entirely sure if they are using the latest/greatest tools from fullcalendar.io or not, but their kit provides far more options to adjust settings than the built-in add-on does.
As you can see, either the option to roll your own fullcalendar.io implementation or incorporating the kit from Richard Carlton Consulting will take effort and expertise. So, at this point, you have to weigh the benefits of going in that direction or not.
FYI: We are possibly considering a course on this in the future available at Productive Computing University, which may, in fact, include a "kit" as part of a paid course enrollment. But we're not there yet as we have to finish all our Claris/FileMaker traditional training first. If such a course would be approved on this end, you can expect it late 2023 or early 2024.
Best of luck with this one!
@@ProductiveComputing that may work for my timeframe. I'll keep an eye out!
Thank you so much for taking the time to respond so thoroughly. Have toyed around with FileMaker in the past; however, never really dug in to build a solution I've had in mind for 15+ years. Finally decided to stop appealing to executives and just make the dang thing on my own.
3+ months in on design and I'm having the time of my life learning. Thank you for helping me along the way!
Love this story - thanks for sharing that! Most of the developers we run across have a similar story in that they needed a solution and just decided to "build it themselves," and voila, a new developer is born. There are not many platforms that you can do that with today. The great thing about the Claris platform is the fact that it's easy to start and build something simple right away. Then, as your needs change and expand, there is plenty of runway to build upon (almost no limit). Continue to enjoy the platform and stay tuned for more.
Also, wanted to point out that there are free (and paid) courses available at www.ProductiveComputingUniversity.com if you haven't already checked that out. 👍
Hi. Mark. Great video! Two burning questions for you or your bro:
1) When you click into calendar (e.g., any day in Month view), the Event card window that comes up natively behaves in ways I hate (such as auto-entering the Start and End date 24 hours apart and the Start and End times 30 minutes apart). I created my own Event layout (as you had suggested in your prior video about work orders), but this still occurs whenever I click inside the calendar. What could be changed in Claris' native scripting to clear out their auto-entered values ? (PS: If I use the Add "+" button to trigger my card window, no problem- the above behavior doesn't occur).
2) In reference to your video about work orders, if the Calendar layout and the Work Order layout are tied to the same Work Order table, will that slow the rendering of the calendar or even balloon the file as more records get added? Would having a dedicated table for Work Orders be advantageous or am I over-thinking?
Thank you!!
Hello @Cockeyed Optomist thanks for your questions:
1) The values for this are originally set in the HTML which isn't an editable area of the add-on/solution. You have a couple of ways to do this and one is easier than the other.
Option 1: (Slightly harder). Go to the script: "FCCalendarEvents" and have a look at line 150. This is where the values are set. You could add another script step to "replace" your values in the JSON with the ones that are already there. So, you'll be adjusting the "$params" value. A basic working knowledge of manipulating JSON is required to do this. (FYI We teach basic JSON in our course called: "API Fundamentals for FileMaker Developers" www.productivecomputinguniversity.com/courses/API-fundamentals-for-FileMaker)
Option 2: (Easier and doesn't require JSON adjustments). Go to the script "FCCalendar Add Event" script and adjust the values as needed starting at line 37.
2) You are not overthinking it too much. In fact, more developers should think like this! The way the calendar gathers the data for display is very efficient. Claris/FileMaker is very quick at finding data too in this case. So, I think you're good to have both reference the same table. And by doing that I think it reduces the complexity introduced when you work with separate tables. However, a robust work order solution can get crazy complex and includes lots of records. The key here is to keep the layout used for the calendar with only the minimum required fields. Then keep your work orders data entry layout however you want it to be. I think you'll find this will keep things running quickly with the way that this add-on is designed. In other words, you don't have to fret about having two tables. Keep everything in the one work orders table.
Now, one exception to this is if you want the calendar to display records independent of the work orders table (like a company-wide events calendar co-mingled with your work orders data). In this case, you might need to rethink things and keep separate tables on that. However, even talking about this is a bit of a Pandora's box in the context of this UA-cam comment.
Keep up the good work! 👍🏻
@@ProductiveComputing
Mark, thank you for generous reply! I will cruise back over to your website and check out the offerings. I'm hoping coaching is offered as well. I do want to support what you guys do over there.
One thing I forgot to say in regards to my second question was if you used two tables, the calendar could be put on a layout with 0 records and it seems to work fine that way! That's gotta count for something, right?
Keep up the great content!
Thanks for the support! Regarding your other comment. Yes, good observation that the calendar can in fact be put on a layout totally unrelated to the table it's referencing. Other add-ons (such as the bar code generator) need to have their referenced fields on the same layout for that one to work.
@@ProductiveComputing Thanks!
Excellent, thank you, one quick question. I currently use the trail version of the filemaker. I can not see the Tools button so I can not use the debug tool. To be able to use the debug tool, what should I do?
Hi, I found the debug tool. I need to chose "use advanced tool" in the preferences.
Yes, Sorry I didn't mention that in the video. But you've just unlocked a great feature. (In the old days, you used to have to buy a separate FileMaker version to have the debugging tool option). They now included it in the one product but leave it off by default when you first install it.
Great! And I see you already figured that out as indicated in your other comment. Best of luck!
The video is very clear. I dont speak English, but I was able to understand everything clearly
Thank you for your comment and for watching Ruben!
Hi. about language & localizations.
If I need this calendar in spanish, french, etc ... easy to change the buttons but how I can do that in days of week, month names, reformat dates, etc?
How can I pass to the JS.. var initialLocaleCode = 'es', for example?
Hi and thank you for watching. Unfortunately, there is no easy answer to your question. There has been some discussion on the Claris forum regarding modifying the date format and specifically to the FLL Callendar Add On where the data format can be changed from one language to another. Check out this link: community.claris.com/en/s/question/0D53w00005E2hkZCAR/how-to-modify-date-format-in-calendar-addon
@@ProductiveComputing Thank you for your quick response!! Your link show me the way to manage localization in this calendar add-on.
You must edit in FCCalendarAddon::HTML field.
Just search : case"English":default:return"en"
susbtitute the last 2 letters ( localization) to the one you want to use.. that does the trick!
So spanish: case"English":default:return"es"
french: case"English":default:return"fr"
and so on...
Excellent! @tubetoni2 Thanks for providing the details here, and continue to enjoy Claris FileMaker and working with the Add-on!
how should i jump from one year to another in filemaker addons , for example if we want to go from 2022 to 2021 then there should be an option to go directly and not clicking the months again and again
Hello Sayak - Great idea! Well, it appears that to jump up and down a year would require getting into the embedded JavaScript, which is not really "human accessible" based on how the add-on is created from what we can tell. It's all buried inside the code, which we think originally came from calendar.io. So, no easy way to do this - sorry! We have future plans to perhaps explore this more to see what can be done for this and other things people have been asking about.
Is there a limit to the duration of an event? I have seen that when an event lasts more than 38 days it disappears from the calendar.
Hello @Ruben Dario Orozco Yes there is a limit to the event range (sort of). The add-in has been pre-programmed to limit the date range both before and after the month /week/day you are displaying. We assume this was done for performance reasons. The issue appears only when trying to display events that span a wider range of dates where it falls outside the default query criteria built into the add-on.
If you know how to manipulate JSON, you can adjust the query range to be wider by overriding the "$data" variable created on line 18 of the "FCCalendarFind" script. You'll see that when this variable is parsed, it has a limited date range. You can simply widen it by adding an additional script step to set the variable $data with a date range that includes more dates. You can see this with the keys for DateStart and DateEnd in the JSON.
* Note, by removing the date range in the search like this, it could negatively impact performance if you have lots of events over a wide range of dates.
@@ProductiveComputing
Thank you very much. I will follow your instructions
Sounds good. Let us know how it goes if you can Ruben
@@ProductiveComputing
I use the same calendar for 2 different tables: Machines and OP. I added the following statement to change the $data variable:
Let ( [
~~actualtable = Get (LayoutTableName) ;
// take 6 months previous
~~startdate = Get(CurrentDate ) - 180;
~~startdate = ">=" &Year ( ~~startdate ) & "+" &Right ( "00" &Month ( ~~startdate ) ;2 ) & "+" &Right ( "00" &Day (~~startdate ) ; 2 ) ;
//take 12 months after
~~enddate = Get(CurrentDate ) + 365;
~~enddate = "
@@007ruboro thank you for sharing that with us. Glad that it works!