designdb

Corruption in "Projects" starter solution

Discussion created by designdb on Dec 31, 2016
Latest reply on Feb 7, 2017 by TSGal

This one's a little odd, so bear with me, please.

 

Product and version: FileMaker Pro Advanced 15.0.2)

OS and version: OS X 10.11.6

Hardware: 27" iMac

Description: The DDR for a fresh copy of the Projects.fmp12 starter solution contains 2 script steps that show garbled DDR XML.

How to replicate:

  1. Make a new copy of the Projects starter solution
  2. Run a DDR.
  3. Look at the XML for line 10 (the "Perform Find" step) of these 2 scripts: "Show My Posts", and "Show All Posts"

 

Here's what that XML looks like:

<Step enable="True" id="28" name="Perform Find">
  <StepText>
  Perform Find [ “Refresh Portals [Get Script Parameter]”; "Posts Portal"; Specified Find Requests: Find Records; Criteria: Posts::PROJECT ID MATCH FIELD: “$$CURRENT_PROJECT_ID” ] [ Restore ]
  </StepText>
  <Restore state="True" /> 
  <Calculation>
<![CDATA["Posts Portal"]]>
  </Calculation>
  <DisplayCalculation>
  <Chunk type="NoRef">
  "Posts Portal"
  </Chunk>
  </DisplayCalculation>
  <Script id="194" name="Refresh Portals [Get Script Parameter]" />
  <Query>
  <RequestRow operation="Include">
  <Criteria>
  <Field table="Posts" id="2" name="PROJECT ID MATCH FIELD" />
  <Text>$$CURRENT_PROJECT_ID</Text>
  </Criteria>
  </RequestRow>
  </Query>
  </Step>


<Step enable="True" id="28" name="Perform Find">
  <StepText>Perform Find [ “Refresh Portals [Get Script Parameter]”; "Posts Portal"; Specified Find Requests: Find Records; Criteria: Posts::PROJECT ID MATCH FIELD: “$$CURRENT_PROJECT_ID” AND Posts::CONTACT ID MATCH FIELD: “$$CURRENT_USER” ]
[ Restore ]</StepText>
  <Restore state="True" />
  <Calculation><![CDATA["Posts Portal"]]></Calculation>
  <DisplayCalculation>
  <Chunk type="NoRef">"Posts Portal"</Chunk>
  </DisplayCalculation>
  <Script id="194" name="Refresh Portals [Get Script Parameter]" />
  <Query>
  <RequestRow operation="Include">
  <Criteria>
  <Field table="Posts" id="2" name="PROJECT ID MATCH FIELD" />
  <Text>$$CURRENT_PROJECT_ID</Text>
  </Criteria>
  <Criteria>
  <Field table="Posts" id="11" name="CONTACT ID MATCH FIELD" />
  <Text>$$CURRENT_USER</Text>
  </Criteria>
  </RequestRow>
  </Query>
</Step>

If you look closely, you'll notice that each of these "Perform Find" script steps actually contain a reference to a Script inside them (lines 14 and 34 above).

Due to the nature of the insertion, this does not produce poorly formed XML (so it still parses), but it certainly isn't correct for DDR XML.

 

Workaround (if any): None known.  Maybe re-create the lines.

 

DDR and DB attached for comparison with your files when attempting to reproduce.

Attachments

Outcomes