Forum Replies Created
-
AuthorPosts
-
Thanks for the video.
Assuming they’re just copied & pasted version of each other, however is is possible the SMTP settings for the latter to sendmail steps are wrong. Just to confirm, can you copy a known good sendmail step and put it above the “if” block. In other words, use the same sendmail for all conditions. In the content of the message, include the $event_type.
I’m sure you’ve been very diligent, but I’d like to confirm that its not your script before I look at why the variable is sent our copy of the calendar, but not on yours.
Also, what is the full url to the calendar (private message me)? I’d like to see what the parameters are in case that may have something to do with it.
Thanks
-
Thank you for your purchase!
MBS is included for use with soSIMPLE Calendar. The startup script in your solution can call the “startup soSIMPLE Registration & MBS Plugin loader” script without any parameter. That will load and register the plugin for all users.
In our example solution, we call this script with the parameter “noplugin” because many developers don’t want to load plugins by default.
Some more details: http://www.sosimplesoftware.com/forums/topic/unregistered-plugin/
-
To confirm soSIMPLE is doing what’s it’s supposed to be doing, make sure that snippet is at the beginning of the script. You mention “end of my script” and I don’t know if you mean that you run this snippet at the end of your Action script. If that’s the case, something may be happening during the execution of the script that exits the script before this snippet runs.
In fact, it sounds like something is happening before this snippet executes, or else you would at least get the catch-all.
I would simplify your test by sending an email right near the top of the action script that just sends an email with the script parameters as the content of the email.
If it’s still not working, try re-creating your “Options” by clicking “Edit” next to Options, and then clicking “New”.
-
Hi Matt –
The “Open” event type only runs client-side, since the server is only notified when the event is sent back to the server.
We also verified to make sure that the “delete” event type is also being sent – it is. We did this by creating a logging mechanism – go to neutral table, create a new record, and set a field to $event_type, then go back to the original layout. When we did this, we got the result “delete”.
I suspect there is something else wrong with your script that is causing it to fail. If you run into an error in the script, the script will stop and you will see the results you describe. It sounds like your script is stopping the event from being deleted, so it shows back up again when the calendar is refreshed.
This is why server-side scripting is such a pain – there’s not real interface to see errors unless you carefully catch for them and report them somewhere. Sometimes we’ll do this with a log the way I described above, sometimes we’ll send out an email via SMTP to report status or errors when we’re running server-side.
-
Hi Aydinb,
In Standalone mode, the events you see are dependent upon the privileges of your user. If your user doesn’t have permission to see all of the fields defined in the Data Source, (or in data.json field), they won’t see the events. They also need to have permission to run the Standalone Export script and view layouts used in that export script.
In addition, and maybe most overlooked, their privilege set must have rights to “Export Data”. See attached screen shot.
Thanks
Ken
Attachments:
You must be logged in to view attached files. -
-
Depending how secure you need it, versus how much development you want to put in, you could do something like this:
- Create a data source in soSIMPLE Settings that has
- a flag set not to show any records (“Show Only Records Flag”). This means that if you show the calendar without any parameters, no events will show up.
- an advanced server-side script selected
- Create a PHP page that authenticates against your solution.
- As part of authentication, a FileMaker script can generate a UUID and attach it to a staff record for the person logging in. You can even timestamp it so that it only lasts a certain amount of time. This will act as a token.
- Display the calendar using the URL from soSIMPLE Calendar Settings, and add the parameter “&find_parameter=<token_UUID>”
- Set up an Advanced Find script in your solution to:
- search for the staff record containing that UUID
- search for event records assigned to that staff person.
When it’s set up, the Advanced Find Script runs on the server every time soSIMPLE calendar retrieves events to display.
More information about Advanced Find Scripts: http://www.sosimplesoftware.com/products/calendar-documentation/calendar-builder-reference/data-sources/filemaker-fields/scripts/advanced-find-server-side-script/
Of course, we can also offer our custom development services – let us know via a Private Reply, if you’d like to discuss this option.
- Create a data source in soSIMPLE Settings that has
-
Hi Scott.
Great to see you here.
You are correct: soSIMPLE can publish a readonly iCal feed to your FileMaker calendar. Great for letting your team know where they have to be on their own devices and other calendars. And soSIMPLE can subscribe to a readonly feed originating from these “other” calendars.
At this time, we have no plans to support two-way sync with Google.
To edit calendars, you can publish your soSIMPLE Calendar to a web page, or a web app. It will then behave a lot like your built-in calendar on your phone or browser.
Thanks
-
Hi there.
When implementing over WebDirect, you cannot run the same client-facing interface that you can with FileMaker Pro or Go. This is a limitation of FileMaker’s WebDirect technology – no webviewer-based toolsets can do this, at least not yet.
We do, however provide a rich set of tools to workaround this FileMaker limitation:
- Custom fields allow you to customize the event edit window with any fields that are on your Data Source layout. Display custom fields by selecting them at the bottom of your Data Source window
- You can even add drop-down menus or checkboxes to this window. By attaching a value list to any field on your Data Source layout, you will automatically add the value list to the custom field in WebDirect.
- You can run server-side actions by editing the soSIMPLE Action Script. Since these are server-side actions, they can’t control layout or other UI changes, but they can trigger emails, set fields, etc. You do this by editing the section of the Action Script near the top that says “If [LeftWords (Get ( ApplicationVersion );1) = “Web”] ##Server-Side##
Please let us know if you’d like any more details about these features.
-
Glad that worked for you.
Based on your questions in other threads,. it sounds like it might be useful to leave the soSIMPLE navigation menus as they are, but run FileMaker scripts with information being passed to the script about where you are navigating from & to. Then you won’t have to create your own navigation system, but you can still have some control as to how the different views are shown.
The custom code for this is fairly straightforward, but there are a lot of nuances as to how you may want it to behave. If you’d like to explore this further, let me know.
Thanks
Ken
-
The global variable, $$hash, is set at specific times – such as when the action script is run. So it doesn’t always correspond to what’s in the web viewer.
If you’re controlling your own navigation, you may need to get the $$hash variable yourself. On systems that support it properly, you can get the hash string like this:
Set Variable [$$hash, Let (
_url =GetLayoutObjectAttribute ( $$calendar_object;”source” );
If (PatternCount (_url;”#”)>0;Right (_url;Length (_url) – Position (_url;”#”;1;1) + 1);$$hash)
)]
In some versions of FileMaker, you’ll get a stale URL. But it should work most of the time. You’ll notice in our sample file we try to set the $$hash from parameters send to our Action Script as possible, for this reason.
-
Thanks for the question. There are a few things you can look at.
- The absolute biggest slowdown we’ve seen is complicated unstored calculations on your Data Source layout (the layout you reference in soSIMPLE Calendar Settings)
- Unstored calculations as part of the search criteria (such as searching on a field with the calc “list(resources)”) could be very slow.
- Any data on the layout will need to be retrieved, even if it isn’t being used on the calendar. If you can run automated scripts on your server to move unstored data into stored fields, that would likely help the speed a lot. Don’t forget to remove the unstored version from the layout.
- The only fields you need on the data source layout are the ones that show up in your Data Source settings or in the URL to filter the calendar. Optimally, everything else should be removed from that layout.
- Every time you redraw the calendar, or navigate to different week (by default), the server is queried.
- For example, if you navigate four weeks in the future by clicking the “next” arrow, each week you pass will query from the server. So you may get four queries to get to the fourth week.
- Navigating using the drop-down calendar or the navigation calendars will bypass this.
- You can also control how much data is retrieved at once by changing Options > How much data > from the default “week” to either “day” or “month”. This can change perceived slowness by loading a month at a time, for example, so navigating to adjacent weeks won’t send another query.
- You can add a data source filter by defining a field to limit your initial found set. This field is set in Data Source > Show Only Records Flag
- Startup scripts for your solution can also slow you down. Every time you create a new connection to the server, you run the solution’s startup script. You can bypass that by adding an exit clause right at the top of the solution startup script that says
if [LeftWords (Get(ApplicationVersion);1) = “Web” and Get(SystemPlatform)≠4]
Exit (true)
End if
- If you’re using Advanced Server-Side scripts, you have to be very careful how they’re constructed so that they don’t hang in a loop, accidentally return your entire data set, or do other time consuming tasks like sorting or summarizing.
- If you’re NOT using Advanced Server-Side scripts make sure you haven’t selected one in the Data Source setup.
- The absolute biggest slowdown we’ve seen is complicated unstored calculations on your Data Source layout (the layout you reference in soSIMPLE Calendar Settings)
-
In WebDirect, there are two things be aware of when you don’t see a calendar where you did in FileMaker Pro & Go clients.
1. Make sure the host part of URL is the exact same that you’re using to access WebDirect.
This is the error you’re running into. If the URL in the address bar for WebDirect is https://fmp.paradisepartners.com/fmi/webd and the URL of the web viewer is https://172.123.122.222/sosimple/sosimple_cal.php, you will see this error, or your webviewer will be blank. The easiest fix is to change the webviewer to match:
If there’s some reason that you can’t do that (for example, if your web pages are on a different server than your FileMaker Web Publishing engine), then you need to instruct your FileMaker Web Publishing engine that it’s OK to display content from your web server:
IIS HTTP Response Header configuration (FMS 14 or higher when you’re using multiple servers)
HTTP Response Headers must be updated in IIS on the server hosting the calendar when FileMaker Server is version 14 or higher due to increased security of FMS 14.
1. Launch Internet Information Services Manager (IIS) on the FileMaker WebDirect server.
2. Expand Sites in the left navigation panel.
3. Select the sosimple folder in the left navigation panel.
4. Click the HTTP Response Headers in the middle panel.
5. Update the X-Frame-Options setting from “SAMEORIGIN” to “ALLOW-FROM http://10.1.93.24” (IP address of web/php server)
2. Use the same host Protocol (http or https) as you’re using for WebDirect.
If the URL in the address bar for WebDirect is https://fmp.paradisepartners.com/fmi/webd and the URL of the web viewer is http://fmp.paradisepartners.com/sosimple/sosimple_cal.php, this will result in a blank web viewer, or an error “can’t show secure content on a secure page” or something like that. To fix this, change the webviewer to match:
You will need to change soSIMPLE Calendar Settings to reflect this change by making the URL to PHP point to the secure URL.
On Mac OS, you will also need to copy or move the soSIMPLE web page directory to the secure folder (Windows doesn’t use a separate folder, so this step is unnecessary).
/Library/FileMaker Server/HTTPServer/htdocs/httpsRoot
- This reply was modified 8 years, 4 months ago by admin.
Attachments:
You must be logged in to view attached files. -
-
Yes, you still have that option. Use &tm_step= followed by the number of minutes you’d like to to step the scale.
That, combined with &hr_height should give you what you’re looking for.
K
-
Hi Master.
There are probably a couple of ways to do this.
Hiding Menus:
First, I wanted to be sure you know that you can choose what menus are available on the calendar, using the “Layout” section of Calendar Settings.
You can change the labels by putting a space instead of leaving it blank.
To be more direct, however, the easiest way to have the menus available, but to hide them is enter the following into custom CSS:
#nav {
display:none;
}
If you want to remove the entire bar, including the previous, next buttons, etc., there’s an option for that under “Options” in soSIMPLE Calendar Settings.
Running a script:
We can develop a custom bit of code that would run a FileMaker script when you change views. Let me via private reply if this is something that you’d like me to estimate.
-
The period should work fine as part of the search criteria. I just tried it on our starter file by adding Dr. Mark to category.
I suspect what’s actually happening is that the resource field is actually “Resource”. The field name is case sensitive. Can you verify that?
-
OK. For custom integration, you don’t need developer access to the soSIMPLE Calendar file.
Were you able to modify the url with either of the methods I mention?
- Modify the calculation of the web viewer object
- Include the “set web viewer” script step in your workflow
Thanks.
Ken
-
Hi again.
I just wanted to be sure we’re on the same page.
From previous posts, my understanding is that you’re performing a custom integration as we do on our 5-minute integration page. Is this correct?
http://www.sosimplesoftware.com/products/calendar-documentation/how-to-guides/five-minute-integration-server-powered/The resulting layout object, at the end of the tutorial, is a web viewer with a URL (double-click the web viewer to see the url). You can alter that URL by changing the calculation of the web viewer to reference fields or variables, or using the script step “set web viewer”.
https://www.filemaker.com/help/15/fmp/en/index.html#page/FMP_Help%2Fset-web-viewer.htmlIf you’re using the soSIMPLE Calendar file (and not the custom integration) we use the “set web viewer” step in many of our scripts.
Please let me know which method you are using so I can further assist you.
-
I don’t remember which iOS QR code reader we’ve used – perhaps others here can recommend a good one. The main thing is to be able to open the resulting URL in Safari.
Once it’s in Safari, you can create the web app by choosing “Add to Home Screen” from the share menu.
Here’s a nice summary of how to do this in various platforms.
-
I see what you’re trying to do!
Add the following to the end of the URL, and you will jump right to that date:
#date=2016-12-24You can even choose a specific view.
Here’s more details:
http://www.sosimplesoftwar.com/products/calendar-documentation/calendar-builder-reference/adjusting-your-calendar/url-anchors-for-date-and-view-links/If your clients choose to use the MBS plugin that we include, you can also send you a script step that will select the event in the calendar (highlights it in a specific color).
If you’re not using the plugin, we can also customize the calendar to select an event by adding an id to the url.
Let me know if you need either of these things, or anything else.
-
I may need to know more about your workflow to answer more specifically. But in general, this is the way it works:
The client side script (“soSIMPLE Action Script”) runs every time you do anything in the calendar – drag, double-click, etc.. When that script runs, you’re in the context of whatever layout you’re on when you double-clicked, and whatever record. You’ve also got whatever variables you’ve already set within FileMaker. So not only does that script know everything about the double-click action you just took in the calendar, it also is a regular FileMaker script that knows about your current context in FileMaker.
Like anything FileMaker-based, you’ve got a lot of flexibility in how you use that script.
My suggestion was to set a global variable or global field before you get to the calendar layout, representing the primary key of the service record. Then when the Action script runs, you can set a foreign key field to the number you stored in a global.
You would insert that after
else if ($type=”New”)
– that’s the section of the script creates a new record.More information about the Action Script:
http://www.paradisepartners.com/products/calendar-documentation/calendar-builder-reference/data-sources/filemaker-fields/scripts/action-script/Attachments:
You must be logged in to view attached files. -
I’m not sure if you’re using WebDirect or FileMaker Pro/Go.
If you’re using FileMaker Pro client, everything is script-based:
- Create a script that populates the id_service_visit (as either a global field, global variable, or by basing the layout on the Service Visit record) then lands you in the calendar view
- When you drag or double-click an area on the calendar, the soSIMPLE Action Script will run
- The first thing you can do in that script is set a variable to the id_service_visit. If you set it right at the top, you’re still in context of your current record.
- In the content of the script, you will see a section that says “else if ($type=”New”)” – in that section you can set your foreign key field to the variable you set at the top of the script
To toggle the New/Update button, you’d have to check the existence of a related event attached to the Service Visit. If there is one, just use your own script to go to and edit the event. If there isn’t, then go to the calendar layout as above.
Does that answer your question?
-
We just got off a support call for someone with very similar symptoms.
Their issue was that the end-date was not filled in for the records they expected to see on the calendar. So I’ll do some quick checks with you, and if none of these are it, let’s take a look together:
Required fields – all of these need to be filled in for every record you want to see:
- start date
- end date
- start time
- end time
- unique id field
- text for the event
User name and password must be set in the Data Source settings. (verify that they are correct!)
The user specified must have the PHP extended privilege and must have access to the event data.Nothing should be red in the Data Source settings window (except maybe the script names, if you haven’t copied them). That would indicate that either the layout selected or the fields selected don’t exist or aren’t on the layout specified.
Open the preferences window (click the gear icon on the main calendar settings interface). Make sure you aren’t using standalone mode (you can see the URL) and that you can successfully clear the cache (the button under the URL).
I’m assuming both files (your file and the settings file) are on the same server as one another and as the FileMaker Server web publishing engine. If that’s not the case, you probably wouldn’t see the calendar background show up. If they are on different servers, there are a couple of other settings to look at.
Let me know if it’s any of those.
-
Can we hop on a support call? Please send me your email address and phone number in a “Private Reply” . We’ll email you shortly.
-
AuthorPosts