Ok, A ver si de esta forma lo cojes mejor.
1.- Te creas un aspecto el cual contendra un metadato de tipo String y que admita valores multiples.(El uso del aspecto es por no interferir en tu modelo actual de datos)
2.-Creas un script en javascript, en el cual asignaras el valor de los metadatos (autor y descripcion por poner un ejemplo, o los que tu consideres oportunos) al metadato del aspecto que has creado en el paso anterior. Para ello, en los ejemplos de la wiki (API javascript) encontraras la manera de hacerlo.
3.-Creas una regla de tipo inbound de forma que al subir un documento nuevo al repositorio, le aplique el aspecto que has definido en el paso 1, y ademas ejecute el script definido en el paso 2.
4.-Para las modificaciones del documento, creas una regla de tipo update de forma que ejecute el script definido en el paso 2.
Con esto quedaria resuelto el tema de ir guardando en en metadato el contenido de autor y comentarios para que quede almacenado todos los usuarios que han comentado un documento.
Para el tema de hacerlo que no se pueda modificar, habria que mirar un poco mas, pero para empezar creo que esta bien detallado.
Saludos