Yes ... acs service contract is the way to set up interpackage communication.
Physical symlinks in the OS are something we really want to avoid, does ETP actually do this? I thought the symlinks implemented were just db mappings ...
Template includes are one way to grab a .tcl page that lives in a package that's not mounted, because the template engine works off paths not URLs. acs-integration makes relative paths work by passing the path to the current page as it's path root, but absolute paths look like:
ad_return_template "/packages/your-package-key/www/your-template-name"
This doesn't help for HTML API pages that link to another page (say a post-confirmation page) because the link, of course, contains a URL and therefore must be mounted.
The workflow package isn't integrated with permissions, it uses parties to determine who can execute which user tasks.
But I think it should be integrated with permissions to allow tasks executable by users with a given permission on the object.
I don't know what Lars thinks about that, though. Lars, you here? Read this thread! Tell us what you think!