Thanks for starting this. I think this is much more complicated that the initial statement of work. Many of the objects that contributors want to expose were never published in the Web UI; eg, GPGKeys do not have a URL. GPGKeys need to be published with a URL *before* they can be exposed to the restful API. This is also the reason why exporting the restful API is not trivial.
Launchpad uses the ZCML browser:url directive to define the URL for an object. I think we can the GPGKey to be subordinate to a person to create the Web url, something like this:
Hi Didier.
Thanks for starting this. I think this is much more complicated that the initial statement of work. Many of the objects that contributors want to expose were never published in the Web UI; eg, GPGKeys do not have a URL. GPGKeys need to be published with a URL *before* they can be exposed to the restful API. This is also the reason why exporting the restful API is not trivial.
Launchpad uses the ZCML browser:url directive to define the URL for an object. I think we can the GPGKey to be subordinate to a person to create the Web url, something like this:
<browser:url
for="lp. registry. interfaces. gpgkey. IGPGKey"
path_expressio n="string: +gpgkeyid/ ${keyid} "
attribute_ to_parent= "owner"
rootsite= "api"/>
I expect your interfaces changes to work once the URL exists.