I have recently installed FME Server I have been working through some tutorials, and reviewing the examples installed on the server, to see if I can automate some things I currently do manually.
The first one I am working through is actually based on one of the tutorials in the server training material (Ex 3.3 here).
What I am hoping to achieve is that we can have an FME Server tool that the user can access, select from a list of arcgis online feature layers (things like watermains, property boundaries, etc), then the user can draw a polygon on a map to define the extents, and FME will output this data to the user, including ALL attributes within the selected Feature Layer.
Currently I have the attached template, it kind of works, as in it successfully exports the correct spatial data, but for the life of me I cannot work out how to get the attribute data of the selected feature layer to be export to the XLS output file.
As previously mentioned, the second thing I am trying to work out is whether or not I can create a user parameter to provide a list of available ArcGIS Online Feature Layers as the input data to be filtered on. I wouldn't know where to start with that one.
Any pointers would be greatly appreciated.



The first Workbench gathers the choice options found in the by the user uploaded source file and will create a HTML where these options are summarized in choice lists presented to the user as questions with a dropdown menu. In the screenshot below the needed HTML. (Tip: by using Data Streaming on FME Server the HTML will open in same browser).
I used a pythoncaller to build the choice lists. And I included a parameter with the location of the source file, to tell the second Workbench where to find it. One important thing to know is that this file location parameter (string) can’t be added directly in the API’s URL, therefore it must be encoded to BASE64
In the second workbench the file location parameter has to be decoded to UTF-8 and then the source file can be read again. And after that you can do whatever you want with the gathered values in parameters.