Plone username as non editable field value of a schema in dexterity content

I would also add that, I don't know if it is a typo, the field definition as an error

usname = schema.TextLine(
   title=_(u'user name'),
   defaultFactory=usvalue(),
)

must be:

  defaultFactory=usvalue,

without parenthesis.

http://docs.plone.org/external/plone.app.dexterity/docs/advanced/defaults.html