My understanding is that the role of the worker is generate diagram images for each diagram that has been modified using the desktop tool, and keep those images up to date. Based on the behaviour we have seen so far, it sits there "listening" and every few seconds or minutes springs into action an generates/regenerates diagram.
That is also how I see it now, but I was under the impression that the EAWorker only generated missing diagram images and left already generated images alone. Generating all diagram images is an ussue for us, since we have a large repsoitory, where different pojects/groups are using different diagram options. When using EAWorker, these options will be ignored since the diagram images are being regenerated using the options stored on the PCS Server. In our case the default options, since we have not installed EA there.
1) The worker as a process is started and terminated by PCS. So I do not understand why it cannot always run using the account used to run the PCS service. Having to use a valid model user if model security is enabled makes no sense to me, but maybe there is a good reason for this.
The EAWorker can be considered being a headless EA instance running as a service on the PCS Server, which is why it needs an EA user account to work. That also explains why you need to install a local EA instance on the PCS server and log on as the EAWorker user in order to e.g. install MDG's and change diagram options.
2) I do not understand why PCS does not generate an image each time the diagram is saved using the desktop tool and just leave the image untouched.
It does, if you ask it to do so in EA (Configure -> Options -> Cloud -> Data Cache), but it works only if you physically save the diagrams in EA. When copy/pasting packages or importing packages containing diagrams, images will not be generated, resulting in the 'Diagram Image Not Found' error in WebEA. That is the issue we tried to solve using the EAWorker.
Lastly I have noticed some registry keys on the server related to the worker, I found them under HKEY_CURRENT_USER\SOFTWARE\Sparx Systems\SQLBridge. They appear to be user specific and this puzzles me because I would expect them to apply to the whole server.
One of those keys is the path to a project 'start' file, EAExample.eap. I wonder is replacing the project starter or changing any other settings will affect the behaviour if WebEA.
You can configure the EAWorker using the PCS config tool, and you configure it per PCS connection. The 'start' file is not an option there, so I assume it is there since the EAWorker is running as a headless EA instance and thus need a repository. I don thing it uses it for other reasons than to be able to run.
You could argue, that using the EAWorker you can ensure that all of you diagrams will adhere to the same standards. The downside is that the diagram images shown in WebEA might not look like the coresponding diagrams in EA, which is the issue at us.
We have decided not to use the EAWorker. If you copy/paste packages or import, it is your responsibility to manually generate the diagram images. (Configure -> Options -> Cloud -> Data Cache -> Create -> Only missing Items)
I would like to see an option, where the EA Worker only generated missing diagrams, but it still doenst solve the issue with different diagram options for different groups/projects.
Henrik