posx_filemakerclipboard

36
FileMaker Clipboard Pause[X]London Peter Wagemans - Koen Van Hulle

Upload: koen-van-hulle

Post on 14-Sep-2014

507 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: POSX_FileMakerClipBoard

FileMakerClipboard

Pause[X]LondonPeter Wagemans - Koen Van Hulle

Page 2: POSX_FileMakerClipBoard

Peter Wagemans

• Claris Technical Support

• FileMaker Developer for SHpartners

• Developer of DoScript, DoSQL and Clip Manager (myFMbutler)

• Clarify.net FileMaker Forum (Dutch)

Page 3: POSX_FileMakerClipBoard

Koen Van Hulle

• FileMaker “7...11” Certi!ed Developer

• SHpartners - myFMbutler

• Clarify.net

• myFMbutler Clip Manager 4

[email protected]

• http://twitter.com/koenvanhulle

Page 4: POSX_FileMakerClipBoard

Let’s talk about ...

• FileMaker Clipboard

• Tools

• and what you can do with it.

Page 5: POSX_FileMakerClipBoard

What is the clipboard?

• a place on the computer where we copy to, and paste from

• we can copy data in 1 application, and paste in another application

• but sometimes we can’t

Page 6: POSX_FileMakerClipBoard

Clipboard Flavours

• different types of data

• “text”

• picture data types

• ...

• multiple #avours of the same data can be simultaneously put on the clipboard

Page 7: POSX_FileMakerClipBoard

Hello おはようTEXT UTF-8 UTF-16 RTF

Helloおはよう

Helloおはよう

Helloおはよう

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360{\fonttbl\f0\fnil\fcharset0 MyriadPro-Regular;}{\colortbl;\red255\green255\blue255;\red61\green94\blue118;}\deftab920\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab920\qc\pardirnatural

\f0\fs168 \cf2 \expnd0\expndtw0\kerning0\up0 \nosupersub \ulnone \outl0\strokewidth0 \strokec2 Hello

48 65 6c 6c 6f 20 82 a8 82 cd 82 e6 82 a4

48 65 6c 6c 6f 20 e3 81 8a e3 81 af e3 82 88 e3 81 86

ff fe 48 00 65 00 6c 00 6c 00 6f 00 20 00 4a 30 6f 30 88 30 46 30

7b 5c 72 74 66 31 5c 61 6e 73 69 5c 61 6e 73 69 63 70 67 31 32 35 32 5c 63 6f 63 6f 61 72 74 66 31 30 33

Page 8: POSX_FileMakerClipBoard

Clipboard Flavors

• When passing clip #avours between applications, the receiving application picks from the list of offered #avours, depending on the context.

• Sometimes unexpected behavior

Page 9: POSX_FileMakerClipBoard

An example• Copy an image from a website in Safari

public.tiff

public.url http://evbdn.eventbrite.com/s3-s3/eventlogos/17816677/1961223071-3.png

Apple URL pastboard type

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><array> <string>http://evbdn.eventbrite.com/s3-s3/eventlogos/17816677/1961223071-3.png</string> <string></string></array></plist>

... ...

Page 10: POSX_FileMakerClipBoard

FileMaker Clipboard

• XML

• UTF-8

• Similar to DDR (UTF-16)

Page 11: POSX_FileMakerClipBoard

FileMaker’s clipboard !avours

• layout objects

• tables

• !elds

• scripts

• script steps

• custom functions

Page 12: POSX_FileMakerClipBoard

Layout objects

• technical term for the #avour: “XMLO”

• the XMLO #avour is not the only one

• on MacOS, there are extra PDF #avours

• on Windows, there is an extra BMP #avour

• this explains why you can copy a layout and paste it as a picture somewhere else

Page 13: POSX_FileMakerClipBoard

Fields and Tables• XMFD and XMTB• Only base table info• No relationships

Page 14: POSX_FileMakerClipBoard

Scripts and Script Steps

• XMSC and XMSS

• Language is important!

• FileMaker doesn’t look to the ID’s when pasting, but to the strings.

Page 15: POSX_FileMakerClipBoard

Custom Functions

• XMFN

• Since FileMaker Pro 11 Advanced

• One or more custom functions

Page 16: POSX_FileMakerClipBoard

Tools

• 360Works ScriptMaster plug-in

• 2Empower Clipboard Explorer

• Camp Software - FMClips

• TWDesigns - FileMaker Clipboard reader

• Work#ow Data Systems - fmXRaySpecs

• myFMbutler Clip Manager

Page 17: POSX_FileMakerClipBoard

360Works ScriptMaster

• FileMaker Plug-in

• Read/write FileMaker clipboard

• Groovy, build your own plug-ins

• $95

• http://www.360works.com/scriptmaster/

Page 18: POSX_FileMakerClipBoard

2Empower Clipboard Explorer

• FileMaker Plug-in

• Read/Write FileMaker clipboard

• Free

• http://www.dracoventions.com/products/2empowerFM/family/clipboard.php

Page 19: POSX_FileMakerClipBoard

Camp Software FMClips

• FileMaker database with 2Empower Clipboard explorer plug-in

• Read/Write FileMaker clipboard

• Store FileMaker Clips

• $19

• http://campsoftware.com/products/fmclips/

Page 20: POSX_FileMakerClipBoard

TWDesignsFileMaker Clipboard reader

• AppleScript

• Read/Write FileMaker clipboard

• $19

• http://www.twdesigns.com/products/FileMakerClipboardReader.php

Page 21: POSX_FileMakerClipBoard

Workflow Data SystemsfmXRaySpecs

• Stand-alone app

• Inspects current Layout

• Info pallet

• $79

• http://www.work#owdata.com/fmxrayspecs.html

Page 22: POSX_FileMakerClipBoard

myFMbutlerClip Manager

• Stand-alone app

• Read/Write FileMaker Clipboard

• Visualizes and analyzes Clips

• Store FileMaker Clips

• EUR 59 ($80)

• http://www.myfmbutler.com/clipmanager

Page 23: POSX_FileMakerClipBoard

Why?

Page 24: POSX_FileMakerClipBoard

How much time do you spend ...

• In a typical mid-size development

• de!ning !elds?

• writing scripts?

• making layouts?

Layouts and reports

Scripts

Schema

Page 25: POSX_FileMakerClipBoard

Bene"ts• Speed up your development time

Page 26: POSX_FileMakerClipBoard
Page 27: POSX_FileMakerClipBoard

Bene"ts• Speed up your development time

• Code sharing

• Version Control (custom functions)

• Help my solution is damaged! (and the backup plan failed ...)

• Hopefully you have a DDR (XML)

Page 28: POSX_FileMakerClipBoard

DDR to the rescue

Page 29: POSX_FileMakerClipBoard

Layout Objects

XMLO DDR<?xml version="1.0" encoding="UTF-8"?><fmxmlsnippet type="LayoutObjectList"> <Layout> <ObjectStyle> </ObjectStyle> <Object> </Object> ... </Layout></fmxmlsnippet>

<LayoutCatalog> <Layout> <Table/> <CustomMenuSet/> <Options/> <ObjectStyle> </ObjectStyle> <Object> </Object> ... </Layout></LayoutCatalog>

Page 30: POSX_FileMakerClipBoard

Fields and TablesXMTB DDR

<?xml version="1.0" encoding="UTF-8"?><fmxmlsnippet type="FMObjectList"> <BaseTable> <Field/> ... </BaseTable></fmxmlsnippet>

<BaseTableCatalog> <BaseTable> <FieldCatalog> <Field/> </FieldCatalog> </BaseTable></BaseTableCatalog>

Page 31: POSX_FileMakerClipBoard

Scripts and Script Steps

• XMSS and XMSS XML = DDR XML

Page 32: POSX_FileMakerClipBoard

Custom FunctionsXMFN DDR

<?xml version="1.0" encoding="UTF-8"?><fmxmlsnippet type="FMObjectList"> <CustomFunction> <Calculation> </Calculation> </CustomFunction></fmxmlsnippet>

<CustomFunctionCatalog> <CustomFunction> <Calculation> </Calculation> <DisplayCalculation> <Chunk> </Chunk> </DisplayCalculation> </CustomFunction></CustomFunctionCatalog>

Page 33: POSX_FileMakerClipBoard

Which order

• Custom Functions (if not !eld based) ✔• Tables with key !elds only (if not calc

based) ✔• Create all TO and relationships

• use fake relationships if required• Create value lists if used in validations

• Leave data empty if based on !elds• Paste other !elds ✔ • Check relationships

Page 34: POSX_FileMakerClipBoard

Which order

• Create all other value lists or correct them

• Create all layouts, but leave the empty

• Create all scripts ✔

• Paste all layout content ✔

Page 35: POSX_FileMakerClipBoard

Don’t forget

• Custom Menu’s

• Custom Extended privileges

• Security

• File Options

• Layout options and Layout Script Triggers

• Test, test, test ...

Page 36: POSX_FileMakerClipBoard

Discussion