This project is read-only.

Contributed actions

Jul 28, 2012 at 6:00 PM

I was re-watching the "Customising the User Interface" video[1] on the NakedObjects codeplex site today and noticed that a Store has actions contributed by Orders. Accessing the Store resource on the RO.NET demo server[2], however, does not show any indication that an action such as CreateNewOrder is contributed. I went back to the spec and noticed that contributed actions are not mentioned anywhere.

Apache Isis will include a rel="contributedby" link, pointing at the instance of the service class that contributed the action, on the action details representation.

Does RO.NET have a similar facility?

Is it planned to standardize this rel in a later version of the RO spec?

Can this link be added to the list of links on the action inside the domain object representation rather than having to follow the action details link? It is a hint for the UI and so I think it qualifies.

[1] http://www.screencast.com/t/5iFEhXlG
[2] ~/objects/AdventureWorksModel.Store/4 

Jul 28, 2012 at 8:45 PM

'Contributed actions' is a naked objects concept.  I'm pretty sure that we discussed this during the drafting of the spec and came to the conclusion that the RO spec should have no knowledge of whether an object action is 'native' or 'contributed'  -  as far as RO is concerned they are both just object actions.

(I am wondering if the fact that Apache Isis does reveal this concept is because that implementation pre-dated the discussion of the issue  -  perhaps Dan will clarify).

So, no, there is no intention to provide 'contributed by' links or hints in RO for .NET.

I am also curious to know why you would want it for the client?  If, for example, the motivation is to display contributed actions in, say, a sub-menu  (as is the case in Naked Objects MVC) then that is a separate question:  can the RO representation provide additional display hints such as 'sub-menu'  -  broadly equivalent to Member Order, say.   I think that would be a good idea.

Jul 30, 2012 at 7:09 AM

My initial goal for AROW was to create a web-based reproduction of the drag-n-drop viewer component of Apache Isis (which I believe is a direct descendant of the original NakedObjects viewer, correct me if that's wrong.) So I am using the capabilities found there as my checklist. For example, it's the reason why I have made domain object properties always editable (as you noticed in a previous message.)

The DnD viewer and all of the web viewers I've seen (both .NET and Isis) have this sub-menu support for contributed actions. In this case, a sub-menu hint is all I need. I'll add a ticket to the RestfulObjects github.