Replied inline... On Jul 1, 2012, at 2:33 PM, Dan Haywood <[email protected]> wrote:
>> So, firstly, it looks like @Hidden repositories are still included in the >> /services representation in the json-viewer (even in trunk as of last >> week). > > In which case, that's an error in the restfulobjects-viewer (nee > json-viewer). I've made a note to fix (unless you fix first!) I'll try my best :) The html viewer checks serviceObjectAdapter.getSpecification().isHidden while it is building it's navigation. This method just checks that HiddenFacet is present so even marking the service class as @Hidden(When.NEVER) will hide it in the html viewer. The restfulobjects viewer would handle this in the ListReprRenderer but I think we want something better than just checking for the hidden facet. It could be hidden because of authorities or some business logic reason. This would also affect any other list results (like an actionresult that is a list.) Does something like ObjectMember.isVisible(AuthenticationSession, ObjectAdapter) exist for whole domain objects? >> And, secondly, is my original question. Can methods annotated >> @NotInServicesMenu be excluded from the /services representation but still >> included as contributed actions? >> >> Yes, that's certainly the intent of that annotation. So, I've made a note > to check this also. I did some research into the restfulobjects, html, and dnd viewers and I don't think any of them respect this annotation. It looks like the appropriate course is to make NotInServiceMenuFacet implement HidingInteractionAdvisor and return a "hidden reason" string only if the object is a service. This change is in the metamodel so it should fix it for both the restfulobjects and html viewers. I don't know if the dnd viewer checks for hidden actions in the same way. I'll try going down this path and you can let me know if that is the wrong direction. > You might have noticed that I finished renaming json-viewer to > restfulobjects-viewer in the SVN trunk, and that has now been pushed to my > github.dom/danhaywood/apacheisis repository for your delectation. Since this is my first git and github project I don't know exactly how to manage this. Should I fork your apacheisis repo into my github account and then develop against that? Then when I have something ready I send you a pull request? Thanks. -- Adam > p.s. all of the above is referring to version 0.2.0-incubating of the json(restfulobjects) and html viewers, and version 0.1.2-incubating of the dnd viewer. I apologize if any or all of these issues have been solved in trunk. I'll try them out with the latest code tomorrow. Wanted to get this email out to you since it seems like we can only have about one discussion a day due to the time difference.
