ReferenceManager as it is in 2.6 is a bit of a clunky piece of software, since it maintains all the reference counts internally.  It would make a lot more sense to keep the references as metadata to the pages themselves.

Luckily, JSR-170 offers just the way to do that, assuming all pages are of the type {{mix:referenceable}}.  So it means that we can maintain the current API, but the implementation will be a lot simpler, since the repository will handle all reference counting.


!! Discussion

Janne, in terms of moving ''gradually'' towards the above idea, what would be entailed? Could we create a temporary interface that existing providers comply with which would add the necessary metadata get/set methods, then when people move to providers that are JSR-170 compliant they'd be most of the way there? Since I've got my own XNodeProvider which has its own pre-record metadata management this wouldn't be difficult, just thinking about how we might do this for the file-based providers...  It'd be nice to have a migration path so that the 2.6 jump isn't off a cliff.

-- MurrayAltheim, 10 Apr 2007


----

I don't see a reason to do any changes in 2.6; sorry for the incoherent language above.  Your 2.4 provider should work pretty much unchanged in 2.6.

However, I've been experimenting with a pretty cool new feature, which allows you to drop in your own ReferenceManager implementation, and that could be included in 2.6.

--JanneJalkanen, 10-Apr-2007