Richard Carlton: Hi, everyone! Richard Carlton here. I’m here today with Mr. Calvin Mosiman. Hi, Calvin.
Calvin Mosiman: Hey, Calvin here.
Richard Carlton: Calvin is here. He is in the office. Calvin, you might need some more caffeine. You’re looking a little flat.
So Calvin is helping us out with Starting Point and he is one of our Senior Engineers. In fact, some of you are probably customers of Calvin’s, right? Customers that Calvin takes good care of including certain companies that fly drones at the Olympics.
Anyway, so this video is about the calendar. And Calvin integrated the calendar for us and basically it was a demo that was originally inspired by a demo that Jeremy from Soliant had put together. So Jeremy kind of took this open source calendar and bolted into a copy of FileMaker and I was like, “Wow! That’s pretty cool.” And then some of my staff were talking and he goes, “Yup, boss. We already did that.” I’m like, “What?”
You remember that calendar we did like all those years ago? I go, “Yeah.” They go, “Yes!” Well, we’ve been playing with that calendar. So the short version is that there’s a company called FullCalendar, LLC. They make a web-based calendar that’s really sleek. And so, we have the link right here for you. This is actually the company.
And they really have two calendars. They have a free one which is the one that we’re building [0:01:22] [Phonetic] and they keep it up to date. In fact, you can actually see it working right here. It actually works. And in fact, you see it’s a complete demo of this application and it’s got month views, week views, day view, list view. We have all this stuff built into Starting Point. It’s all here.
Now, they actually have a paid calendar which has a lot more features in it like Gantt charting and things like that. That is something that we didn’t build into Starting Point largely because there’s licensing fees and pretty much with Starting Point, we have to start with something free. We don’t start automatically with the most expensive thing.
This is built-in. It’s ready for you right now if you have Starting Point 5.1 or greater. And so, I want to go ahead and jump over. So this is the website from the FullCalendar, LLC people. And I’m going to jump over to us here in Starting Point.
Now, I am in Preferences right now. And Calvin, you helped us build all this. So we’re going to walk through this in the preferences. So before we get into how the calendar interacts in FileMaker, I mean you already kind of know what it’s going to look like. It’s going to look a lot like this.
Let’s talk about the Preferences real quick. So, we have the new calendar. We call it the HTML Calendar. Once again, it’s going to be rendered in a Web Viewer, right Calvin?
Calvin Mosiman: Right.
Richard Carlton: And tell us about the next couple of features.
Calvin Mosiman: Yeah. So, we have the HTML Calendar and you can select whether you want to have that active or not. If you prefer the old FileMaker calendar that was built in the original FM Starting Point, you can say no to HTML Calendar and see that. But for everyone who wants the cool, new features, say yes to HTML Calendar. And that’s yes by default and that’s what you’ll see.
The next option down is the Default View. Now, a lot of calendars have different views for seeing the month, day, week, or in this case, we also have a List View option as well. And whatever you want to see when you first log in is what you’ll want to select for preference here.
So a lot of people like to see the month. I like to see the week and see what my week looks like so I’d set that to a week. The Day Range is the days before and after a focused date that the calendar will gather. Schedule the tasks to display on that calendar. If the day range is not specified, all texts will be collected. Otherwise, only tasks within the day range of the default date will be selected. To show 60 days, enter 60.
Richard Carlton: All right. So let me ask a question. So when the calendar displays, it has to gather the items that are on the calendar. And those are the to-do items. So they are basically tasks that we already have a task system in Starting Point. If I go over here and I’m on the main menu, I go to tasks. So we see this list here. Do all these tasks show up on the calendar automatically or only certain ones show up on the calendar?
Calvin Mosiman: If you look at the details on a task, there is a flag field called Show on Calendar. By default, Show on Calendar is checked. If you want something to be hidden from the calendar, you can remove that check box and hide it from the calendar. But by default, everything is going to show on the calendar.
Richard Carlton: OK, great. So I’m going to go ahead and continue here. Obviously, we have a list that’s a little bit longer than our video. I can bring this up but you can scroll through this list and get an idea that these are the items. So the items back on the Preferences is saying that it’s going to grab item 60 days in the future and 60 days in the past. So originally in the original code, that number, we only affected the things in the past because we wanted all the things in the future. So is that truly future and past, Calvin?
Calvin Mosiman: That is truly future and past. So we could change it so that everything in the future.
Richard Carlton: So back to the Preferences here, the Preferences allows us to specify the day range that this thing is going to fetch those task records. Sixty might be OK for a lot of people but if you want to see the calendar items further out in the future, you might need a bigger number. And so, 90 might be more appropriate for you. You’ll want to kind of adjust that or leave it blank and then it gets everything.
The downside to this and why this doesn’t do everything all the time is because you could actually have 50, 80, and 100 people use this calendar and if they’re all putting items in and you haven’t set all the items, it could slow the display of the counter as it tries to process everyone’s items for however many years it has data for. So, it could be a little taxing on the system so that’s why we give it a day range, 60 upfront and 60 days behind of the current date.
The next item over is the overview. And when we came in here previously, I kind of jumped through here and showed people the Calendar IO website which is a really good resource to check out. And to build this, we actually took their source code and we copied and pasted it out of the FullCalendar website, right? Is that how that works?
Calvin Mosiman: Yes. There’s a download link in their download area and that gives you a folder with all of the files that we hold the data out of to put it into our solution.
Richard Carlton: So if come over here to Calendar Options right here, it’s the next one over I say view calendar code, this is going to pop another window and this is the code that we need that drives our calendar, right? So I’m looking at all these tabs, JSFunction, HTML, CSS1 and 2. So we use all these, correct?
Calvin Mosiman: Yeah. You can see in the JSFunction field some of the settings that the calendar references to generate the display on the calendar. So if we go down and see where it says height, there is a kind of a variable there where we’re inserting the height from a FileMaker field and the same is true with the view. We’re sending that from a FileMaker field, the data 3 as well and the other options.
So we have this option here called minTime, and that’s the minimum time that we’re going to display on the calendar in the week or day view. So right now, it’s set to 6 AM as most events happen after that.
And then the maximum time is the farthest out that the calendar will display, which is set to 2400 hours which would be midnight. And you can adjust that to what is best for your schedule. But we thought this would be pretty good for most people.
The business hours highlight certain hours in the day that are going to have the most activity for you. For us, we’re setting them to 8 AM and ending at 4:30 PM. And you can change those.
DOW stands for Days of Week for the business days and it’s set for 1 through 5 which is Monday through Friday. The day number start 0 is Sunday. You can change the first day. A lot of people like a Monday for the first day. So you can change that to the number 1. Right now, 0 means it’s Sunday.
If you scroll down to slot duration defines how wide each slot is on the calendar for displaying the times. And right now, it’s set to 30 minutes. If you’ve got a really detailed schedule, maybe you want to set that to 15 minutes. And then you can change where the labels are on there and maybe you – if you’re more detailed and want to see it every 15 minutes, you can put the labels every 30 minutes.
Right now, we have a set – we see slots of 30 minutes and we’re labeling every hour. The Data1 variable that we see next to events is where we insert the Jason data that we generate from the search in the tax table. And so, that’s where that data goes.
Richard Carlton: So that’s going to be repetitive data where the found set is 12 events or 50 events or 100 events. And so that’s the found set and it’s going to generate a block of Jason for each one, correct?
Calvin Mosiman: Right.
Richard Carlton: And it’s one big string that we insert in here and then that basically gets handed off to the rest of the rendering of the calendar. And so then that’s what caused it to work.
So I’m going to go ahead and jump real quick. We will come back here in a minute if we need to but I’m going to jump real quick to the actual calendar here. So you actually can see it rendering in FileMaker. So this is once again the month view and then the week view. And once again, these are the – starts at 6 AM. You could see it starts on Sunday and it goes to midnight. That’s also 30-minute sections in here.
So once again, all highly customizable. The HTML that we were playing with just there was the part that kinds of drives the structure here but these individual items here are task records. So if I click on this item right here, this is the task record right here. It says New Task. That’s really kind of a boring title. So I’m going to go ahead and click on here and give it the name of – we have rescue kitty so I’m going to say, “Washing Fluffy the Kitty.” And the problem is, if you ever wash a cat, you need sorts of like armor to protect yourself from one pissed off pussycat.
I’m going to hit OK. Obviously, it changes it here and I’ve given myself amount of time and I can also move it around. Very cool technology. So moving it there actually sends the command back to FileMaker to update the record. Super cool technology.
We also have full support for time zones in here. What’s interesting about this is we had to work the calendar out. So on the startup script, it behaves correctly. So I’m going to go and pop open the Script Workspace so we can see how it will behave on startup. And what we try to do is make sure that FM Starting Point was smart enough to handle the calendar for a brand new installation of Starting Point where there are no users. If there are users, it’s going to try to take some settings and apply it from that specific stuff.
So what happens is if you get down here a little bit, you’ll see that it’s going to try to do a search in this staff database for the current account name that you logged in. So as people start to use Starting Point, they’re going to have a staff login that will match a staff record. Once again, we’re over here to staff database over here.
As we can see, the staff is right there. And so what happens is, is that we actually save in the staff database a couple of handy things part of the calendar. One of the biggest ones is the idea of where the calendar is located. While this video is a pretty small video, it’s a 720p video so it’s kind of high definition mostly.
Most people have screens that are much larger than high definition. So what they’ll do is they’ll put Starting Point over here and they’ll be looking at staff over here. Then they’ll have the calendar like over here off screen somewhere or they’ll have this over here and they’ll have the database over here somewhere.
And so the idea is that when they pop the calendar, it goes back to where they last had it. And you could do that in FileMaker but you have to actually code it with a script. And we have to make sure that we save those preferences on the staff record for the user.
So this is a kind of a clever trick. So basically, if you log in as admin, if there’s no match in staff records, so it’s going to give you the default calendar location. If you log in as an individual person and it successfully identifies you in the staff database then it’s going to remember where the calendar was saved on screen and it will relocate it to that position when you fire it up.
So the trick with the calendar was to make it work not only with 10 users or 100 users but also make it work with basically one user or no users because that’s the way it comes when you download it from the FM Starting Point website. So it’s kind of clever how all of this is set up.
Additional comments here is that once again, the code to make this all work frankly is pretty propeller head. It’d definitely rocket science type stuff. I’m going to go back into Preferences here. I’m going to hit the counter tab again. Once again, so basic settings here, the overview information here.
This is the code that actually renders the calendar. If you come over here and fiddle with this stuff, it’s going to break the calendar. And so, if I come over here and I start fiddling with this and I fiddle with this and I change some of that and I fiddle with this and change some of that, I fiddle with this and I change some of that, and then I’ve definitely broke the calendar.
So if I come back over to dashboard and I say, “Show the calendar” it doesn’t work. And you’re like, “What did you do?” So it’s totally broke.
We actually anticipated people playing with it not quite that belligerently but playing with it and trying to tweak it. And if you’re up by one little character somewhere, the way programming works, it could go poorly for you. So you go back to Preferences. You’re going to go over here to calendar. There is a restoration button right here.
And so, I can pop this up and show this to you. This looks like the same screen you had before but you’re looking at a backup copy of all these blocks of code. And so to restore from them, you simply press the button right here and it restores from them and it says, “Are you sure you really want to restore these things?” You say OK. And so, it writes the settings back in and voila! Everything is working again.
So you can see that you can make changes there and if you make destructive changes that you can restore from the backup. So since this is an under the hood video, you’ve seen the under the hood parts, here are the other things to consider.
One, if you come over here and monkey with the backups then you could actually cause enough of a problem that you’re going to have to go get a fresh copy at Starting Point. If you actually successfully make changes over here that you like, you should probably copy those changes and put them into your backup so you have them.
There’s only one backup. We do this just kind of a stop gap. If they deliberately go out of their way to blow stuff up then there’s only so much we could do. But the idea is that you can check the old backup code. You can save changes in there. You can restore from the backup code.
And then of course the other thing is you can download fresh code from the website, from the FullCalendar, LLC folks over here. Keep in mind that the code has been updated and enhanced. So what you’ll want to do is if you download their code, you’re going to look at the changes we’ve made specifically if you go on to view calendar. You can click in here. You can scroll down. You’re going to start to see some FileMaker-y specific kind of code in here where certain items are activated.
So when you download the code from FullCalendar IO, it’s not going to have the little upgrades that we’ve made to make this work with FileMaker. Like right here specifically, this is a URL protocol that allows the event to talk to the event in the task database. When you download this code, this would not be in here. You’re basically hosed.
So you’re going to have to look at our code and make the adjustments into the new upgraded version. We’re going to upgrade the version periodically like every six months or a year or something like that. As long as it’s working well, we’re inclined to probably leave it alone.
I know that the folks here at this website, the FullCalendar website are constantly making tweaks and adjustments and changes. For the most part, we don’t need those. So the FullCalendar IO current version is 3.8.2. I’m not sure how often they update the releases but clearly, that’s the current release at this time. And we are in 2018.
Anyway, that gives you an idea now. Now Calvin, other comments about updating the code or changing it or monkeying with the code, et cetera?
Calvin Mosiman: Most of the changes that people are click here! going to want to make are in that JSFunction fields. And making changes there is pretty easy. When you do any changes, sometimes the quotes don’t come over exactly right. So I found typing a quote in the JSFunction setting like the time zone, which is in single quotes, when I type that in, it broke everything. So I actually had to copy and paste quotes from somewhere else. So just be careful when you touch that.
If anything else happens, you could always restore from that backup like Richard showed you.
Richard Carlton: So as you can see, this gives you a pretty good idea of the calendar. If you’re checking out the videos in our pro video course, you’re going to see that probably the old calendar videos are still in there. We’re going to leave them in there for a while but until we get to the point where we really deprecate the old calendar and kind of remove it entirely.
For the time being, we’re kind of hedging our bet clearly. I think it’s great. We’ve had this calendar and put it into a number of our internal systems at RCC. The staff are all using this. They love it. So it’s good for scheduling and knowing when there are meetings and scheduling training sessions or coaching sessions, all sorts of stuff. You can do some pretty elaborate things with it.
So that covers it. I want to say thanks to Calvin for doing a great job in building [0:17:20] [Phonetic] this new technology in FM Starting Point.
Calvin Mosiman: It’s great to bring a really sharp looking calendar into the FileMaker platform, something that we can really use and it’s easy to implement and start using every day.
Richard Carlton: And of course, if you need additional customizations or you want to work with maybe the other calendar and get some additional capabilities, you can always contact Calvin. He’s part of our team and he can help you probably for some sort of inducement but he will help you and get you set up. As always, we offer those services.
So Richard Carlton, I’ll catch you in the next video.
If you have any questions or are interested in the coaching program please send an email to RCC Support
Feel free to check out our training video courses at LearningFilemaker.com
and make sure you grab a copy of our free, fully unlock solution FM starting point at FM Startingpoint.com