FileMaker Beginners Training
Contact us at support@rcconsulting.com
(805) 946-6552
FileMaker Beginners Training
Hello everyone welcome to tuesday of an awesome broadcast about the filemaker platform we're working to train everyone on being awesome filemaker developers to make awesome solutions specific to you which is great your customers need you to make great filemaker solutions and to help you do that we are talking to jesse barnum over these four days where we're talking about awesome stuff in fact that's his smiling mug right there on screen so what i'm gonna do he's muted for the moment which is awesome i'm gonna move him out of the way welcome to day two uh filemaker and the enterprise right and we got jesse barnum here which makes things a lot easier because without a solution like fm starting point without a product like 360 works mirrorsync getting to the enterprise is really hard right so um so let's talk about day uh today's day two this broadcast is brought to you by fmtrain. tv where we create great training curriculum and we really appreciate all the
people who support it all the people come here on a daily basis they buy the training they help support the channel because really um um yeah i mean this is it's like this is the money we got from claris to do the broadcast right no that's not it they actually give me they actually yeah it's like you know you you would think there'd be at least like happy smart thoughts and smiles and stuff but we just like look at each other [Laughter] so for those of you senior developers out there in the community yeah you know that is so anyway uh the uh the broadcast is not sponsored by anyone um but it is uh funded by people like you so definitely check out our file maker training at fmtrain. tv now keep in mind we do have upcoming broadcasts if you go to fmtrain. tv you can click down the live tab come down and see the upcoming scheduled broadcast we are broadcasting every
day at one o'clock pacific time the content varies between beginner and super ninja advanced which it gets to a point where i can't even do it it's like super advanced right and so i bring in people who are much smarter than i and i can sit there and learn with you and everyone else right pretty cool so once again this week is about the enterprise um really cool stuff i think is very important stuff but that's because claris is starting to position the product as an enterprise product right and really the only way to get to the enterprise right now is with jesse if you if you want to go to the enterprise you need jessie or you need you know a spare two or three hundred thousand dollars and a lot of time on your hands so um but jesse cuts the corner makes it easy for an amazing amazing low price and so let's talk about uh well we're almost to the amazing low price
but we are broadcasting in high definition 1080 to both youtube twitch and discord i'm going to press the button over here to make sure i bring it up on youtube so jesse will be talking whoa i hear myself talking hush so that's what i was about to say is that i am going to be monitoring twitch and youtube and discord because there's all these conversations going on discord is more for the people who are kind of returning people who come in all the time there's like people who want to learn ongoing not just kind of the enterprise stuff and so we'll post an invite over to discord for you in fact once they're on twitch already i'll copy and paste that over to uh in fact brederman if you can go to discord and copy and paste well you can't do it either right i have to log into youtube but youtube doesn't trust anyone to actually uh put anything in because people start to put not
safe for work photos into the broadcast which is uh can get a little exciting a little racy right so uh so i've got the twitch youtube and discord going excellent uh moving down the line so once again if you want to help sponsor or support the broadcast we recommend that you check out our training we have these great um training bundles right here if you look in your right there they're that way right so um we have a training bundle with comp which includes special versions of fm starting point all our training training and a full copy of filemaker pro 19. um and you can get that or you can get the video only training if you're looking for a devcon discount which we're starting to run now because we're just weeks away from devcon you can go to you can get that and get a double double deal right if you go to in and out get a double engaged burger you basically get two
basically for a really low price and so you go to that link right there we will copy and paste that link bitly and forward slash fm double now jesse also has his own amazing photo right this is jesse at 360 works with his team of awesome developers once again um i don't yeah i don't think that the the filemaker community would be what it is without a couple vendors like jesse that really make mission critical products and so jesse has a deal right now if you want the software that you were talking about today you need to go to 360works. com and you're going to i guess you could press the filemaker forward sync down there but the promo code you need is rcc live 2020. so this is 15 percent off of mirsync um which is that this is a considerable saving this is at least 150 well probably 150 bucks off it depends on the licensing of what you're doing with mirrorsync they
have kind of different tiers and stuff but um someone be like you know oh i can't afford mirrorsync okay but then you can afford to spend two months of work trying to write your own sync solution right so we had people yesterday um we had some very senior filemaker people in the community they said oh yeah we would never want to write our own sync solution it's just a bit better to pay the thousand two thousand dollars to jesse to get the software that just does it automatically so way way better jacob taylor jacob taylor are you there yes sir okay so give us our our news issue that we ran into we have this uh it brought to my attention i missed the memo last week but there's basically this really gnarly exploit for windows that just popped out and i'm trying to figure out well did you post that the engineering thread or where'd you post that too i i emailed it out to the
company actually okay well here it is right here so this is the uh um the thread right here so i got it on screen right now you want to give us the the 60 second summary of this exploit and the fact that if you have a windows server especially if it's not on amazon uh especially so you need to get it patched do you want to run through that real quick yeah um the very short version of it is they found a an exploit in the the dns lookup system or the dns server system of windows uh specifically and uh it's remotely exploitable and so for sort of obvious reasons that's a huge issue i think it's probably a bigger risk if you have on-premise servers or something like that mainly because that page that richard actually has up there is the original research where the the the people at the company that figured this out found it um and they they sort of point out
that uh you can take over the entire windows server uh via a basically a finely crafted you know someone looks up a domain on the on the server that response comes back with that ip address um you can stuff some extra stuff in there and then you just have control over that windows domain server right and that's a huge issue for any enterprise absolutely massive and so the very short version of that long description is you need to do your windows updates asap if you have not done them and so if you're if you have windows desktop computers or something like that hopefully they're on automatic but for servers that may not be uh you just want to jump in there as soon as you possibly can and apply the latest set of patches they they came out last tuesday um the reason we're sort of throwing up the flag on this is because microsoft took the somewhat unprecedented step of um like sending a push
notification to all of the people who pay microsoft for platinum whatever uh you know lots of dollars per year for support from microsoft directly they sent push alerts to all of those people's phones telling them hey you need to install this month's windows updates asap um and that they've never done that before and so we're i'm interpreting that loud and clear signal as a loud and clear signal yeah we need to install today so okay cool and then amazon does try to block this traffic already from even getting in but um yeah i assume that they would take something like that seriously and they might apply it's possible that they will apply mitigations to it um i i personally at least assess it as a little bit lower risk obviously you should just still do it as the short version yeah yeah it's a little less time critical um because they'd have to mess with amazon to get this done on the amazon servers
and i mean maybe you can do that but that's it's just a hard task basically it's a little harder than messing with some small business or something like that all right so i'm gonna pivot away from this jacob thank you for your input uh i'm gonna recommend you go ahead and mute if you want to hang or not that's fine with me i'm going to activate jesse so we're going to break the glass and activate super jesse jesse are you there hello i figured out how the mute button works okay there you go yeah you had it backwards yesterday um i almost got a walker and a wheelchair in here for you because you're like too old to use a mute button and i'm like [ __ ] [Laughter] he can code amazon up his ass but he can't use slack so i don't know i think that's fair i think that's fair all right so show your screen uh what are we so like can
we recap briefly yesterday so yesterday we laid the groundwork once again i want to welcome alexi uh back um also uh uh dwayne mossy is uh hanging out too all sorts of lurkers from the filemaker community that are hanging out here jay dripper there and reno we're not doing any adjudication obviously uh paris is here from your team i saw her show up so a lot of people here so what are we looking at jesse and why do i care what are we doing here yeah so um well first of all uh and then i want i'm gonna move yeah there we go move my yeah you're good i just they can see this let's just keep it out of the way down there yeah so um i just wanted to to first of all reinforce something that you were saying richard which is i love getting questions while we're presenting the stuff so please you know if you guys any questions you want to put in
uh you know i've got some people from my staff on rich has got people from his staff on and it just makes the presentation a lot more interesting especially for those of you who are here live while we're doing it uh you know feel free to jump in with anything you got because i i always find that that makes the demo more interesting rather than just me kind of doing a can thing so um so yeah keep the questions coming um alexia i saw was your birthday today so happy birthday and uh uh let me so moving on i think what we wanted to talk about today was the actual installation process what you're looking at by the way i uh this isn't really part of the presentation but it's more interesting than just a green background screen uh this is the mirrorsync configuration client this is the the application that gets installed it's a desktop app you double click it uh and you connect to the
server that mirrorsync is running on to configure the sync and to monitor it and see how it's going as you can see right here uh i've got uh my my hub server is this address right here that's our northern california server and then my spokes are uh b which is northern virginia and c which is ireland i've got it set to auto sync every five seconds something that uh oh can i can i'm gonna stop so can you before you start installing stuff can you explain i mean right now verasync is this vaporous magical box of unicorn dust or some crap so what what is this and where does it go and yeah and so you're and so where is d on here we're not do we're going to do d today's that we're doing the the 101d that we're doing you want to do that d is mumbai should we do that today uh well today yeah and then australia today was mumbai and tomorrow's australia right
that was yeah let's let's get started okay okay so but but explain to us where is the sinking going on right i mean i don't i need to like from a structural standpoint where's the software go uh i mean if i had one server it'd be pretty obvious it's on that one server i guess right but if we have four servers or eight servers where is mir sync i mean this is part of a service that's running on this machine is that what we're doing right here yeah when you run the mirrorsync installer that you can download from our website it installs as a background service that's either on windows or mac you can also install it on linux it's a little bit more kind of you're on your own a little bit with linux to set it up as a service um but uh but yeah it installs as a background service if i were to quit this application right now it would not stop the sync from
running this this application that we're seeing right here is just uh it's very similar to like the filemaker server admin console okay that's the way that i interact with the mirrorsync server so it's a mirrorsync admin console it's exactly it is a mirrorsync admin console mac it's mac i like it i got a new acronym mac time for some mac baby all right i'm making notes here mac got got it got it got it yeah being serious okay um but but that's exactly what it is uh you know just like when you log out of the filemaker server admin console filemaker server's still running when you log out of this mirrorsync is still running i could reboot the box that mirrorsync is running on and not even log in to that machine as a user and it would still be running and syncing in the background as a service so so this goes on our one of our filemaker servers could it go on a non-filemaker server
it could yeah um so mirrorsync it's it's a uh it's a tomcat web application and so you can install anywhere that tomcat can run tomcat can run on virtually any device people have installed tomcats on like cameras and portable phones and stuff like that we actually have um uh just reminded myself of a really cool use case uh marty thomason uh if you guys have been to devcon you might have heard andy lecates when he gets up on stage to talk about kind of cool ways that filemaker's helping our world and our community he'll he'll often bring up marty thomason's uh project youth with a mission where they get on a hospital ship and they go around papua new guinea and they do um kind of they go to these tribal villages and they do medical stuff for them and marty's using mirror sync to sync between the devices that they take into the village with them and a filemaker server that sits onboard their hospital
ship which is parked off the shore uh but the really cool thing i mean that's cool but the thing that's really cool is that marty actually brings a mirror sync server with him that he runs on a raspberry pi uh and if you're not familiar with what a raspberry pi is it's basically like a little 35 dollar bare piece of silicon that you can hook a keyboard and mouse up to if you want and program stuff in so he's installed linux on that raspberry pi and he's installed mirror sync on it as well so they'll just like sit that on a piece of on a stone or something like that with a battery sit it on a table or a rock or wherever they put it and that has wireless access and all of their devices sync up to that raspberry pi and then they take that back on the ship with them and sync it up to the main server uh so yeah mirror sync will run
on virtually anything but the installers that we ship with it are designed for windows and mac okay cool okay so then so then we so if we have three servers right now we did we installed mirrorsync on one server or do we sell it on all three and why so the only one that is necessary to install them is one machine and typically most people will install that on on the hub uh mirrors when you create a new mirror sync configuration you designate one server as the hub and sometimes it's a little bit ambiguous about which server you want wow i just saw lightning outside like really close yep that's like a quarter mile away okay well if i suddenly disappear you know why okay uh so um yeah you'll typically install mirrorsync on filemaker server which is the hub which is kind of like where most of your users connect to my kind of rule of thumb for which machine to make the hub is
that if you have multiple servers if you're going to delete all of them except for one and then make a copy from that one to the others which one would be the one that you keep and then that's your hub okay so so we only have to install it really on one server it only has to be installed on one server uh installing on all the servers gives you some nice optional benefits basically what we can do when you have mir so the filemaker server admin console does not have the ability to upload and download filemaker databases the data the admin api does not have the ability and i've asked and asked and asked but it's not in there uh so if we want to transfer files between filemaker servers we have to do it using some mechanism other than what filemaker gives us out of the box so that's what you install mirrorsync on the other servers for so we've installed mirrorsync on all of our servers
not because it's necessary but because it allows us to automatically move our file from the hub to those spoke servers without needing to go into the filemaker server admin console close the database download it then connect with the admin console to each spoke upload it and host it okay so i'm going to interrupt right here because you're hitting on a topic there's numerous questions going on across the line here and they're they're asking about this so you basically for synchronization if all you care about literally is that you're going to set up the files and they're going to talk and they're going to sync you only need it on one machine that's one yeah you're going to if you're going to move the files around yourself then you'll need it on one machine but but almost no one wants to do that so basically we're saying that you don't have to put on other machines but you really need to because that way because and we're going to
demonstrate this probably tomorrow is we're going to post a new file and it's going to push out we could do it today it's a small file we'll do it today but we but we're going to up update the size of the database so it's nice and fat for tomorrow like right and so the idea is more enterprisey size and uh and so but today we can show that you could change change in layout change a script change something make a note and then what it'll do is it'll push that out to the servers automatically and then sync and turn them on and sync it's really it's cool so while he says it's kind of optional it's really not optional you really want it okay so so that's an important thing now mr scott i'm not sure what your mr scott this is because i know like four mr scott's says would it be considered best practice for performance to have a dedicated device server for the
mirror sync so as not to place the actual load on the actual filemaker server sorry could you read it one more time the short version is is are there performance consequences for sticking this stuff here on your filemaker server because if this is if this is busy and server's busy then they're too busy for one machine and then you got a problem so uh if performance is critical then yes i would recommend putting mirrorsync on its own separate box when mirrorsync let's say somebody most operate like you can see right now this sync is running every five seconds and it usually takes about four to five seconds to finish there's no changes happening um and the vast majority of that time is initiating connections to the servers around the world and each server so we've got i i want to say we can see it in here i think we've got like 20 tables i don't know i i don't have a count of them but
it looks like it's probably approximately 20 tables there's about 30 in the system but you're probably not syncing them all right so yeah some of them we some a few of them that we skipped that that jonathan pointed out didn't really need to sync um so what's happening each time that this goes to sync is it's using the data api to kick off a script in each of these three locations uh and each of these three servers then does 20 fines it goes to the first table in our sync o2 calendar and it'll say has anything changed since this time stamp no and then it'll do the same thing here and here and here so basically what's happening is it's doing 20 find operations every time this thing kicks in and then coming back to mirror sync and say nothing has happened since the five seconds ago when you asked me before um and so that puts a little bit of load on filemaker server but really
not much it's 20 searches they're indexed searches and there's not much going on on mirror sync side similar very very little activity is actually happening um but let's say that somebody went on to uh oh somebody changed something that was me sorry i'm over here everyone can see me doing evil i just changed alexis uh she has now her official photo in here and uh and she's now a filemaker developer which is awesome so happy birthday alexi um but yeah so that's the change right so perfect keep going so let's say that somebody went on and they they did a find all in contacts and there's 20 000 contacts and they did a replace field contents on 20 000 records now it's gonna have to churn a lot harder because now we go to filemaker server and say hey has anything changed it's like oh yeah here what do you know 20 000 records here you go do something with them now mirrorsync needs to
get those 20 000 records write them from the one server that they're coming from to the other two servers that they're going to and it needs to update its own internal database we use hsql which is an open source very very high performance database to keep track of which databases we've written all those changes to and if there's 20 000 records there's more load happening so to get back to mr scott's question and uh and i think i know which mr scott that is because i think he might well never mind but uh to get back to that question yes what i would recommend if performance is super critical for you and you you anticipate very heavy volume like that where you're transferring tens tens or hundreds of thousands of records and maybe millions of records during a sync i usually like to put mirrorsync on its own separate box separately from filemaker server and my particular preference is a linux box uh we do mirror
sync hosting for a lot of customers and we have one dedicated mirrorsync linux box that has a very fast hard drive on it and so we don't install mirrorsync on our filemaker servers for anything other than this automatic file upload and download stuff that i was talking to you about we have a dedicated linux box that we can monitor the performance on there and then we're not dragging down like the performance on the filemaker machines where where mirrorsync can get very cpu intensive is if there's a very large batch of conflicting records conflicts take longer significantly longer to resolve than non-conflicting changes so if somebody had a 10 000 conflicting records on this server and somebody changed the same 10 000 records on that server you would see the cpu definitely spike to 100 from maybe 30 seconds to 10 minutes or something like that while mirrorsync resolves all those conflicts and then that would affect the performance of filemaker server stop stop stop you
just hash a sh it's going to be a million questions so before we go too much farther into conflicts right what i want to do is i want to ask tarman's has a great question i already prepped you for this question it's coming you're ready here we go what if the mac hub or the the oh the mac cup that's right it's the mirror sync i love it they're using my acronyms admin console awesome whoever that person is you're now my favorite person today um what if that server the sinky server goes down it's broke and so suddenly all your servers are running wild without any sinkiness can you help us with that yeah so if the if this admin console were to go down nothing bad would happen you know i could force quit this thing right now i think i will just for fun force quit this thing and so mirrorsync is still just running along just fine in the background it's still running every five
seconds updating all the servers and that's going to happen whether i have that open or not okay stop but what if the service dies if the service dies then those all those filemaker servers are still up and running but they're not syncing with each other so changes that we're making in northern virginia are not going to california or ireland and vice versa okay they will all start to accumulate kind of divergent changes and people may not even notice for the first five or ten or a half hour uh you know but then at some point somebody's gonna be like hey i'm making changes here and they're not happening there um so what do you do about that and assuming so you know obviously once you get near sync back up then the syncs resume and they'll resume exactly where they left off so it will catch up on that next sync it'll have a much bigger workload to do on this next sync while it catches up
from that downtime but it will not miss any of those changes and there's uh remind me when i well i'll try to remind myself there's a section in the configuration screen where you can configure advanced notifications and the advanced notifications feature allows you to use amazon cloudwatch which that's a whole different topic that could be a whole nother webinar because cloudwatch is pretty awesome but we can send notifications to cloudwatch with metrics like for instance we can tell cloud watch here's how long the sync took to run here's how many records were inserted here's how many workers are updated deleted number of warnings number of errors oh i would love that users we have to do a video on that right that would bite yeah all that kind of stuff we can report that every time a sync runs we can go to cloudwatch and give it a dump of all the stats from that sync and then what's really cool is that you can go
into cloudwatch as a developer and you can program cloudwatch to say hey if you don't get any sync metrics for 20 minutes or 90 minutes or four hours or however long you think the longest sync might take if you don't get anything from mirror sync for a 30 minute period then i want to get a notification that you haven't gotten anything and so that way you can actually get notified uh of not just when the sync is running nursing can do that itself it can there's a feature that can send you an email when a sync runs you can actually get notifications from cloudwatch if mirrorsync is not running so you can you can configure that to know if the server has died and then you can get back on and figure out what killed it and bring it back so everything catches up all right so those are really great questions uh for everyone so the answer is you can install it on one place if you
as a minimum but you really need to install it multi on each of the servers okay that way you can push the updates out too if the main machine that's doing the sinky stuff blows up you don't no one dies but this machines aren't sinking they can continue to run and then when you restart this the sinky i call it the sinky process uh then it all they will catch back up which is great which once again if you're really doing like multiple servers you've got hundreds of people i think you just might want to pay the 12 or 30 a month or whatever it is for a what a t2 large or something like that jesse i mean you're an amazon guy what would be what would be a sufficiently beefy uh amazon instance for just just the uh sinky stuff like that i think we run ours on a t3 large um oh yeah the new ones are t3 t3 and t3a yeah and i would recommend
the t-class not the m's because mirrorsync while it does occasionally spike the cpu it should never really get in a situation where it's pegging the cpu for a long period of time so those kind of uh the t classification should be fine you're not going to use up your burst credits on those yeah and a lot of people didn't know what we just said so we will remind me to cover that another broadcast where we cover burstable uh amazon instances and stuff that we've uh trained people on so yeah basically the t-class is the cheapest and it will work great with mirror yeah yeah yeah uh perfect so uh cool all right so um so then do you want to go through the installation so we are looking at that we're looking at the server this is the server in california somewhere i guess wherever that's at okay but we but we want to set up our for server which is where we're going to set it
in mumbai india is that we're going to do that yep okay so what i'm going to do here is i am going to i'm just going to minimize this for now and then i will switch to my rdp and i will jump into mumbai now i did have mirrorsync installed in this box before but i've run the uninstaller and so mirrorsync is no longer on this box if it was you would see it right here there would be a 360 works folder this is a 360 works folder okay so but filemaker server 19 is here correct yes uh and let me jump over there that's this admin console right here this 1701 d yeah so this is uh mumbai notice that the only database that we have on here is our sample file that comes with filemaker also notice that i do have the data api enabled mirrorsync does rely on the data api in order to kick off the the sync script yep but this box
is just you know like straight plain vanilla straight up out of the box you've just installed filemaker server oh i have a question i have a question since you're right here so we're using dappy to sync correct so as my i have so many dappy credits this happens to be um yeah i have to tell you the story about me trying to get a site license from claire's to demonstrate this for you folks they basically nicely said uh yeah nevermind i'm not gonna we're not using anything from their clarisse is not in any way assisting in this broadcast today which is unfortunate um so these are actually my credits on my company site license right so the question is is if we're doing a lot of sinky then this is gonna run this up and then i have to make sure i have enough credits here i might have to buy more credits right let me uh the short answer is no really but let let
me see if i can prove that to you i'm not sure if i can you don't have to prove it it's just yeah here we go this sync has been running every five seconds all weekend long the total data transmit this is ireland now we're looking at the ireland uh the total data transmitted by the service this host is four and a half megabytes which is basically zero right but it's also not in use by too many people my point is it is deducting is this what i'm saying is we you should pay attention to it you should pay attention to it as opposed to uh you should pay attention to it but i can almost guarantee that mirrorsync will not use up your data bandwidth and the reason for that is because mirrorsync doesn't do any syncing using data api which is a weird statement and it sounds like i'm being contradictory but what is actually happening is mirrorsync is only using the data api to
start a script that's the mirror sync script the mirror sync script then uses insert from url to talk back to the mirror sync server oh you're kidding you're kidding me totally ah okay yeah so the data that goes back and forth the real heavy duty actual record data is transferring between filemaker server and mirror sync using the insert from url which does not count against any of your data api bandwidth so when that thing finishes it will return like one kilobyte of data going hey the sync the script ran it doesn't even it doesn't even return that actually uh you know it's basically like an empty header saying 200 hdb status code i'm clapping i'm clapping because you're impressive and that's sufficiently awesome i don't know about anyone anyway they're clapping out there everyone's quiet i think they are dead or something alexi probably went face down into a giant birthday cake and is on a sugar overload so and honestly i didn't i
really didn't do this to try to get around filemaker's database well no i i listen i want them to make money and i want them to be happy but but if you're not on their christmas card list now i now i know why so the reason i did this is because we have far more control over the streaming behavior than if we directly interacted with the data api using the insert from url we can break the data into little small chunks and stream it to ourselves whereas with the data api you have to use the next behavior paging stuff and there's there's various kind of performance problems with that so this allows us as a side effect to not run up the data api usage but the real benefit here is that we can actually stream an unlimited amount of record data without running out of memory yeah yeah yeah yeah i thought it was quite impressive uh okay good well like i said i always learn new
things that's a good one yeah the it seems to be insert from url's way more tested and way more reliable than you know the dappy so okay cool yeah and you can use all the curl options you can use like yeah they really they beefed it out big time as well yeah it's been the favorite play toy for the last couple of years for all the developers so yeah all right cool okay so let's let's actually keep going and alexi says she's clapping she's not eating cake which is good because she could never be uh do uh i don't know she sell ice skates or not but she was birthday she's supposed to eat cake yeah but ice cream don't eat cake man i'm telling you we're looking back on uh at the mumbai server notice that we don't have filemaker starting point on the server and notice that we don't have mirrorsync installed in here so let's just do this from scratch now i do i do
have one thing that's already done that i didn't want to undo which is i i've i've already set up my dns remember yesterday i talked up talked about how to set up kind of that dns kind of cluster so that the super dns yeah we're going to demo that tomorrow for everyone because today we're setting up a server tomorrow we're going to set up again but we're going to go deeper so we're getting two server deploy dates for everyone so yeah so mirrorsync is not installed in the mumbai server but it is part of our kind of fmsp. 360 works dns cluster so i'm going to the mirrorsync page filemaker dash sync you can also type in nursing. com which is what i just did i'm going to download the current version um notice that i'm not doing any of this download buy stuff because i don't need a license key on my spoke servers the only machine that you need to buy a license for is your hub
server so when i go to install mirrorsync on this mumbai server which is a spoke it's not going to ask me for a license key the only reason i need to install it is just to move the files around so i've downloaded it i'm going to just do my normal kind of extract and install and the installation might take two or three minutes so that would be a good time if there's questions to switch to a few questions uh well alexi says hell no on the cake and she's still skating which is pretty cool um ken tk all the folks on discord hider is from somewhere and he uh just deleted his message i didn't get to see it alessandro hi to all dennis from vancouver once again everyone have questions asked the time for questions as we stare at installation that's fine i'm just picking all the standard options right here yeah allow mirror sync to perf to report oh yeah yeah so basically when you
check that box then we can we can know you know how fast mirrorsync does or doesn't run that kind of stuff and the the username and password that i set there that doesn't need to match anything in particular it's just i need to use that username and password if i ever need to administer nursing which which i won't in this case because it's a spokes service so there's nothing to administer on it if a spoke has problem does it report itself back to the hub or how does that work yeah if the hub cannot communicate with the spoke server then that will cause an error in the sync and you're able to i'll show you in the configuration where you can set email notifications so you can get a notification if a spoke is unavailable okay so right along that line uh so between the hub and the spoke we're moving traffic back and forth kind of but uh i have you know my brain i haven't quite i
mean i understand the insert from url but it's almost like i mean it's a really backwards process essentially here's the best way to think about it the best way to think about it is we're making filemaker server work exactly like filemaker client oh so you're using the the way the psas on the server to do the uh no we use a data api execute script call um okay execute button but execute a script but what what what is executing the script what client is so basically so let's first talk about how mirrorsync works on a client like filemaker pro or go yeah if you've got filemaker on an ipad you click the mirror sync button and yes kicks off the mirror sync script which then uses insert from url to have a conversation with the mirrorsync server to move data back and forth right that makes sense yep when we call mirrorsync on the server we're basically just using the data api to virtually reach out
and press the mirror sync button okay that's all that's really happening is that we're we're saying run this mirror sync script as if the user had clicked it on their filemaker go or pro copy and as far as the data api is we passed it nope uh i don't think we i don't even know if we pass it any parameters oh yeah we passed a few parameters in so the web so you're telling the web publishing engine to run the script for you is what you're telling that we're telling the web publish engine to simulate a book a client on a client and so you use dappy to trigger that god i gotta gotta get it because when we do our stuff yeah i mean part of doing basic push and pulls with php and stuff like that is you you have the option to trip a script so that's the main mechanism you're using got it yep and when we're doing it with multiple spokes like
in this case you know between these three servers we're using the data api to simultaneously send a signal to all three servers making them all essentially kind of click that button at the same time and then mirrorsync will mediate between them and make sure that they all get the right data for each one okay so if the web publishing because this is going to get to my question i was asked about what was the comport port numbers between on this communication but it's really the web publishing engine running a script but the web publishing engine is basically a client so the port number is zero zero three then right yes uh it's going to be four four three because we're using the data api oh that's right insert from ur erl and it's encrypted yeah 443 so that has that port has to be open got it yes yes on both on both mirrorsync and filemaker server because mirrorsync needs to initiate a connection
to the remote server on port 443 to say hey could you start the script running and then that remote server is going to initiate a connection back to mirrorsync on port 443 saying hey i want to sink so each warrant is initiating a connection to the other wow okay my i just now caught up with that that's pretty clever uh michael mann os u. s man i think he's one of your customers can jesse explain the newest ability of sync just to sync multiple spokes versus having multiple configuration files yeah okay yeah let me that's actually best done in a demo uh and so i'm gonna that's that's actually getting to the next that's the next thing i was going to demo yeah i'm going to show that right okay okay so uh and i might have uh oh and oh that's right i had minimized it i just quit it now okay so hey so mr scott we'll get to you in a moment we're just going to
show that one for a second because i can't have his jesse'll blow up so and michael i think i think i remember talking to you about this on our uh on our tech support uh when you asked me that question about multiple configurations versus a single configuration and at the time uh we didn't have the ability to run multiple con multiple spokes in a single configuration and so i told you just set up you know multiple different configurations each one is a single pair so uh so what we what we could do here is we could have one configuration so this fmsp right here this is um oh did i disappear no you're still here you're still here oh okay i'm just muted my slack thing disappeared so i thought i was gone no you're fine so here is a configuration and uh that fmsp one thing you could do is you could create if i have three spoke servers i could create three configurations and
each one could be northern california to the east coast and the second configuration northern california to ireland and then a third configuration northern california to mumbai but what is working now is uh the a single configuration with multiple spokes i'm going to turn off the auto sync and this is the part that i was working on so hard last week and this is the part where richard told all of you jesse's working really hard sending a nice email and i got like a dozen emails from people saying you know hang in there keep going and that was really nice and it actually really did make me feel good so don't don't give up on life well listen when we we train every day it's really funny because claris and a lot of we every every day we're here right and and a lot of the senior people and stuff don't that's fine but uh but people want to learn this stuff and if they feel like you're
having a hard time and you're going to give up on life then we're going to help you out okay yeah it was really cool it felt really good so thank you guys for sending me send me an email thanks and i i could just picture richard saying you know hey go bug jesse so what i'm going to do now is i'm going to edit this configuration and show you kind of what the configuration process looks like and i'm going to add the mumbai server so here's our first screen of the configuration what is our hub database and these are all the databases that we support filemaker server uh we can support any jdbc database this is what you would use for like for instance if you were thinking postgresql um is that you would pick the jdbc database option and then you would fill in all the the jdbc options for postgres uh microsoft sql server mysql oracle salesforce amazon redshift um and uh and you won't see
it in this screen because it can only be spoke but we also support amazon dynamodb so uh i'm not going to spend a ton of time on this screen because we're we've only got 15 minutes left and i've got a lot of other things i want to show still so i'm just going to kind of if there's a particular highlighter on the screen we can go another part we can go another 30 minutes right we are flexible here i mean i know some of you have a hard stop at top of the hour but it is recorded so yeah and you know i i i'll spend more time i think tomorrow on the actual configuration for now i'm just going to kind of quickly move through this stuff so this is our hub screen where we tell mirrorsync here is where our hub server is it's this this is our northern california server which is our hub and here's the username and the password for our database the username
and password for filemaker server admin console we can click choose to see a list of the databases and uh so that that's that the next screen that it's going to come up with is telling us hey you need to create a layout for each table that you want to sync and to paraphrase what's all the instructions in the screen you just create a layout the layout can be totally blank there just needs to be a layout because this so it's a script kind of a context to run on um and but you're you do need to have every table needs three fields a primary key which you probably already have a creation time stamp which you probably already have and a modification timestamp which you probably already have so for the most part there's really not anything to do as far as adding fields to your solution there's no specific naming that there needs to be um you can have them named whatever you want
you know if you create a new filemaker table in filemaker 17 or later it's going to have all of these things out of the box so you know this was something that we really tried hard to do in mirror sync is not make you add fields so make sure you have those fields create a blank layout uh now we tell about the spoke database and here i've got the spoke as uh b which is east the east coast northern virginia um and i'll get to the other spokes in just a second but you can see this list is the same down here but you can see dynamodb is also a choice now because dynamodb can't be a hub it can only be a spoke and that has to do with the fact that it's a no sql database that has no schema so we've told it about our database um on the east coast so now i click next and then i think i'll get a screen just like
the last one telling me um actually i don't um oh there is a screen that would normally pop up asking you to copy and paste a few items i've already done those copy and paste operations so it's going to skip them there's basically one table for you to copy and paste there's one script folder for you to copy and paste and there's one layout where you just select all copy go to another layout paste that's the entire process of of what you do as far as like dropping mirror sync stuff in so that's pretty easy now we get to the question at hand that michael is asking about what about multiple spokes in that kind of configuration so you can see that we've got two spokes in this configuration we've got b and we've got c b is the one we just configured c is ireland and i can see that if i edit the spoke i can see that 1701c which is my ireland's spoke
and i'm going to add another one now and this is new this was you couldn't do this in mirror sync last week if you still can't do it in mirror sync i don't know that okay button is not very promising right now there we go okay we're gonna write that down the okay button is not very promising nathan schneider are you there you gotta write that down the okay button is not very promising all right famous quotes that get saved by the uh the uh people that are in the training here so um nick hunter's known for hurting them hurting the laws hurting hurting mother nature right which was always a good one so yes i'm going to i'm uh i'm going to temporarily turn off my screen share because uh you know i don't want to richard set this password i don't want to reveal this password so i'm going to continue on my microphone but i'm going to stop sharing my screen for just a moment
we can play jeopardy music or something i'm going to go get that password uh if i can find oh come on jesse where is that password it's in the email that i sent you yeah tech support is on the job thank you jacob yeah tomorrow's gonna be even better because we keep upping the annie every day on this and and i don't know what jesse's doing friday if he's bored on friday we might drag his ass back here too so i i'm taking it easy on friday all right well then we're going to talk about you and your product behind your back you don't have to show up that's fine all right so i've got it on my clipboard i'm going to come back here i'm going to show my screen i think i'm going to show how to where's there's my screen button all right so i got my clipboard there we go now we're here all right database now this is something i'm still working on at
the moment you do need to type in your database name okay so now i've told it about the mumbai server this is where the server is this is the user and password for the database this is the user and password for the admin console this is the name of the database that i want to sync we are syncing with kind of just identical field of table names mirrorsync does have the capability to actually sync between totally different databases which is cool but i'm not going to demo it now i've actually demoed before filemaker starting point syncing with the built-in contacts out of the box thing that comes with filemaker which is pretty wild i need to figure out why this ok button takes so long i'm going to put that on my on my notes here all right noted all right so now i have three spokes i've got my hub plus these three spokes and so here is where i pick which tables i want to sync
in previous versions of mirrorsync you would go down you would check the boxes of all the tables that you wanted to sync starting in mirror sync 6 we now have this option here this is sync any layout starting with sync underscore so automatically find any layout that you name sync underscore something and assume that that layout needs to be synced and a really cool feature there is it means that you can actually add new tables and new layouts just by naming the layout that thing you don't even need to this is this is awesome i think but you don't even need to come back into mirrorsync when you add new tables you just make sure you got your primary key your modification timestamp your creation timestamp make a new layout named sync underscore and mirrorsync will find it and it'll add it to the sync and include it this is the most interesting screen in the configuration so this is the only one that i really spend
much time on this this is my email address and so i will get an email anytime a failure occurs if i want to get no emails ever i can do that if i want to get them on failures and warnings i can do that if i want to get super detailed emails every time the sync runs i can do that so you can pick whatever you want okay i'm not gonna i'm just gonna interrupt because we are getting questions about this screen instead of me answering them they're answering about how do we control certain found sets and things like that and whatever and so okay uh i think i've had enough time to spend a couple minutes on that yeah well i mean listen like we don't really have a heart stop here it's you know people will eject if they get tired of you and me and that's fine because you know okay i'll refund what they paid to get in here today so that's fine fair enough
so so the answer to that particular question how do you sync your certain records let me let me show that to you really quickly i will go to i'll go to the northern california server i'm going to show you the mirror sync script and so if we look at the mirror sync script this gets pasted in when you set up mirrorsync and there's nothing you have to change about this script other than this section right here this url so you copy you paste the whole script and then you customize line six if you want to you can come down to this section right here customization instructions and you can do a lot of things that will control how the sync runs by far the thing that people do the most too is this find changes section so find changes filters which records will be synced so here's what it would look like if you want and this is commented out because these tables don't actually
exist but i'll uncomment them temporarily just to show you what it looked like you say if the layout is equal to whatever sync underscore 0 5 contacts then you enter the find mode find whatever it is that you want to search for and then constrain the found set and that's it that's all you need to do the get account name which is a very common thing that people want to filter by will return the account name of the user doing the sync because when mirrorsync kicks off that script with the data api if if richard is the one syncing it's going to use richard's username and password to kick off that script so get account name will return richard and then you can say find all the records where the uh current assigned person is richard you could do things like find all the records that have been created in last 30 days find all the records that are status active and a really cool thing
is that any records that don't meet that criteria if there's records in there for jesse for instance a they won't be synced and b they'll actually get deleted off of richard's ipad if they don't match that so if the record status is active and richard he goes he does his job and then he's done with the job and he changes it to done and then he clicks sync that goes up to the server and it syncs to the server and the next time he hits sync that record will no longer match that criteria and it will remove that record from his ipad because that doesn't match the filter criteria anymore on the server so the ipad found set is always being updated with whatever find criteria you the filemaker developer program here and it's just using regular filemaker scripting we used to use sql qualifiers to do that and stuff that was slow and clunky so now we exclusively just use filemaker level scripting to accomplish that all
right people are happy with these answers are really great they love it uh answered that answer that yeah i think the questions are coming us good good good good job jesse keep going okay i'm gonna keep going i'm not going to save anything i'll probably screw something up uh okay so back here um i just ordinarily i don't demo this but i i mentioned it so i wanted to bring it up this is where you would put in if you wanted to do that cloud watch feature i was talking about this is where you would do it in this advanced notification section you're putting your access key your secret key the region where you want cloud watch to to report from and then you would say i want to know the duration the number of failures that happen and any records that were deleted from the hub and so by checking those boxes and filling in this aws access key stuff those three numeric values will be
recorded to cloudwatch every time this runs and you can get a nice little dashboard of kind of seeing how long these things take on average uh seeing how many records are being inserted or deleted and you can program it in to notify you if it's not getting data from mirrorsync perhaps indicating that there's something wrong and the sync is stopped all right i've got to turn these off so that's that we've done this the auto detect database keys are manual key setup mirror sync is really good in version 6 about finding your primary keys creation time stamps and modification timestamps if you want to customize those or just double check that they're being set correctly you can change this to manual key setup and then mirror sync will prompt you for all of them but i usually just leave it set on auto i'm going to come back to this checkbox don't let me leave the screen without showing that checkbox this is your sync direction
this is a bi-directional sync this is one way from the hub to the spokes so if you just wanted to push changes out to the spokes this is one way from the spoke to the hub which probably is not useful for a server to server sync but it could be very useful if you're doing data collection in the field with phones or tablets and you just want to you know collect the data and push it up to the server uh this primary key matching here you would pick mirrorsync managed if your primary keys are based on serial numbers you would pick developer managed if they're based on uuids the fundamental under the hood difference between those is that with uuids and developer managed keys we keep the primary keys the same between devices so if your uuid is abcd on this database then when we write it to the other database it's still going to be abcd with mirrorsync managed if your primary key is 5
and we go to write to the other database and there's already a primary key 5 on there it might be 6 or it might be 600 or it might be whatever and mirrorsync will manage that it cares knows that going forward in time any changes made to five on database one should be made to record six on database two uh and that's kind of a deep topic that uh there's usually a lot of questions about that because like i'm sure the questions are are are occurring right now wait wait wait that's not well yeah it doesn't work no no and so this is what this comes back to this conversation real quick so people like what the hell is starting point i got people saying we want enterprise we want the enterprise we want to prove and it's like okay stop so if you're learning the filemaker platform some of you are learning okay you don't need the enterprise version of starting point all we did
with the enterprise version was change the primary keys to use uuid so uuid is this like 32 character random scrambled thing that is always random right and if you're learning filemaker and you're trying to see how relationships connect if i try to teach you like 100 matches 100 over here or a 32 scrambled thing equals that as a trainer that's a hard conversation to have and so starting point the basic one we you would you would use it uh over here but the problem is you could end up having you to issue an invoice to someone like i give like sales guy does an invoice for five thousand dollars or someone and invoice is number one hundred but after the sync the invoice number might change right so that's kind of an unsavory situation and so if you're going to really use sync you need to think about using uuids jesse has been on my ass to make this version a starting point for over a
year i really have and it's been a long time it's been a long time and i finally saw the light and and so but the thing is it's the my problem is is it makes for a hard training situation so we really have the basic one which we know works great it'll work on a single server up to several hundred people almost no one needs this unless you're gonna seriously do an enterprise rollout with multiple servers and then by all means or you're a more senior developer like you're in alexi folger dwayne mossy uh the keith larochelle all the guys from pci you know all the senior people that are out in the filemaker community they they're already used to using uuid so that's fine use that right but it's just kind of like where are you at like like we have uh for jesse for those who kind of wonder about this we have a a a number of people that come here who are doing basic
filemaker training and so one of them is name's bunny right and so this is bunny so when we do bunny training this is like beginner training like like this is a field there's a layout there's a relationship and so so when we do basic training we make sure it's bunny basic certified right and literally that's his name right and so it's cool because we we switch it's but we switch we switch hit between the advanced topics the beginning topics and so there really is kind of um you know i had two people asked me for the enterprise version yesterday and you know i don't know that they need it i'll be happy to give it to him no charge is free but um if you're going to do mirrorsync definitely want to use that version i i would definitely recommend the enterprise version if you're planning on using their sync yeah yeah those two these two things go together like peanut and butter or whatever bread or
or like rick and jo or richard and jessie right there you go which one of us is the peanut which one was the butter yeah just stop the conversation right there before it becomes unsafe for our work [Laughter] all right so when now we get down to here you have the choice of this default value is just sync everything every table we automatically skip calc summaries and globals but we'll sync all of the other fields in the table you have the choice if you would like to which this probably doesn't make sense for a server to server sync but let's say you're doing a really light mobile database that only has like a handful of fields in that case you would add your handful of fields to that sync layout that we talked about creating and you would switch this to say i'll sync only the fields in that layout and then instead of 100 fields you would get the eight that that mobile user needs
so i'm going to leave it here i'm going to talk more about field merging tomorrow when we get to conflict resolution and the same thing with this conflict thing but basically the really short version which i'll i'll go into more detail with is that if you pick this merge changes option then mirrorsync will merge the changes together so if one user changes somebody's email address and another user on the same record changes their phone number mirrorsync will merge those together so you'll get one record that has the latest email and phone number merged and then conflict resolution the default value is the most recent change wins so if if a record can't be merged because maybe we both changed the email address on the same record then mirrorsync will by default assume that whichever user changed it last is the correct one but i will talk about other options besides that that's just the out of the box default oh and i just i didn't show
that checkbox no it wasn't your fault i clicked the button too fast yep uh so uh but in between here i'm gonna give nathan schneider is endorsing this he says my experience with this new version of mere sync has been great because uh if no if no changes the physical time or detecting okay your english either i can't read or your english just went off a cliff i can tell you nathan beats the hell at a conflict resolution i would say half of my conflict resolution issues are from nathan okay anyway but yeah he uh highly endorses uh uh the mirror sync 6 because you rewrote this thing right i mean listen this interface i recognize this interface this interface hasn't changed much in five years but the you're saying that under the hood is new uh yeah the field selection is new this this second row of buttons because you didn't the previous versions of mirror sync always sync the fields in the layout
this is going to sync all fields is new but all the rest of this is yes the same yeah um on on the surface but yes it's the the script is completely rewritten um under the hood for version six okay this is the checkbox i wanted to show the same settings for all tables uh oh come on did you oh okay that's a that's a bug i need to fix that uh i i almost got away with it because i sorry i'm sorry we're gonna have to burn everyone's eyes uh i'm gonna talk through she didn't see anything there's a bug i'm gonna pull a steve jobs and throw my digital camera at the front right okay i'm blocking i'm blocking the screen no one can see you if you want to fix it right so what's supposed to happen here is that i i i'm bugs happen i'm not i'm not fussed about it i'll fix it uh the point is is that what's supposed to happen here
is you're supposed to see a row for every single table that we're syncing and so basically what it lets you do is pick a direction primary key field selection field merging conflicts for each individual table so if you want most your tables to be bi-directional but three of them to be one way and then one of them to be mirror sync managed and one of them to only sync the fields in the layout and some of them resolve conflicts differently than others you can uncheck that box and you can set all the settings individually for each table separately oh i know what happened i cancelled this as i was going through it uh i think that's actually so that's actually what i need to know to reproduce that bug um i'm gonna i'm gonna try and go a little faster because i i don't want to waste too much time but i think the reason that happened is because i hit cancel when i was going to
the next screen and i don't normally test that way i think that left it kind of in a half finish state well i'm not blocking the screen right now if you want me to like put up a curtain or something you gotta let me know [Laughter] i've i've i've experienced enough bugs that i don't get too fussed about him anymore yeah it was the cancel button so this is what it's supposed to look like and you can see each of these tables lets you set the direction the primary keys the field merging and the conflict resolution options independently so now when i click next this step takes a little bit of time because what's happening here is that mirrorsync is going to all 20 or 30 tables or so and running a pretty involved script on each one of them to figure out what is your primary key what is your creation timestamp what is your modification timestamp which fields are writable and which ones
aren't what are all the different field types do they have auto-entered serial numbers on them and it does all that by creating one or two temporary records and basically experimenting with them and setting different fields to see what happens to the other fields and seeing if validation errors occur seeing which time stamps change and it does all that to basically kind of auto detect your modification time stamps and creation time stamps all right i do have a question alexi here is probably really mad at me i didn't this does happen because of all the stuff that goes on here because i'm playing product production it's like you know production engineer and also talking head so alexia has a question and she tried to remind me and i didn't see it so she says do you recommend a db user account specifically for mirsync question mark full access question mark for the setup yes for for that first screen that we showed where you pick the
hub username and password yes however uh and we didn't get this i don't think we got this pop-up for the server to server sync but if i had been doing a client to server sync you would have seen a different radio button on the spoke selection screen and you have a choice there in that radio button selection screen of authenticate as the individual user or authenticate with the same credentials that you used for the hub so if you wanted to never have to prompt the users to enter their username and password you would that's how you would do it is you would pick that radio button option and that would work the way alexa is asking is that it would use the single username and password that you configured mirrorsync with to also do the actual syncs um i don't recommend it because then you can't do any sort of effective record level access stuff you don't all you're modified by uh account names are going to
show is that shared account um and uh you're not going to be able to do like any sort of validation on a per record basis or per user basis you won't be able to use the get account name function if you want to filter records on a per user basis these are mostly concerns that apply to client to server syncs if you're doing a server to server sync then yes i would i would just say uh create a separate username and password just for mirrorsync and and do that and you should do that anyway because you should do that for the configuration process because mirrorsync needs to have a username password that it uses to do all the things it's doing right now like when it ran that script to find the primary keys it did that using the account that you set up for it um so so yes i i guess i kind of answered a little bit out of the order create a separate mirrorsync account
uh and it's fine if it's full access or maybe even just data entry is only is also fine make sure you enable the fm rest extended privilege i forgot to mention that because you need that fm rest extended privilege in order to use the data api so make sure you have that turned on i don't think that's turned on by default yep i got hammered on that the other day we've left it off on something and we couldn't figure out why we couldn't make something where it only took like a whole day of us thinking that there was a bug in filemaker and it was just stupid developers myself mostly going oh extended privilege extended privilege oh my god so because you expect that when you create a full access account that basically everything is enabled yeah that's the thing yeah it doesn't in fact when you create a full access account most of a lot of stuff is off yeah yeah right um so but for server to
server syncs i think you can use that i guess for server to service things you can use the same account that you create for the configuration process to also be the account that you synchronize with because you're not having you're not dealing with multiple different users you don't need to filter things by user and that kind of stuff so this is the last screen in the configuration this is new in mirror sync 6. if you have a multi-file solution you can do this you can select additional databases and uh and it will go and these servers only have this solution hosted on them so this is the only thing that shows up but if you have a multi-file solution you can do that and you can check a box next to all the files that go with your solution and then when that file either gets transferred to another server or downloaded for an end user it will zip that up and and send a zip
archive down with all the files in it and then this doesn't really make sense yet because i haven't demoed server to server updates yet and that's going to be on the on the thing for either tomorrow or the day after but um but mirrorsync has this ability to push a new version from the hub to the spokes and here's where you can control when that's allowed to happen by default this is the choice and so by default mirrorsync will only do it between 11pm and 3am and whatever timezone mirrorsync is running in which in this case on my computer is eastern time but you for demo purposes i said it to any time but you can con you can use that so that you're not suddenly taking the server down in ireland to replace that version with a new version from the hub in the middle of the day while people are working on that's what that's for so i'm going to leave this set to any
time and now we're finished cool and so this is important to read here if mirror sync is if mirror sync is installed on both the hub and spoke servers that's the optional installation thing i was talking about you can just click the sync button to run the initial sync mirror sync will automatically copy the database from the hub to the spoke server so let's try that this is that this is that pushing of updates and changes right so yeah this is the part that i was killing myself on last week so uh it's it's working and it's cool well i shouldn't say it's working until i actually show show it working i shouldn't get ahead of myself here but here's the mumbai server the 1701d all i've got in my there's my fm server sample all i've done on that box is install filemaker server or actually jacob installed filemaker server for me from rcc all i did in the box was install mirrorsync i didn't copy
any files over to it i didn't run any configuration stuff on it i didn't change anything on it i just installed mirrorsync so let's give this a shot now so i'm going to click sync now and this actually goes fairly quickly once it starts copying so spokes b c uh where's d i did oh oh oh oh oh oh shoot oh i don't want to waste every you know what happened when i canceled that and just go fix it and ran through okay should i all right let's go fix it i'll go fix it so let me let me explain what happened i did it the first time i did it i added that mumbai server but then i canceled out of that whole thing because i had messed it up and then and i was in a hurry to get back to that screen and i just rushed through everything and didn't add the mumbai server again so let me let me do that and uh someone's been
changing a lot of records uh sorry i have an automatic uh part of the starting point over the last year two we have a uh it's called a mock data generator and uh i've have it created about 100 200 records throughout the system it creates uh simulated real records like a human would type it cool well yeah i've run it for weeks at a time and it generates like you know 15 gigs a day this week that's what we're going to be playing with tomorrow right but it's really slow it's not opt it it literally goes to field of the field and it's like typing like a person right so it's right so it's cool we're getting to see how this works yeah so i don't know it's uh i haven't added that much to it i think there's let me see what's it doing writing so 106 records 1600 records that sounds about right so yeah but so this is the whole idea of it being offline
then catching up i guess right it's good so here yeah now we can see what just happened we wrote um 24 records that's the mock data channel we'll see all these doubled because there's two spokes so we wrote 24 insertions to one spoke 24 insertions to another spoke 91 insertions on notes 91 assertions on notes 37 contacts and then 165 invoices you see you think i'm sleeping over here i'm actually helping you out yeah that was perfect just remember just just remember everyone you got the amazing sale on this you want to make sure you buy it before what sunday night or something yes sunday night um so i'm going to as quickly as i can add mumbai to the sync and not cancel it this time and then show you guys how that automatic file distribution works and then i think we probably should wrap up because now we're quite over time yeah we're really we're horrible people we're bad people 1701 d
and i still have that same thing on my clipboard let's hope i do by the way is a reminder to everyone that on thursday we're going to be giving you access to everyone in fact we're going to ask as many people so no jesse you need to send a reminder out to everyone and we're going to give them access the launcher file so they can open up the system and like edit records and play with it worldwide and we can kind of see that'll be fun yeah that'll be fun that would be really cool so and again this is going to be our slowest process because it's you know again it's checking and finding all that metadata between the servers and it's doing it now not just two servers but three servers um do we have any unanswered questions are we caught up on questions well i think alexi got mad in the left uh probably had a hard stop at two o'clock a lot
of people hard stuff but that's that's why we have a recording and this will get we'll cut it down all the stupid stuff will get cut out the part where you malfunction well actually probably won't uh because it's educational for people to learn that um tanya was asking about the data separation model and how do you configure it i mean all it is is you're just configuring certain files to update in certain ui files to not update unless you want them so that data separation model if we're talking about server to server syncs i would just go ahead and copy both the interface file and the data data file in that in that section in this screen right here you would select additional databases and just check both the ui file and the data file you might be able to make it work with just the interface file uh you know i know that's the whole premise behind the data separation model yeah good luck with that
baby yeah i think you i think you might run into problems i'm not sure i i haven't experimented with that well all i could tell you is that we don't use the separation model with starting point and because it's designed with lead design from nick hunter it is super high performance right without the mirror sync with mirror sync now it's enterprise grade material so you take dicks this is promising jesse yeah there we go there's the g now my spoke is showing b c and d now i'm gonna run my sink okay and here's my spokes b c and d look this is new preparing to move database over network from hub to spoke 1701d so it sees that the database already exists in b and c but it knows that it needs to move it from d now it made a copy of the database on the hub and is pushing it up to the spoke 61 percent of the way done and another thing
which i uh this is hard to demo because i already have the database on two of the servers but this is a multi-threaded push which means that if i if this is the first time i was running the sync and it didn't exist on any of these servers it would actually push the database to all three simultaneously it doesn't push it to one and then push it to the other and then push to the other it pushes it to all three at the same time so whichever one is the slowest one is how long it will take not all three of them combined together so it pushed that up sustains the database connection and alexis still here which is awesome i was afraid i missed because she was trying to go hey attention richard but if you listen it looks like nasa in here i'm surrounded by displays and i missed her nice little blinky question indicator this stuff you're seeing right here setting up sync database this
is stuff that happens during that initial sync so that only you'll only see that the first time okay so once you get this running let me know and then i'm going to start my data generator again and uh okay it's almost done okay well then it'll get to a point where it's like uh yeah now it you know just does nothing to sync right it's all synced yeah it takes a little longer than than normal on the first sync but that's done that took 94 seconds for everything so if i jump over to mumbai now here's our new there it is so that got pushed from the northern california so basically what happened is mirrorsync running in northern california went to using the fms admin command line tool pause the database copied the database resumed the database and then streamed compressed the database streamed it to mirrorsync running on the mumbai server mirrorsync on the mumbai server streamed it to disk in mumbai then decompressed
it then used fms admin to host that file so now it's up and running in mumbai that's all stuff you could have done manually but if you have mirror sync installed on all your spoke servers that's all stuff that you can skip make sure you enable the sync i don't know if you enabled it with a little check box i did not turn on the auto sync let's go ahead and turn that off then it's not going to do its job so you need it going because it's my that my mock data generator is typing away here adding records to the system so all right so anyway yeah so that's pretty cool well we're gonna have to tomorrow we're gonna run through we're gonna build another server with more options about more conversation and then um and we'll see how far we want to go and then uh we'll see uh make sure we get everyone's questions answered and then like i said uh um just so you know
i held friday open as a reserve day in the event it blew up if you're gonna if you're gonna be out and gone that's fine jesse we can talk about your stuff behind your back which is totally good or if you want to send uh uh you're one of your minions the evil evil minions from 360 works to come and hang out with us that's fine but that where the idea is that we were trying to play with uh this letting people get into the databases and play and put records in there we're going to do that on thursday and so again many people can come in and add records and do this and so there it goes it's already it's actually syncing data now it's doing triple syncs right so yeah it's think you're exactly right it's syncing each one each record from the hub to those three different spokes okay and it looks like it and it's just going to run every five seconds right and so
then i'm creating and it'll be so this is actually more of a realistic scenario because i got that the mock data generators and they're like you know someone's sitting there you know beating on the keyboard it doesn't create that many records but it puts some appropriate dates it puts uh you know pig latin notes in there says like notes and pictures of people and just really we made it try to be as human as possible so um that's great i love it so now it's yeah it's just fun to watch yeah it's actually good to see it happening in real time so what is the when i see that progress that says 351 out of like this thing here so it's is that like it it's it's it's slightly confusing because we don't know until we get to a particular table how many records there are so we can't really show an overall progress bar all the records we get to the first table and we're like oh
there's 36 records in here so we show a progress bar that's like 36 items long then we get to the next table and we're like oh there's 30 more items in here so basically our progress bar keeps getting longer and then we're kind of catching up to it right all right well it just finished over here on this end so i imagine it's going to catch up there at some point so yeah so i mean if you have people editing i mean so uh but it seems like it's working okay here in terms of creating records no this is doing exactly what it's supposed to do it is moving containers down by the way there are image containers in these things right so there's a little bit of extra fatness in there right so yeah and it's pretty cool when you think about it it's pulling that off of california and then doing a multi-threaded push to three different servers all around literally around the globe yeah
you know with all that container data and keeping them all up to date with each other this is the only time i've ever seen a legit enterprise deploy i mean like we're multiple servers we're like really really humming i mean you had this working on two servers back three or four years ago but having it really like this and having it deployed and then being so easy to roll this stuff out with amazon you know you have your it experts like jacob taylor comes in there and just you know you got a new server and boom i mean we could have servers in every continent in half an hour an hour it'd be lickety yeah yeah yeah all right question i think the issue mike scott was asking a question uh okay they okay so this is a conversation going over here uh mr scott if you choose duplicate of an existing config does it create a new uuid for that config with his uh
that's an interesting question uh yes it does it does okay i have not that hasn't changed since five so i had to think about it for a second but yes it does yeah okay and then uh let's see uh i already had the feeling that it it i bought uh oh yeah someone already said they have the feeling that this is hot [ __ ] i think that's hot [ __ ] and it's worth every cent thanks to jesse a lot see i just put it in real plain english for everyone so we understand i mean this stuff is worth this listen if you have to replicate servers around the world and you want it to work well you have to use this there's a that'll roll your own how long i mean jesse i mean i know you don't pray want to say but i would guess you probably in mirsync engineering time you have probably well over a million dollars of engineering into this product i would
if i had to i don't have any numbers in front of me but if i had to just go by my gut i would say i have somewhere between 10 and 15 000 hours into this yeah and figure out whatever hourly rate yeah so that's kind of like starting point we're over a million bucks in terms of of revenue because we've had to rewrite it a number of times and this is infinitely more sophisticated so for and ours is free and this is practically for what you're getting is free right so as far as i'm concerned it's basically free can i configure multiple spokes in a config now if they are sql server question mark yes yes uh yes you can have multiple the only limitation really with multiple spokes is that they all have to be of the same type so you could sync for instance you could sync an oracle database with six filemaker servers you could sync one filemaker server with six mysql databases
you could sync one filemaker server with three filemaker servers the main issue is that if you wanted to sync one filemaker server with say one oracle database one mysql database and one filemaker database you could do that too but you would need to do that by creating three different configurations price wise it winds up being the exact same it's just that from a from a configuration standpoint you would okay a different configuration for each one all right so let's talk about this if you're gonna set this up for four servers around the globe what are we talking priceways here how much is this going to cost filemaker to filemaker is 1600 without the discount without the discount and that's per pair of servers so in this case it's four servers but it's really three pairs so it'll be 1600 times three so this configuration that we're doing right now with four with a hub would be 4 800 and then with the discount applied to that
okay well okay i can tell you five thousand dollars of i don't know what a lexi folger charges for her time maybe she's i mean she's worth every penny i'm sure but uh how much of this could alexi build for five thousand dollars uh pretty much not much that's probably yeah that's yeah that's a lot going on yeah yeah i mean it's a big product i mean and it's really frankly the only way to get the enterprise so um well i mean we're gonna pick it up tomorrow we're basically at 90 minutes here we'll cut we'll edit down cut it down but there's not that much fluff in there honestly um it can be really fun yeah really fun people are saying they were saying they read the manual last night but they were confused and then the demo cleared up so we're going to do it tomorrow we're going to go through the config but we're going to do it with australia we're adding australia and
then what we're going to do is we're going to invite to people um probably on thursday to come in and just everyone get in and have fun with the file save for work data please right we really appreciate that uh do we need to edit the okay so uh some of the questions that are going to come up now we're going to save them for tomorrow so uh tanya if you can bring that question tomorrow would be really great scott uh i think we answered if we didn't get your question please bring it tomorrow um if you want to pre-position a question with me in advance shoot me an email to support at rc consulting and just say hey for richard with jesse right and that way we make sure we pick that up in the conversation so uh uh yeah lexi's still there so thank you everyone for coming and hanging out i appreciate it we will pick it up tomorrow and so we're day two complete
we'll pick it up day three tomorrow jessie final final words of wisdom for us just thanks everybody thanks for your encouragement last week thanks for taking the time to tune in thanks for all your questions it really makes it a lot more fun okay and i am going to once again do the quickie promotion for jesse here of the mirror sync deals so if you want to save money i mean it's already listen five grand for what you're getting is already basically free i hate to tell you that but if listen if you're rolling out to the enterprise and you can't afford five grand your enterprise is going out of business just just leave the company they're out of business they're gone right right if you can't afford five grand because i guarantee these servers that we're running on right now these are high-end amazon servers this demo is costing me on a per day basis just to give this to you folks about 200
bucks a day 300 bucks a day in servers uh never and yeah so right that's just the demo never mind if i had to run this all month so um cool all right these are super high-end servers these are much much bigger than what i think most people would normally run these are like 16 cpus and i mean they're they're crazy well but the idea is that i if we have to put two or three hundred people on each server i'm okay with that i'm totally good with that right so i didn't want everybody to think that it was going to cost them 200 a day to run filemaker to run multiple filemaker servers uh well yeah yeah exactly so i mean yeah this fight if you have a five people or ten people then this is a fun conversation but you're not the enterprise right once again i mean how do you how many of you people actually and i mean you people but i'm being nice
i mean alexi's doing some work she's all over the place i know she even does i mean she says just works it's still at you know apple i mean she rolls out a solution to apple she needs this it has to go to all the geo she probably needs six or seven servers around the world and uh and apple should write a check for it because it'd be like that it's an easy one but if you're like my company with 30 guys or gals and guys or whatever and we're across mostly north america then maybe in east and west coast if i was bored but most time we just use one server right so i do notice a significant difference for me on the speed when i connect into the virginia server versus the northern california server i can really feel the difference i'm in georgia right so for me it's a much shorter trip to virginia than television we have whole conversations on the latencies right
so um and uh and so the latency speed is i you know if you're going to be around if you happen to be around we're off time we should have the conversation maybe on thursday about latency it's important because claris officially says if you're using their products you need to have a latency of less than 150. that's officially in their paperwork so um i was unaware of that until i stumbled across the uh in the documentation randomly the other day and i was like wow okay and you can't get you cannot get from australia to the united states basically less than 200. it's uh it averages about because the people here are watching so australia and they were like getting like consistently like 195 to about 220 and that's just too slow so you really need a local server and if you're using working with people united states you got to use this stuff so that's the enterprise so if you're five or ten people and then
your budget i understand but if you have basically if you're the enterprise you're serving over a thousand people worldwide pretty easily uh probably um then what's it gonna cost for servers for those people right so yeah it's a it's just relevant to the rel adjustable size organization right so i mean because if apple squeals about five thousand dollars for worldwide servers yeah right right all right everyone get your special deal we'll see you tomorrow at 1 o'clock thank you guys thank you richard bye uh and the guys just stepped up the whole way calm cool collected the quarterback great read good patience more importantly great job up front protecting this quarterback to give you a chance and that's all you can ask for trying to rally down 10. 9 25 to go here in the fourth short motion by amendola from the left brady takes the shotgun step stands and throws it left ramadan reaches up and starts a high throw and lands inside the tent with an eye slightly behind him again he makes the ground
Related Links About FileMaker Training
FileMaker Training - https://sites.google.com/view/fmtraining/
FileMaker 19 Training Review - https://sites.google.com/view/filemaker-19-training-review/
FileMaker Pro Training Review - https://sites.google.com/view/fm-training-review/
FileMaker Pro Video Training Review - https://sites.google.com/view/filemaker19/
FileMaker 19 Testimonials - https://sites.google.com/view/filemaker19testimonials/
FileMaker For Beginners Training Review - https://sites.google.com/view/filemaker-for-beginners/
FileMaker Low Code/ No Code - https://sites.google.com/view/filemaker-low-code-no-code/
FileMaker Manual for Novices | Learn The FileMaker Platform - https://sites.google.com/view/filemaker-manual-for-novices/
FileMaker Pro Training Live - https://sites.google.com/view/fmpro19/
FileMaker Sync - Worldwide Replications and Offline Sync - Jesse Barnum - https://sites.google.com/view/filemaker-sync-replication/
Taking FileMaker to the Enterprise - https://sites.google.com/view/takingfilemakertotheenterprise/
FileMaker Starting Point to the Enterprise - https://sites.google.com/view/fm-starting-point-enterprise/home
FileMaker Training - FileMaker Progression of Learning - https://sites.google.com/view/filemaker-progression-of-learn/
Daily Open Q&A with FileMaker Experts. Questions about Installation, Upgrading, Purchasing or How to make FileMaker work for you in your company to increase ROI.
Get up to speed with the FileMaker Video Training Course!
Top Rated Course by FileMaker Expert, Richard Carlton.
http://fmtraining.tv/fmpro19.php
Video is an electronic medium for the recording, copying, playback, broadcasting, and display of moving visual media.
https://en.wikipedia.org/wiki/Video
FileMaker is a cross-platform relational database application from FileMaker Inc.
https://en.wikipedia.org/wiki/FileMaker
Customer relationship management, processes implemented to manage a company's interactions with customers and prospects
https://en.wikipedia.org/wiki/CRM
Experience Richard's dynamic and exciting teaching format, while learning both basic, intermediate, and advanced FileMaker development skills. With 30 years of FileMaker experience and a long time speaker at FileMaker's Developer Conference, Richard will teach you all the ins and outs of building FileMaker Solutions.
The course is 60 hours of video content! Transform your business with the FileMaker Platform
Richard has been involved with the FileMaker platform since 1990 and has grown RCC into one of the largest top tier FileMaker consultancies worldwide.
Richard works closely with RCC's staff: a team of 30 FileMaker developers and supporting web designers. He has offices in California, Nevada, and Texas.
Richard has been a frequent speaker at the FileMaker Developers Conference on a variety of topics involving FileMaker for Startups and Entrepreneurs, and client-server integration.
Richard is the Product Manager for FM Starting Point, the popular and most downloaded free FileMaker CRM Starter Solution.
Looking for FM Starting Point free software download: http://www.fmstartingpoint.com
2122 9th St., Suite 102
Los Osos, CA 93402
(805) 946-6552
FileMaker Pro is a simply powerful software used to create custom apps that work seamlessly across iPad, iPhone, Windows, Mac, and the web
Free FileMaker Training Videos Channel https://www.youtube.com/user/FileMakerVideos
FileMaker 19 Video Training Course Introduction-FileMaker 19 News-Learn FileMaker From The Experts
FileMaker 19 New Release - Top 10 Need To Know Items in FileMaker 19 - FileMaker Top Ten News
https://youtube.com/watch?v=kRDXfpMrjvM
FileMaker Purchasing Options-FileMaker Training-Best Way To Purchase FileMaker 19-FileMaker 19 Video
https://www.youtube.com/watch?v=LlZqf_8N1Ho
https://www.youtube.com/watch?v=LlZqf_8N1Hou0026list=PLjTvUZtwtgBTCbN3Sr7yn6weIyIofDoMLu0026index=3
A database management system (DBMS) is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data
Video introduction to iOS App Training https://www.youtube.com/watch?v=cVxQe_yAshw
Free FileMaker videos check out ...http://www.filemakervideos.com
Download the FileMaker Pro and FileMaker GO for mobile devices training videos at http://www.fmtraining.tv
Download FileMaker Go video training at https://fmtraining.tv/fmgo19.php
Download FileMaker Full Video Training Bundle at https://fmtraining.tv/subscription.php
Learn how to use FileMaker to create an app with the FileMaker Training Series
Comment, Like and Share All of Our Videos.
Feel Free to Embed any of Our Videos on Your Blog or Website.
Follow Us on Your Favorite Social Media
https://www.facebook.com/FileMakerVideos
https://twitter.com/filemakervideos
Join us for live training on Twitch daily at 1pm Pacific
https://www.twitch.tv/fmtraining
https://www.youtube.com/user/FileMakerVideos
https://www.filemakervideos.com/
https://fmstartingpoint.com/downloadform3.php
Download FM Starting Point
https://filemakerfree.com/signup.html
https://rcconsulting.com/courses.html
https://www.guidetofilemaker.com/
Blogger sites
https://fmtrainingtv.blogspot.com/
WordPress sites
https://fmtrainingtv.wordpress.com/