Jump to content


  • Posts

  • Joined

  • Last visited

About human

  • Birthday November 8

Profile Information

  • Title
  • Industry
  • Gender
  • Location
    Woodstock, NY

Contact Methods

  • Website URL

FileMaker Experience

  • Skill Level
  • FM Application

Platform Environment

  • OS Platform
  • OS Version

FileMaker Partner

  • Certification
    Not Certified

human's Achievements


Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges



  1. I have a database of audio tracks. The audio files themselves are stored on AWS S3 using cloudfront. The database is a list view, with a popover button on each row. When the popover button is clicked, it shows some additional info and options, and plays it in a little webviewer, which references a cloudfront URL. I have found this to be faster than downloading the file into a container and then playing it with FM's built-in audio controls. And also I prefer the way the controls are shown in the web viewer - I get duration, forward and back, and a slider, for "free". The web viewer references the cloudfront URL, which is set with an "on object enter" trigger, and set to null with an "on object exit" trigger. If the user clicks out of the popover it stops playing the track. If the user clicks the popover on a different row, it stops the previous track and plays the current one. This all works as expected. Now I'd like to assign keys to have a script to go to the next or previous row, and open the associated popover (by using a "go to object" script step). To my surprise, the audio from the previous track does not stop playing, even though I explicitly set the URL to null in the script. I finally discovered that inserting a 1 second pause (minumum), before opening the next popover, got it to stop playing the previous audio. So is this just a quirk of webviewers? is there another explanation?
  2. Claris says this is a known issue. Seems like it's fixed in FMP 19.2.1, but I haven't tested with older server versions
  3. I have a global container field that I want to display a PDF in interactive mode, so that one can scroll through a multi-page document. Works when the file is local, but gives an error when hosted on FM Server 19 on Mac 10.14, with the client being FM 19.2.1 on OS 10.14 or 10.15. Works if I change it to non-interactive. Googling around, the answer is supposed to be that the server needs a valid SSL cert, needs port 443 open, and needs web publishing running. But all these conditions have been met, doesn't help. The error is always something lime this: Proxy GET /Proxy/98B041CA3BED0A7582EDA599467B187A.pdf?urlid=98B041CA3BED0A7582EDA599467B187A 1631 -H "Upgrade-Insecure-Requests: 1" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Safari/531.9" -H "Accept-Language: en-us" -H "Accept-Encoding: gzip, deflate" -H "Connection: keep-alive" -H "X-FMS-Session-Key: 063EE5498D1683F7E3435E33889E1B8073D01C459C426AAAEBF0BED1437D99EF"
  4. count works, thanks! However, on a local file this is fast. But when connected to a remote server, trying to sort on that field is extremely slow, because there are over 400K entries in the join table.
  5. I have a database with 3 tables (to simplify): keywords (keyword_text and keyword_ID), files (filename text and file_ID) and a join table (keyword_ID, file_ID). Suppose I want to have a list view that shows all filenames with their associated count of keywords attached to each file, and conversely another list view with all keywords and their associated count of files attached to each keyword. How would I go about doing that?
  6. I'll try this. However, not sure what you mean by "Note: this sound plays without user controls, and plays asynchronously.". The whole reason for me to want it in a web viewer is because the default HTML5 controls work better than FM's "interactive" container controls. For example, if you turn on autoplay in FM's version, there is no way to stop it that I have found, even if you overwrite the container with "". In the HTML5 version, autoplay works great and the track stops playing as soon as i set the global field that holds the URL to "". Thanks.
  7. I went back and revisited this and now I am pretty confused, because, even with full disk access enabled, I can't get the web viewer to play the audio either from my documents or desktop folder. If I paste the address "file:///Users/jim/Documents/000001.m4a" into Safari it plays in Safari, but won't play in the web viewer with this code: "data:text/html, <body style='border=0;overflow:hidden'> <body topmargin=0> <body leftmargin=0> <audio controls preload='none' style='width:480px;'> <source src=file:///Users/jim/Documents/000001.m4a type='audio/mp4'> <p>Your browser does not support HTML5 audio.</p> </audio> " The player shows controls but nothing happens when I click play. But works fine with a valid https web URL
  8. this works: file:///Users/jim/Documents/TempTracks/UNSOLD_aac/000/000001.m4a but this does not, gives an error: file:///Users/jim/Desktop/TempTracks/UNSOLD_aac/000/000001.m4a I also tried movie:/// and filemac:///, neither work So I assume that the web viewer can only access files in documents or temporary folders? Is this documented anywhere?
  9. I have a solution that is a catalogue of audio files. The actual audio files exist on a web server, and I play them in a web viewer. However the user can alternatively play them from a local folder if he has a copy of that, and that is done by copying a reference to that local file into an interactive container field. This works fine, however the web viewer player looks better - it has fast forward by 30 seconds and back by 15 seconds buttons, and a time display on the progress bar, while the interactive container does not. I read somewhere that I should be able to play the local file in a web viewer by first referencing it in the container, then getting it's URL by doing: GetContainerAttribute ( the_field ; "externalfiles" ) and appending "file:"/ to the start of that, then using that as the web viewer address. But it doesn't work - just doesn't play or make any sound. I also tried "filemac" and "movie", but no go. I think it may be because the file location for the web viewer might have to be a temporary folder that Filemaker has access to, but if so, then why does it have no problem playing it in a container?
  10. I finished recoding it and it works great. Thanks all!
  11. I will probably re-code to use extended/constrained finds, for two reasons: - executeSQL works great on a local DB, and on a server to client except for the first time it's run, which can take 20-30 seconds. After that it's fine, but that initial delay is annoying. I've Googled around and can't find a solution to that. - using a portal to display the data has it's down sides: - need a different portal for each different sort order, because you can't sort by calculation. I have 8 columns to sort up or down, so I need 16 copies of the same portal. - "Find" mode inside a portal does not confine the search to just the records in the portal, which is a drag.
  12. In the first one I was describing the "and" process in order to show that for each iteration of the loop there is an executeSQL statement, and I thought that was what was slowing it down. But it turns out that simply changing the order of the related tables resulted in a big speed-up. As far as I can see, there would be no way to use a constrained find, because the keywords and their ID's are not in the same table as the other track info. They are only related through the fileID-keywordID table, so that requires a lookup, which I am doing with the executeSQL statement. But maybe I am wrong about that. Anyway, it's working great now, except for the first time a user searches, which always seems to take a bit longer than subsequently. I'm guessing that has something to do with how I have indexing set up, so i am playing around with that. BTW I have no control over the raw data - that is coming from a mysql database that someone else set up and I can't change it. Thanks.
  13. as per the link your referenced, using an unstored Get(FoundCount) field is way faster that using a summary count field. Thanks!
  14. Well it's not simple, that's for sure. The relationship between the main file and the fileID-keywordID file is through the fileID. There is a global fileID field in the main file. By populating that with a carriage return delimited list of fileID's (the "magic key"), the portal shows all of the file ID's in that list (I use the "UniqueValues" function to eliminate duplicates). For the "any" search: Each time to user selects another keyword from a pop-down list, I set a variable to executeSQL "select fileID from fileID-keywordID where kwdID = ?". That returns a list of fileID's which contain that keyword, and that gets added to the list that is the global fileID field (the magic key). A list of all keywordID's that have been selected is also maintained and displayed (as actual text, not as ID's - eg "ambient" or "moody" etc). For the "all" search: Same as above, but I first save the previous list of ID's. Then I loop through the current list of keywdID's, and on each item in the keyword list I do the exceuteSQL as above, but then I compare the new list of fileID's to the previous list of fileID's, and use FilterValues to find the intersection of those two lists, which then becomes the new "previous" list. When the loop is done I have a list of fileID's which contain all keywordID's in the keywordID list. This is surprisingly fast, even on the server it only takes a few seconds, though I haven't tried it with very long lists yet. There is also a "remove" button which removes selected keywords from the list, and then loops again to build the new list. There are 9 categories of keywords selectable via 9 pop-down menus with a script trigger on each. I decided to use a portal because, although it's easy to display 37,000 lines, it's not very useful for users without being able to narrow it down to keywords. I originally wanted to have a second portal which would be a kind of matrix from which users could select and unselect keywords, instead of selecting from pop-down lists. But currently i have no idea how, unless maybe I leverage javascript to do that. The actual music files themselves are stored on Amazon S3, and can be played via a small web-viewer pop up which also displays the wave form and other detailed info such as time, date, etc. I'll check out that link, thanks.
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.