Esri / solution.js

TypeScript wrappers running in Node.js and modern browsers for transferring ArcGIS Online items from one organization to another.
https://esri.github.io/solution.js/
Apache License 2.0
39 stars 12 forks source link

Explore swizzling xlsx file in Survey123 form #1418

Open shoe913 opened 6 months ago

shoe913 commented 6 months ago

After a survey has been deployed with a solution, the xlsx file cannot be opened.

Steps: 1) Deploy this item e4270704cfad47039fb3a10bdb4f844e in the online test app 2) Open the survey in Survey123 Connect 3) Browse to the files associated with the survey 4) Open the XLSX file

BUG: The file will not open and gives errors indicating the XLSX file is corrupt.

In looking at the before/after deployment for the xlsx file, it seems that 3 KB are getting lost. This is occurring for multiple surveys.

This does not affect currently release solutions.

MikeTschudi commented 6 months ago

I can reproduce it with the sample item and the solution.js deploySolution demo.

.xlsx file drops from 66,850 bytes to 63,783 bytes

MikeTschudi commented 6 months ago

This is caused by an attempt to swizzle values inside the XLSX file. Remove the swizzling, and the file is openable after deployment.

I don't know if swizzling is possible within the binary XLSX file, but there should be a way through Microsoft APIs. Do we want swizzling, @shoe913?

chris-fox commented 6 months ago

@MikeTschudi, if you are able to that would be great. I wasn't sure if this would be possible. We have times now where we need to have the user do a post deployment configuration because we haven't been able to swizzle the XLSX file.

Would it be possible to pull out the swizzling of the XLSX for now so that people using the develop testing app can continue to work while we work on adding support for swizzling XLSX in a separate issue?

chris-fox commented 6 months ago

Also to add XLSX is actually a zip file itself, if you rename the extension in windows explorer and extract it you can see all the individual files that define the XLSX.