Jump to content

Russell Watson

  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About Russell Watson

  • Rank
  • Birthday 01/01/1967

Profile Information

  • Industry
  • Gender
  • Location
    Arnsberg, Germany
  • Interests
    Awesome Software Development with FileMaker, JavaScript, XML, XSLT, XQuery. Oh, and Life the Universe and Everything

Contact Methods

  • Website URL

FileMaker Experience

  • Skill Level
  • FM Application

Platform Environment

  • OS Platform
  • OS Version

FileMaker Partner

  • Certification
  • Membership
    FIleMaker Platinum Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I'll go with you on this one ... You've been thinking about all this stuff for over a year - and doing a VERY good job of it! ... I'm just looking at it from my own perspective, and don't have a feel for the bigger picture. Do what you do well!
  2. Great! My thoughts: While a generalised doc-hooks feature would make it possible to integrate the bundle into some other work flows (like what though?) I feel the two workflows - Show bundle in Carafe, and - Update bundle from Carafe (i.e. Script *steps*) would be better if they are ‚baked in‘. I.e. Updating of a bundle should be as easy as the initial deployment of a bundle - just one click - with no further settings necessary, because all of the original settings are remembered in the URL. This would make it possible to keep bundle development 100% separate (in carafe) and simply redeploy to get the latest code (like pulling latest code from github) Your ball 🙂 have fun!
  3. Feature Request: Script documentation with Links This is an extension of my last post, in which I suggested mentioning the author/creator of the bundle in the script comment. This idea builds on that with the suggestion of adding some LINKS in the script comment. Below are some example links for the Carafe Leaflet v2.1.0 Bundle: # ==================================================================================================== # PURPOSE: # Loads Carafe Leaflet v2.1.0 into a Web Viewer. # # DEPENDENCIES: # Must run in the context of a layout containing a Web Viewer named to match the configured value below # # HISTORY: # Generated 4/23/2020 by Carafe v3.0.3 # # PARAMETER TEMPLATE: # JSONSetElement( $parameter ; [ "mapData" ; $mapData ; JSONString ] ) # # LINKS: # Made with: https://carafe.fm # Created by: https://carafe.fm/author/soliant/ # View Bundle online: https://carafe.fm/bundle/leaflet-soliant/ # View Bundle in Carafe: fmp://$/Carafe.fmp12?script=ViewBundle&$id=256824A3-2692-40B9-A5AF-4FE42DFDF4D0 # Redeploy Bundle from Carafe: fmp://$/Carafe.fmp12?script=RedeployBundle&$id=256824A3-2692-40B9-A5AF-4FE42DFDF4D0 # # ==================================================================================================== You can see that the list contains 'normal' links to the Carafe website, to the Carafe author page and to the online bundle documentation, as well as some special fmp-url 'action' links: action link to view the bundle in (the open) Carafe file action link to trigger a redeployment of the bundle in (the open) Carafe file Links in the bundle's comment are certainly helpful - even if the user has to copy the URLs out by hand and manually type them into the browser, they are still useful. so that the code does not get severed from the Carafe tool. so the user can quickly find documentation However, if the user installs fmAutoMate (https://www.fmworkmate.com/fmautomate) - a (mac-only) tool - from me & using the MBS plugin - aiming to turn the script workspace more into an IDE - it becomes as easy as just clicking the links - or even just pressing ctrl+cmd+U. Here is a proof-of-concept video fmAutoMate Towards an IDE with Carafe (worth watching!) The action links I have hacked together two scripts in my version of Carafe ViewBundle - to display a bundle RedeployBundle - to trigger the redeployment (that is update) process as a proof-of-concept of the method. (These I can provide to you, so that you can code them 'properly', if you wish) Let me know what you think! Happy FileMaking! MrWatson
  4. Great News! I've seen a recent Carafe-entry in the FileMaker Forum ... so I guess things are beginning to pick up! Another Feedback: I've noticed that the final script that gets pasted into your target solution does not document the Bundle author: # ==================================================================================================== # PURPOSE: # Loads Carafe C3 v2.1.0 into a Web Viewer. # # DEPENDENCIES: # Must run in the context of a layout containing a Web Viewer named to match the configured value below # # HISTORY: # Generated 4/27/2020 by Carafe v3.0.3 # # PARAMETER TEMPLATE: # JSONSetElement( $parameter ; [ "jsonData" ; $jsonData ; JSONString ] ) # # ==================================================================================================== I find that a shame. I think it would be fair to the original authors to reference them in the comment, maybe something like this: : # DEPENDENCIES: # Must run in the context of a layout containing a Web Viewer named to match the configured value below # # CREATOR: # Jesse LaVere # # HISTORY: # Generated 4/27/2020 by Carafe v3.0.3 # : Thanks for everything! MrWatson
  5. Rather than using GetAsDate - which converts a (locale-specific) text representation of a date into a date. GetAsDate ( Left ( Dates::MMYYYY ; 2 ) & "/1/" & Right ( Dates::MMYYYY ; 4 ) ) it would be better to use the simpler Date constructor: Date ( Left ( Dates::MMYYYY ; 2 ) ; 1 ; Right ( Dates::MMYYYY ; 4 ) ) ...otherwise v2 seems to be doing the job fine
  6. OK, so FMForums merges multiple posts into one ... good to know. Bug: object missing I noticed the sort buttons cause an error if you have pause-on-error set. Doesn't effect the UX, but good to clean up MrWatson Feature Request: Support for Deploy/Update flow Currently you can only copy the entire script out of Carafe. Will you be considering an option to copy just the script steps, so that we can update an existing script (so as not to break calls to it)? Like that I can develop my source code bit by bit and continually redeploy the source code out of Carafe without breaking my script or having to fiddle around pasting a script and then copying the steps over to the old script. THANKS for a fantastic tool (watched Carafe part 2 in the meantime ... fantastic aims!) ❤️ MrWatson
  7. Hi Jeremiah, maybe this is a place we can pass Feedback to you about Carafe.FM? MrWatson Improvement: UX confusing when search finds nothing Hi Jeremiah, I'm still goggling at Carafe ... and loving every minute of it! In general fantastic job on the UX of the whole app! Congrats! One thing is confusing ... when you search for something and nothing is found there is no feedback ... I then made the mistake of thinking the two little arrows to the right of the search box are for navigating the search term ... but clicking them doesn't work ... and then I realised, that they are for sorting ... Solution idea: Visual feedback It would be great if there was some kind of visual feedback to let you know that nothing has been found. Maybe a (very) quick and dirty fix could simply be a conditional format on the search box -> goes red when error 401 is active. (See image) Thanks MrWatson P.S. Have you considered hosting the Carafe.FM FileMaker files on GitHub? You have your other Carafe-code on GitHub, why not the FileMaker files, too? OK, so they are binary files, but on GitHub we could leverage the Issue-tracking tools, and make use of pull requests, etc.?
  8. ...and thanks to you Jeremiah for such a fantastic tool for making web-widget development a dream! The way that Carafe manages and bundles up the entire sprawling web-app code and creates a SINGLE script to power a web-viewer is tantalizingly simple and elegant! I think Carafe.FM is as yet mostly undiscovered by the FileMaker community, but with the tighter integration between FileMaker and the WebViewer coming in FM19 that is going to change big time. Carafe.FM is going to be the de-facto tool of choice for integrating the FileMaker development world with the Web development world. You were simply a year ahead of the crowd! I wish you - along with the entire FileMaker community - every success in taking Carafe and FileMaker forward into the wildly integrated and connected future. Let's do it! MrWatson
  9. Why? do you want to use get? look in the cgi routines.
  10. that should of course read submitDate( $theDateFromTheUser, $submitDateOrder )
  11. Hi fmwebby,.... It seems internally the Filemaker php API works with american date formats. This means that dates have to be converted when output or input. Use the method displayDate( $theDateFromFileMaker, $displayDateFormat ) to convert from US to your preferred date format. Use the method submitdate( $theDateFromTheUser, submitDateOrder ) to reconvert the input date into US-format. The php Site-Assistant has a hack whereby they just 'submit' the american date format to the user, because they haven't programmed the conversion of the date at submit-time! This means that - until further notice or at least further programming - all dates hve to be entered good ol' US-style!
  12. Hi! I'm also working on an import/export utility - interesting topic.... what I don't understand here though is what the problem is when importing tab-delimited data. I've just made a test file with name and address fields and can quite happily import and export data to/from the fields - including commas. How do commas affect your import? What extension does the file have .txt .tab .csv?
  13. Hi, nice! Just a helpful tip for people debugging when they have problems with go to object for dynamic field-setting... Go to object[ objectNameOfField ] doesn't work if the field you wish to go to has a button attached to it! In that case the button is selected with a thick border instead of the field being selected... ...that caught me out for a while. Have fun everybody!
  14. Hello folks. I wish to programme a function into my database that gives the database the ability to resize graphics to any size using a layout page of exactly the required size. The technique I use is to create a layout with only the source (over-large) graphic on it, but scaled to exactly the size I wish to convert the graphic. I then change to preview mode, execute a copy scriptstep - which copies the current page as a graphic - and then paste the result into the correctly-sized graphic field. The problem is that the PAGE, and not just the graphic must be exactly the size I want it. Thus I would like a completely flexible printer driver, so that I can set the page size to exactly the required size. Note that I never actually print - so it doesn't matter if I dont actually have the printer. I only want to use it to set the page size. Any ideas? I'd be very grateful. Yours Russell
  15. Hi bob. Here's my definitive answer: ------------------------------------------------- GetLastEntered__CFpub( fieldName ) /* Returns the last entered value, starting at and including the current record Use this function to extend column data over empty rows. */ GetLastEntered__CFpvt( fieldName ; Get( RecordNumber ) ) ------------------------------------------------- GetPreviousEntered__CFpub( fieldName ) /* Returns the last entered value, starting at but NOT including the current record Use this function, for example, to compare the value entered in the current record with previously entered value. */ GetLastEntered__CFpvt( fieldName ; Get( RecordNumber ) - 1 ) ------------------------------------------------- GetLastEntered__CFpvt( fieldName ; recordNum ) // Private recursive part if( recordNum >= 1 ; if( isEmpty( GetNthRecord( fieldName ; recordNum ) ) ; GetLastEntered__CFpvt( fieldName ; recordNum - 1 ) // Empty => try previous ; GetNthRecord( fieldName ; recordNum ) // Not empty => result ) ; "" // start of list => empty result ) ------------------------------------------------- The two public functions user the private function to do the work, whereby GetLastEntered__CFpub starts at the current record and GetPreviousEntered__CFpub starts at the previous record. You could use, for example, GetPreviousEntered__CFpub in an auto-enter calculation, and GetLastEntered__CFpub in an output field which extends a sometimes-empty input field: input_ | output_ field: | field, unstored = GetLastEntered__CFpub( input_field ) ------ | ------ hello! | hello! ------ | hello! ------ | hello! ------ | hello! byebye | byebye ------ | byebye Does that help? russell.watson@gmx.de
  • Create New...

Important Information

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