Jump to content

Search the Community

Showing results for tags 'json'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Community Forums

  • Community Resources
    • Community Articles, Tips, & Techniques
    • FileMaker Marketplace Discussions
  • FileMaker Security Management
    • Security Concepts
    • Intellectual Property
  • FileMaker Server Administration
    • FileMaker Server 16
    • FileMaker Custom SSL Certificates
    • oAuth and External Server Authentication
  • FileMaker Go & Mobile Strategies
    • FileMaker Go for iPhone & iPad
    • iBeacon Support
    • FileMaker IOS App SDK
  • FileMaker and the Internet
    • FileMaker REST API
    • FileMaker Cloud
    • FileMaker WebDirect
    • Custom Web Publishing
    • Other Internet Technologies
  • FileMaker Interface Features
    • Cards & Window Management
    • Interface Design Discussions
    • Layouts
    • Themes and Styles
    • Button, Popovers, Button Bars, SVG Icons
    • Tab and Slide Control Panels
    • Portals
    • Web Viewer
    • Conditional Formatting
    • Custom Menus
    • Value Lists
    • Tool Tips
  • FileMaker Schema & Logical Functions
    • Managing Scripts
    • Calculation Engine (Define Fields)
    • Custom Functions Discussions
    • FileMaker Query Language or FQL
    • Relationships
    • Charting
    • Remote Container Fields
    • Finding & Searching
    • Importing & Exporting
    • External Data Sources
    • Advanced & Developer Features
    • Reports, Printing & Publication
  • Brain Food
    • The Left Brain
    • Upgrading & Migration
    • Data Analysis
    • Development Standards
    • The Separation Model
    • Relational Database Theory
    • Damaged / Corrupt File Problems
    • OS Level Database Automation
    • Hardware & Networking
    • Bar Codes (Printer, Scanners, Software)
  • FileMaker Discussions
    • FileMaker Pro 16
    • FileMaker Pro 15
    • Legacy FileMaker Platform Discussions
    • Product Ideas
  • Productive Computing Support Forums
    • Visit Productive Computing
    • General Discussion for Productive Computing Products
    • Core CRM Solutions
    • QuickBooks and Accounting Plug-ins
    • Contact and Calendar Management Plug-ins
    • FileMaker Utility Plug-ins
  • 360 Works Official Product Support Forums
    • 360 Works General Support
    • MirrorSync by 360Works
    • 360Deploy
    • SuperContainer by 360 Works
    • ScriptMaster by 360 Works
    • FTPeek by 360 Works
    • 360Works Email Plugin
    • DocuBin by 360 Works
    • Zulu – FileMaker, iCal & Google Calendar.
  • Geist Interactive Product Support Forums
    • Visit Geist Interactive
    • Visit Modular FileMaker
    • FMPerception
    • Generator
    • fmQBO
  • FileMaker Vendors
    • FM Starting Point - By Richard Carlton Consulting
    • Monkey Bread Software (MBS Plugin)
    • SyncServer Pro by LinearBlue
    • Comm-Unity Networking Systems (CNS)
    • SmartPill PHP Edition
    • FileMaker Plug-Ins
    • Accounting Solutions
    • FM Easy Suite Framework
  • FileMaker Training Resources
    • Professional FileMaker Training
    • ISO FileMaker Magazine
    • FileMaker Developer Conference
    • User Group Central - Sponsored by FMPug.com
  • FileMaker Classifieds
    • Announcements of FileMaker Product, Services or Resources
    • Services for Hire
    • Services Wanted
    • Solutions Wanted
    • Tools Of The Trade
  • FM Forums Operations
    • FM Forums Feedback & Site News
    • Member Lounge
  • FileMaker Friday Night Chat's Topics

Blogs

There are no results to display.

There are no results to display.

Categories

  • White Papers
  • Infographics
  • Samples
  • Solutions
  • FMGo
  • Plug-Ins

Product Groups

  • Site Donations
  • Site Advertising

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Title


Industry


Location


Interests


Website URL


Skype


MSN


Yahoo


OS Version

Found 16 results

  1. big hack#1 "JSON and FileMaker 16" https://t.me/filemaker_help January 25, 2018 In development process of information system definite records are required to be selected. For example, needed nomenclature could be added to shopping basket from product list. With 16 system release and adding functions JSON implementation of this task was greatly simplified. Earlier for user selects holding global field or supporting table was required. We had to follow that this field or table were emptied before every new selection procedure. Only public variable is needed now. All information about selected records can be easily added and read by using function JSON,, where the result will be the following JSON- text: “{"1":true,"3":true,"4":true}” in which 1,3 and 4 – keys , which name corresponds to chosen identifier (if we chose record with id 1,3 and 4). Every key gets assigned the same boolean value: true. Script , applying data-hold in JSON-text, is simply arranged . Let us suppose, we handle button, by which the user choses certain record or unselects. Thus we decided to store JSON-text in public variable $$JSON. STEP1 From the beginning we need to initialize JSON-text as it is not empty in initial state, it looks as : “{}”. We can do it once in the script, prenex user’s work with recordset. At this script item will appear : Set Variable [$$JSON; “{}”]. But we can dispence with preliminary script. For example, we can perform such check each time, user push the botton to “select” record. The check will look so: If (IsEmpty ($$JSON);"{}";$$JSON) Later identifier value of current record can be accounted and memorized in variable $id_record. Set Variable [$id_record; GetLayoutObjectAttribute ("id";"content")] In order to item in script worked with using function GetLayoutObjectAttribute, It is needed to place object on layout, displayed ID item, and name “id”. STEP2 Then you make sure existence of tandem in JSON-text, whose name of key corresponds to identifier. If current record has identifier 5, we have to find tandem “5”:true. Here we use function JSONGetElement JSONGetElement($$JSON; $id_record) STEP3 As such tandem doesn’t take place in our example, function returns “empty”. It means this tandem needs to be added to JSON-text by function JSONSetElement JSONSetElement ($$JSON; $id_record), результатом будет запись в $$JSON: “{"1":true,"3":true,"4":true, "5":true}” If JSONGetElement($$JSON; $id_record) returns 1, it means that in text record is already considered. We need to do back action,- delete tandem from JSON by function JSONDeleteElement JSONDeleteElement($$JSON; $id_record), if $id_record was equal to 3, so tandem "3":true," would be deleted and we would get: “{"1":true,"3":true,"4":true}” Thus , efforts are being made to fix and regulate chosen item in case of using JSON-function – minimum. Let us draw our conclusion. For implementation of this task we need: To create JSON-text in public variable $$JSON To check using function JSONGetElement, if value from $id_record took place in $$JSON. If it there isn’t , needed value from $id_record should be added in $$JSON using JSONSetElement If record should be deleted from $$JSON, we use JSONDeleteElement. Script "CheckButton" from MS.fmp12 #Write the current value of the object named id Set Variable [ $record_id; Value:GetLayoutObjectAttribute ( "id";"content" ) ] #check if there is a JSON variable Set Variable [ $$MULTISELECT_LIST; Value:If (IsEmpty ($$MULTISELECT_LIST);"{}"; $$MULTISELECT_LIST ) ] #switch if the variable is empty then write, otherwise delete If [ JSONGetElement ( $$MULTISELECT_LIST;$record_id)] Set Variable [ $$MULTISELECT_LIST; Value: JSONDeleteElement ( $$MULTISELECT_LIST;$record_id )] Else Set Variable [ $$MULTISELECT_LIST; Value: JSONSetElement ( $$MULTISELECT_LIST;$record_id; 1; JSONBoolean) ] End If #refresh checkboxes Refresh Window Refresh Object [ Object Name: "checkbox" ] Download file MS.fmp12 Invest in the development of our project We are ready to help in your development projects. Contact us and we will try to help you: artidog@gmail.com MS.fmp12
  2. Hierarchical JSON Viewer / Editor By Andy Persons & Doug West One of the standout new features of FileMaker Pro 16 is native support for the JSON data-interchange format. In addition to providing easy integration with a host of online services, it also provides developers with the tools to create robust hierarchical structures for use entirely within FileMaker. This hierarchical JSON viewer / editor file provides some tools for visualizing, manipulating, and leveraging JSON text. Features Automatically creates a representation of any JSON text as a hierarchical portal of records, where individual elements can be expanded and collapsed Dynamically replicates changes to the hierarchical records in the JSON text, including add, edit, and delete actions Highlights the corresponding JSON element when a record is selected Applications Easily visualize large JSON text, collapsing nodes to focus on just the relevant sections. Manipulate JSON without needing to worry about the correct syntax Convert JSON returned from a web service directly into usable Filemaker records, customizing it to your needs Create and store hierarchical structures entirely in text (such as global variables), and display it as hierarchical records on the fly How it Works When JSON text is initially entered, the “JSON – Create Children” script retrieves the root keys using JSONListKeys(), loops through the result, and creates the root records. When an element is eXpanded, the same script creates its child records if they don’t eXist and eXpands the hierarchy. When eXpand All is clicked, a similar script “JSON – Create All Descendants” loops through every element recursively and creates all descendants. Values for each record are retrieved and set using JSONGetElement(). To keep things streamlined, JSON key paths are used for the parent-child keys. Records are marked as arrays based on the presence of a left bracket (“[“) and formatted accordingly. Since JSONFormatElements() imposes a standard format, elements have a predictable number of leading and trailing lines. These are recorded in lines_leading and lines_trailing, respectively. They are then used in the Highlight Element script to calculate which part of the JSON text should be highlighted when an element record is clicked. Enjoy! •• Download - JSONViewer.fmp12 •• **This article is provided for free and as-is, use, enjoy, learn, and experiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ FileMaker Pro consulting & development services. About eXcelisys, Inc.: Founded in 2001, eXcelisys (www.excelisys.com)is an FBA Platinum Partner and FileMaker Certified developer organization. eXcelisys specializes in designing, developing, customizing, supporting, consulting, migrating, upgrading, fixing, and integrating of database solutions for Desktop, Mobile, and Web applications. Our core technology competencies are FileMaker Pro, FileMaker Go, and MySQL for database frameworks, along with FileMaker WebDirect, WordPress, MySQL, PHP, CodeIgniter, PostgreSQL, Joomla, Drupal, Magento, CSS, HTML5, and Javascript for web sites and web applications. Aside from providing eXcellent customer service, our goals are to use these technologies to intuitively automate your organization’s data solution needs seamlessly and flawlessly across the web, mobile, and desktop platforms. Contact eXcelisys today for a free estimate and consultation about making your business more efficient through intuitive and effective software automation. 866-592-9235. eXcelisys, Inc. is an independent entity and this web site/information/blog post has not been authorized, sponsored, or otherwise affiliated with FileMaker, Inc. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries.
  3. I am getting a JSON response back from the UPS API that returns the shipping label in GIF format. I would love to display that as an image (and even print it), but none of the decode functions seem to do the right thing. Here is the JSON: (note the key for the GIF is ShipmentResponse.ShipmentResults.PackageResults.ShippingLabel.GraphicImage How do I get that GIF to display as an image in FileMaker? Thanks, Ryan {"ShipmentResponse":{"Response":{"ResponseStatus":{"Code":"1", "Description":"Success"}, "TransactionReference":""}, "ShipmentResults":{"ShipmentCharges":{"TransportationCharges":{"CurrencyCode":"USD", "MonetaryValue":"112.19"}, "ServiceOptionsCharges":{"CurrencyCode":"USD", "MonetaryValue":"0.00"}, "TotalCharges":{"CurrencyCode":"USD", "MonetaryValue":"112.19"}}, "NegotiatedRateCharges":{"TotalCharge":{"CurrencyCode":"USD", "MonetaryValue":"111.07"}}, "BillingWeight":{"UnitOfMeasurement":{"Code":"LBS", "Description":"Pounds"}, "Weight":"10.0"}, "ShipmentIdentificationNumber":"1Z22VA000197219429", "PackageResults":{"TrackingNumber":"1Z22VA000197219429", "ServiceOptionsCharges":{"CurrencyCode":"USD", "MonetaryValue":"0.00"}, "ShippingLabel":{"ImageFormat":{"Code":"GIF", "Description":"GIF"}, "GraphicImage":"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", "HTMLImage":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTCAzLjIvL0VOIj4KPGh0bWw+PGhlYWQ+PHRpdGxlPgpWaWV3L1ByaW50IExhYmVsPC90aXRsZT48L2hlYWQ+PHN0eWxlPgogICAgLnNtYWxsX3RleHQge2ZvbnQtc2l6ZTogODAlO30KICAgIC5sYXJnZV90ZXh0IHtmb250LXNpemU6IDExNSU7fQo8L3N0eWxlPgo8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIj4KPGRpdiBjbGFzcz0iaW5zdHJ1Y3Rpb25zLWRpdiI+Cjx0YWJsZSBjbGFzcz0iaW5zdHJ1Y3Rpb25zLXRhYmxlIiBuYW1lYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSI2MDAiPjx0cj4KPHRkIGhlaWdodD0iNDEwIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgo8QiBjbGFzcz0ibGFyZ2VfdGV4dCI+Vmlldy9QcmludCBMYWJlbDwvQj4KJm5ic3A7PGJyPgombmJzcDs8YnI+CjxvbCBjbGFzcz0ic21hbGxfdGV4dCI+IDxsaT48Yj5QcmludCB0aGUgbGFiZWw6PC9iPiAmbmJzcDsKU2VsZWN0IFByaW50IGZyb20gdGhlIEZpbGUgbWVudSBpbiB0aGlzIGJyb3dzZXIgd2luZG93IHRvIHByaW50IHRoZSBsYWJlbCBiZWxvdy48YnI+PGJyPjxsaT48Yj4KRm9sZCB0aGUgcHJpbnRlZCBsYWJlbCBhdCB0aGUgZG90dGVkIGxpbmUuPC9iPiAmbmJzcDsKUGxhY2UgdGhlIGxhYmVsIGluIGEgVVBTIFNoaXBwaW5nIFBvdWNoLiBJZiB5b3UgZG8gbm90IGhhdmUgYSBwb3VjaCwgYWZmaXggdGhlIGZvbGRlZCBsYWJlbCB1c2luZyBjbGVhciBwbGFzdGljIHNoaXBwaW5nIHRhcGUgb3ZlciB0aGUgZW50aXJlIGxhYmVsLjxicj48YnI+PGxpPjxiPkdFVFRJTkcgWU9VUiBTSElQTUVOVCBUTyBVUFM8L2I+PGJyPgo8Yj5DdXN0b21lcnMgd2l0aCBhIERhaWx5IFBpY2t1cDwvYj48dWw+PGxpPgpZb3VyIGRyaXZlciB3aWxsIHBpY2t1cCB5b3VyIHNoaXBtZW50KHMpIGFzIHVzdWFsLiA8L3VsPgogPGJyPiAKPGI+Q3VzdG9tZXJzIHdpdGhvdXQgYSBEYWlseSBQaWNrdXA8L2I+PHVsPjxsaT5UYWtlIHRoaXMgcGFja2FnZSB0byBhbnkgbG9jYXRpb24gb2YgVGhlIFVQUyBTdG9yZcKuLCBVUFMgRHJvcCBCb3gsIFVQUyBDdXN0b21lciBDZW50ZXIsIFVQUyBBbGxpYW5jZXMgKE9mZmljZSBEZXBvdMKuIG9yIFN0YXBsZXPCrikgb3IgQXV0aG9yaXplZCBTaGlwcGluZyBPdXRsZXQgbmVhciB5b3Ugb3IgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3d3dy51cHMuY29tL2NvbnRlbnQvdXMvZW4vaW5kZXguanN4Ij53d3cudXBzLmNvbS9jb250ZW50L3VzL2VuL2luZGV4LmpzeDwvYT4gYW5kIHNlbGVjdCBEcm9wIE9mZi48bGk+CkFpciBzaGlwbWVudHMgKGluY2x1ZGluZyBXb3JsZHdpZGUgRXhwcmVzcyBhbmQgRXhwZWRpdGVkKSBjYW4gYmUgcGlja2VkIHVwIG9yIGRyb3BwZWQgb2ZmLiBUbyBzY2hlZHVsZSBhIHBpY2t1cCwgb3IgdG8gZmluZCBhIGRyb3Atb2ZmIGxvY2F0aW9uLCBzZWxlY3QgdGhlIFBpY2t1cCBvciBEcm9wLW9mZiBpY29uIGZyb20gdGhlIFVQUyB0b29sIGJhci4gIDwvdWw+PC9vbD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSI2MDAiPgo8dHI+Cjx0ZCBjbGFzcz0ic21hbGxfdGV4dCIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KJm5ic3A7Jm5ic3A7Jm5ic3A7CjxhIG5hbWU9ImZvbGRIZXJlIj5GT0xEIEhFUkU8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48aHI+CjwvdGQ+CjwvdHI+CjwvdGFibGU+Cgo8dGFibGU+Cjx0cj4KPHRkIGhlaWdodD0iMTAiPiZuYnNwOwo8L3RkPgo8L3RyPgo8L3RhYmxlPgoKPC9kaXY+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjY1MCIgPjx0cj4KPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CjxJTUcgU1JDPSIuL2xhYmVsMVoyMlZBMDAwMTk3MjE5NDI5LmdpZiIgaGVpZ2h0PSIzOTIiIHdpZHRoPSI2NTEiPgo8L3RkPgo8L3RyPjwvdGFibGU+CjwvYm9keT4KPC9odG1sPgo="}}}}} ups_response_json.txt
  4. Hi Guys Thank you to Richard Carlton for his video on integrating Zippapotamus with Filemaker and the zipcode lookup. In Australia you can have multiple cities for a zipcode and the parsing code is pulling out the first entry and I would like to populated a value list if more than 1 is returned? A scriptParameter is sending this: "place name" &¶& $JSONdata to: Let ( ~startPosition = Position ( $JSONdata ; Quote ( $valueName ) ; 1 ; 1 ) + Length ( $valueName ) + 1 ; Middle ( $JSONdata ; ~startPosition ; Position ( $JSONdata ; "\"" ; ~startPosition ; 1 ) - ~startPosition ) ) Here is the JSON data {"post code": "4220", "country": "Australia", "country abbreviation": "AU", "places": [{"place name": "Burleigh Heads", "longitude": "153.45", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.1"}, {"place name": "Burleigh Waters", "longitude": "153.4341", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.0895"}, {"place name": "Burleigh Town", "longitude": "153.4341", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.0895"}, {"place name": "Miami", "longitude": "153.4341", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.0895"}]} Only the first "Place name" is being returned. Thank you in advance. Ron
  5. Hi everyone, I'm trying to post data to a Drupal application from FileMaker via the BaseElements plugin. I'm getting a token, setting authentication, headers, and the post variables via the BaseElements functions and I've followed examples but I'm getting the following error: {"error":"The type link relation must be specified.”} I can't find any information about what this error might be. Does anyone have any idea based on the output I've gathered below? A working cURL command that I'm basically trying to replicate that can be run from the command line is here: curl --include \ --request POST \ --user res_user:"password" \ --header 'Content-type: application/hal+json' \ --header "X-CSRF-Token: $X_CSRF_TOKEN" \ --data-binary '{"_links":{"type":{"href":"http://server.mskcc.org/rest/type/node/event"}}, "field_event_type":[{"value":"Seminar"}], "title":[{"value":”Novel Approaches to Mating Drosophila"}], "field_shared_datetime":[{"value":"2016-06-13T17:15:00"}], "body":[{"value":"Tea ?: Yes<br>Tea Time: Tea at 1:15 PM"}], "field_shared_location_text":[{"value":"ZRC Auditorium"}], "field_shared_sponsor":[{"value":"Developmental Biology"}], "field_event_hosts_text":[{"value":"Alexander Rudensky"}], "field_shared_people_text":[{"value":"Name of Speaker: Steven Reiner<br>Speaker\u0027s Credentials: M.D.<br>Speaker\u0027s Title: Professor, Department of Microbiology and Immunology<br>Speaker\u0027s Affiliation: Columbia University Medical Center<br>Institution Location: New York, NY"}], "type":[{"target_id":"event"}]}' \ http://dev.mskcc.org/entity/node?_format=hal_json I've attached the script I'm working with as an image. thanks in advance. Steven ----- BE_Curl_Trace returned: == Info: Trying 172.22.233.50... == Info: Connected to dev.mskcc.org (172.22.233.50) port 80 (#0) == Info: Server auth using Basic with user 'res_user' => Send header, 0x12c bytes (0x12c) 0000: POST /entity/node?_format=hal_json HTTP/1.1 0x2d: Host: server.mskcc.org 0x42: Authorization: Basic cmVzX2RydXBhbDpUcnU3SCZrQQ== 0x75: User-Agent: libcurl-agent-base-elements-plugin/3.2 0xa9: Accept: */* 0xb6: Content-Type: application/hal+json 0xda: X-CSRF-Token: q3LKwzWvNtlP2_X79TpJATfEnOB8HV-_lDaVCiTK8gg 0x115: Content-Length: 353 0x12a: => Send data, 0x161 bytes (0x161) 0000: " {\"_links\":{\"type\":{\"href\":\"http://dev.mskcc.org/rest/ty 0x40: pe/node/event\"}},.. \"field_event_type\":[{\"value\":\"Seminar 0x80: \"}],.. \"title\":[{\"value\":\"Sister Cells that Feast and Fas 0xc0: t --- Why Growth and Repair May Not be Fair XI\"}],.. \"field_s 0x100: hared_datetime\":[{\"value\":\"2016-06-13T17:15:00\"}],.. \"typ 0x140: e\":[{\"target_id\":\"event\"}]}" == Info: upload completely sent off: 353 out of 353 bytes <= Recv header, 0x1a bytes (0x1a) 0000: HTTP/1.1 400 Bad Request <= Recv header, 0xf bytes (0xf) 0000: Server: nginx <= Recv header, 0x24 bytes (0x24) 0000: Content-Type: application/hal+json <= Recv header, 0x1c bytes (0x1c) 0000: Transfer-Encoding: chunked <= Recv header, 0x18 bytes (0x18) 0000: Connection: keep-alive <= Recv header, 0x18 bytes (0x18) 0000: Keep-Alive: timeout=10 <= Recv header, 0x33 bytes (0x33) 0000: Cache-Control: must-revalidate, no-cache, private <= Recv header, 0x1a bytes (0x1a) 0000: X-UA-Compatible: IE=edge <= Recv header, 0x16 bytes (0x16) 0000: Content-language: en <= Recv header, 0x21 bytes (0x21) 0000: X-Content-Type-Options: nosniff <= Recv header, 0x1d bytes (0x1d) 0000: X-Frame-Options: SAMEORIGIN <= Recv header, 0x28 bytes (0x28) 0000: Expires: Sun, 19 Nov 1978 05:00:00 GMT <= Recv header, 0x25 bytes (0x25) 0000: Date: Wed, 03 Aug 2016 11:02:45 GMT <= Recv header, 0x2 bytes (0x2) 0000: <= Recv data, 0x40 bytes (0x40) 0000: 35 00x4: {"error":"The type link relation must be specified.”} <——— here's the error 0x3b: 0 0x3e: == Info: Closing connection 0 BE_Response_Headers returned: HTTP/1.1 400 Bad Request Server: nginx Content-Type: application/hal+json Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=10 Cache-Control: must-revalidate, no-cache, private X-UA-Compatible: IE=edge Content-language: en X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN Expires: Sun, 19 Nov 1978 05:00:00 GMT Date: Wed, 03 Aug 2016 11:02:45 GMT
  6. Version 1.0.0

    34 downloads

    Being unsatisfied with solutions I found on the internet and wanting a solution without plugin I created a set of custom functions that can read a path out of a json-string. Syntax: json_path ( json-string ; path ) examples: json_path( $user_prefs ; "Privileges/Modules" ) json_path( $json_data ; "Menus/Menu[10]/MenuItem[5]/Label" )

    Free

  7. FileMaker 16 introduced a collection of built-in functions for manipulating data serialized as JSON. This makes it easier for FileMaker applications to interact with many web services. This will also make JSON the de facto standard format for scripts within FileMaker to pass parameters and results to each other, improving code sharing within the FileMaker community. JSON does not have a broad palette of scalar data types to choose from: text, number, boolean, and null. Even with those, FileMaker's JSONGetElement function always returns a text result, even when the serialized JSON value is a number or boolean. So I made a handful of custom functions and scripts for sending and receiving typed data with JSON. The module is hosted on GitHub, or you can download it directly.
  8. AlanTrewartha

    fmresultsetjson.xsl

    Version 1.0.0

    11 downloads

    XSLT to convert Filemaker's REST web-service XML response into clean JSON https://twitter.com/alantrewartha 2017-03-06 Adapted from the original Six Fried Rice XSLT here http://sixfriedrice.com/wp/products/filemaker-to-json-converter/ Changed: * single quotes to JSON-standard double-quotes * removed "fieldDefinitions" block (personal preference) * stopped every field value being presented as an [ array ] even when not a "repeating field" * added whitespace escaping code The white-space escaping code was entirely cribbed from https://github.com/doekman/xml2json-xslt/blob/master/xml2json.xsl

    Free

  9. View File fmresultsetjson.xsl XSLT to convert Filemaker's REST web-service XML response into clean JSON https://twitter.com/alantrewartha 2017-03-06 Adapted from the original Six Fried Rice XSLT here http://sixfriedrice.com/wp/products/filemaker-to-json-converter/ Changed: * single quotes to JSON-standard double-quotes * removed "fieldDefinitions" block (personal preference) * stopped every field value being presented as an [ array ] even when not a "repeating field" * added whitespace escaping code The white-space escaping code was entirely cribbed from https://github.com/doekman/xml2json-xslt/blob/master/xml2json.xsl Submitter AlanTrewartha Submitted 03/06/2017 Category Solutions FM Version FM Version: 0  
  10. With the introduction of cURL options in FM16's Insert from URL script step I've been investigating the possibility of being able to save a copy of my FM solution directly to my Dropbox folder using the https://content.dropboxapi.com/2/files/upload element from Dropbox V2 API. I've successfully created the access token to pass through as part of this step and the Insert from URL script step successfully creates the stated folder and file in my Dropbox. However, the file size is always 0 bytes. I've tried 2 different methods METHOD 1 #Export a compacted copy of this file to Temporary Folder Set Variable [ $file_path ; Get ( TemporaryPath ) & "Solution.fmp12" ] Save a Copy as [ "$file_path" ; compacted ] #Set my cURL options to variable Set Variable [ $curl_header ; "curl -X POST https://content.dropboxapi.com/2/files/upload \\" & ¶ & "--header \"Authorization: Bearer " & PREFERENCES::Dropbox_AccessToken & "\" \\" & ¶ & "--header \"Dropbox-API-Arg: {\\\"path\\\": \\\"/DB2FM/Solution.fmp12\\\"}\" \\" & ¶ & "--header \"Content-Type: application/octet-stream\" \\" & ¶ & "--data-binary @" & $file_path ] #Dropbox URL Set Variable [ $dropbox_url ; "https://content.dropboxapi.com/2/files/upload" ] #Make Request - Set to variable adn then format to JSON field Insert from URL [ Verify SSL Certificates ; With dialog: Off ; $json ; $dropbox_url ; cURL options: $curl_header ] Set Field [ PREFERENCES:Dropbox_JSON ; JSONFormatElements ( $json ) ] METHOD 2 #Export a compacted copy of this file to Temporary Folder and then import to a container field Set Variable [ $file_path ; Get ( TemporaryPath ) & "Solution.fmp12" ] //note1 Save a Copy as [ "$file_path" ; compacted ] //note1 Insert File [ PREFERENCES::Container ; "$file_path" ] //note1 #Set variable following instructions on FileMaker website which states: # - Direct file access is replaced with a FileMaker variable prefixed by the @ character. # - To access a file, you can set the variable to a container field, which contains the file, then use that variable as the parameter of the cURL option. Set Variable [ $container_path ; PREFERENCES::Container ] #Set my cURL options to variable Set Variable [ $curl_header ; "curl -X POST https://content.dropboxapi.com/2/files/upload \\" & ¶ & "--header \"Authorization: Bearer " & PREFERENCES::Dropbox_AccessToken & "\" \\" & ¶ & "--header \"Dropbox-API-Arg: {\\\"path\\\": \\\"/DB2FM/Solution.fmp12\\\"}\" \\" & ¶ & "--header \"Content-Type: application/octet-stream\" \\" & ¶ & "--data-binary @" & $container_path ] #Dropbox URL Set Variable [ $dropbox_url ; "https://content.dropboxapi.com/2/files/upload" ] #Make Request - Set to variable adn then format to JSON field Insert from URL [ Verify SSL Certificates ; With dialog: Off ; $json ; $dropbox_url ; cURL options: $curl_header ] Set Field [ PREFERENCES:Dropbox_JSON ; JSONFormatElements ( $json ) ] JSON Response For Both Methods I get the following JSON Response for both methods { "client_modified" : "2017-05-16T11:22:47Z", "content_hash" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "id" : "id:heJWQ1SWwJsAAAAAAcMWNw", "name" : "Solution.fmp12", "path_display" : "/DB2FM/Solution.fmp12", "path_lower" : "/db2fm/solution.fmp12", "rev" : "3a0412f00f58892", "server_modified" : "2017-05-16T11:22:48Z", "size" : 0 } Any ideas as to why the file is created but with no content. I've also tried this with a number of different file types (.png, .txt, .pdf) by manually inserting a file into the container and greying out the 3 steps marked //note1 above but the result is always the same.
  11. Setting Tax Rates in FM Starting Point | FMSP Videos | FileMaker 16 101 Training https://www.youtube.com/watch?v=uuV9jKW0TH8 Most Recent Upload https://goo.gl/Dbn9fm Get up to speed with the FileMaker Pro 16 Video Training Course! Top Rated Course by FileMaker Expert, Richard Carlton. http://learningfilemaker.com/fmpro16.php Experience Richard's dynamic and exciting teaching format, while learning both basic, intermediate, and advanced FileMaker development skills. With 26 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 50 hours of video content! 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 28 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 Richard won 2015 Excellence Award from FileMaker Inc (Apple Inc) for outstanding video and product creation, leading to business development. RCC, Filemaker Videos, and LearningFileMaker.com are headquartered in Santa Clara, CA. http://www.rcconsulting.com/ Please feel free to contact us at support@rcconsulting.com FileMaker Pro is simply a powerful software used to create custom apps that work seamlessly across iPad, iPhone, Windows, Mac, and the web Transform your business with the FileMaker Platform Free FileMaker Training Videos Channel https://www.youtube.com/user/FileMakerVideos 50 Hour FileMaker Pro 16 Video Training Course-FileMaker 16 News-Online FileMaker 16 Training Videos https://www.youtube.com/watch?v=KpQqLLDcZ8I Playlist https://www.youtube.com/watch?v=KpQqLLDcZ8I&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_&index=13 Top 10 New Features in FileMaker 16-FileMaker 16 News-FileMaker 16 Instructional Videos-FileMaker 16 https://www.youtube.com/watch?v=urh8iHOCxkg Playlist https://www.youtube.com/watch?v=urh8iHOCxkg&t=130s&index=1&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_ Sharing your Database with Other Devices and Users-FileMaker 16 News-FileMaker 16 Database Sharing https://www.youtube.com/watch?v=GF82vkYtCtA Playlist https://www.youtube.com/watch?v=GF82vkYtCtA&index=8&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_ Introduction to FileMaker WebDirect 16-FileMaker 16 News-Online FileMaker 16 Training Videos https://www.youtube.com/watch?v=uaZKIpBjMAM Playlist https://www.youtube.com/watch?v=uaZKIpBjMAM&list=PLjTvUZtwtgBSVV1-4pFG4SHAhCIP3Yy-I&index=17&t=10s FileMaker Behavior Change-Go To Object-FileMaker 16 Video Training-FileMaker 16 News-FileMaker Video https://www.youtube.com/watch?v=MFwFjZem3AM Playlist https://www.youtube.com/watch?v=MFwFjZem3AM&index=15&list=PLjTvUZtwtgBQVDIUvoRkcvrMLi7sTZmj5 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 Official site provides the SDK, Developer's Guide, Reference, and Android Market for the open source project http://learningfilemaker.com/FIAS.html 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 16 & FileMaker GO 16 for mobile devices training videos at http://www.learningfilemaker.com Download FileMaker Go 16 video training at http://learningfilemaker.com/FMGO-16/fmgo16.php Download FileMaker 16 Full Video Training Bundle at http://learningfilemaker.com/subscription.php FileMaker Video Training Review-FileMaker 16 Video Course Review-FileMaker Pro 16 101 Course Review https://www.youtube.com/watch?v=mF6Uor0KmKo Playlist https://www.youtube.com/watch?v=mF6Uor0KmKo&list=PLjTvUZtwtgBT8tNHuzF6cOKC_37zCTQl6&index=18 Use FileMaker to create an app with the FileMaker Training Series FileMaker Pro is a cross-platform relational database application from FileMaker Inc. Please Comment, Like & Share 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 https://plus.google.com/+FileMakerVideos/videos #WhatisFileMaker16 #FileMakerPro16Training #FileMaker16VideoTutorial #FileMakerPro16Videos https://www.youtube.com/watch?v=uuV9jKW0TH8&index=53&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_ http://feeds.feedburner.com/SettingTaxRatesInFmStartingPointFmspVideosFilemaker16101Training
  12. Ziptastic Revisited By: Doug West **Requires FileMaker Pro 16 Lookup the city and state for any ZIP Code quickly and easily using JSON data from the Ziptastic web service API with FileMaker Pro 16. Ziptastic is a simple web service for accessing geolocation data associated with postal codes. The API provided at getziptastic.com supports postal codes in 70 countries. By sending a US-based ZIP Code in a URL, we can quickly and easily get the associated city, county, and state. This service replaces the hassle of creating and updating an offline reference for postal codes. We first provided the Ziptastic tip file for this web service roughly four years ago as a demonstration of the Insert From URL script step that was introduced in FileMaker Pro 12. Enhancements in FileMaker Pro 16 now allow us to simplify this process even more. Let’s take a look at the fundamental differences: OLD Way (FileMaker Pro 12+) Insert From URL script step returns JSON results to a global field Separate script is called to parse field values out of the JSON data object NEW Way (FileMaker Pro 16+) Insert From URL script step returns JSON results to a global variable JSONGetElement function is called to parse field values out of the JSON data object Net Result We have eliminated the script for the JSON parsing and the global field we were using to store the response from the Ziptastic API. Adding this feature to a solution now requires only one script and no additional fields. The script can be triggered when the user exists the ZIP Code field, and the city and state will be looked up so the user doesn’t have to enter them manually. The Ziptastic service continues to be free for up to 100 requests per day, but now offers premium service levels for higher usage. The revenue generated by the subscriptions allows them to update the data monthly instead of only twice a year. Additional details for this web service can be found at getziptastic.com, but the concepts described in this tip are relevant to any web service using JSON as the data interchange format. •• Download FREE FileMaker Pro demo file •• **This article is provided for free and as-is, use, enjoy, learn, and experiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ FileMaker Pro consulting & development services. About eXcelisys, Inc.: Founded in 2001, eXcelisys (www.excelisys.com)is an FBA Platinum Partner and FileMaker Certified developer organization. eXcelisys specializes in designing, developing, customizing, supporting, consulting, migrating, upgrading, fixing, and integrating of database solutions for Desktop, Mobile, and Web applications. Our core technology competencies are FileMaker Pro, FileMaker Go, and MySQL for database frameworks, along with FileMaker WebDirect, WordPress, MySQL, PHP, CodeIgniter, PostgreSQL, Joomla, Drupal, Magento, CSS, HTML5, and Javascript for web sites and web applications. Aside from providing eXcellent customer service, our goals are to use these technologies to intuitively automate your organization’s data solution needs seamlessly and flawlessly across the web, mobile, and desktop platforms. Contact eXcelisys today for a free estimate and consultation about making your business more efficient through intuitive and effective software automation. 866-592-9235. eXcelisys, Inc. is an independent entity and this web site/information/blog post has not been authorized, sponsored, or otherwise affiliated with FileMaker, Inc. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries. The post [FMP Tip-n-Trick] Ziptastic Revisited Using FileMaker Pro 16 appeared first on eXcelisys. View the full article
  13. dbservices

    FileMaker JSON Functions

    Native JSON functions have made it to the FileMaker platform! We dive into how to use the functions to create, modify, and parse JSON for REST APIs and more. Learn about the 6 new functions available, JSONSetElement, JSONDeleteElement, JSONGetElement, JSONListKeys, JSONListValues, JSONFormatElements. FileMaker JSON Functions David Happersberger dbservices.com
  14. TJ53

    Virtual list using JSON

    On a separate thread I asked Bruce Robertson if the new FM16 JSON functions could be used together with the virtual list technique he created. I haven’t experimented with it but I wonder if JSON adapt well to this great technique. Any thoughts? thanks!
  15. View File read json custom function without plugin, FileMaker only Being unsatisfied with solutions I found on the internet and wanting a solution without plugin I created a set of custom functions that can read a path out of a json-string. Syntax: json_path ( json-string ; path ) examples: json_path( $user_prefs ; "Privileges/Modules" ) json_path( $json_data ; "Menus/Menu[10]/MenuItem[5]/Label" ) Submitter macjos Submitted 09/30/2016 Category Samples FM Version FM Version: 14  
  16. I've been using Daniel Smith's JSON scripts from (http://www.modularfilemaker.org/module/json/) to parse JSON. It's worked quite reliably (thanks Daniel!), but I'm wondering if anyone has compared its parsing speed to MBS's JSON plugin or the new native Filemaker 16 JSON functions? I'm still on 15. I'm working with some larger JSON files that are taking a long time to parse and hoping for a faster solution. Any data on which option parses JSON fastest? Any disadvantages/advantages to each option? Thanks!
×

Important Information

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