To prod along the conversation about modularization and architecture I wanted to pick one thing and try and talk through it before moving onto bigger things. Right now Rave has a core data model defined in org.apache.rave.portal.model which are all concrete JPA classes. To support pluggable persistence layers we will need to migrate the definitions to interfaces and move the JPA implementations to a JPA module. Assuming that is an agreed upon task I have a couple questions:
1) Has any of this been done as part of the JCR activity? Is that still in progress? 2) I know we want to support multiple UI layers (OpenSocial, W3C...) but OpenSocial is the only one so far that defines a backend data structure as far as I know. With that in mind, does it make sense to consider using the Shindig data interfaces instead of rolling our own and having to translate between org.apache.rave.portal.model.Person and org.apache.shindig.social.opensocial.model.Person? Do we anticipate non-OpenSocial data models that compete with the OpenSocial one? Chris
