A method, comprising: creating and storing, in a revisioning database, one or more data objects; wherein a first plurality of the data objects is associated with a base realm representing data shared across all users of the database; wherein a second plurality of the data objects is associated with a first child realm, wherein the first child realm represents data local to a project, wherein a first user is associated with the first child realm, the second plurality of data objects being only visible to users associated with the first child realm; wherein a third plurality of the data objects is associated with a second child realm, wherein the second child realm represents data local to a project, wherein a second user is associated with the second child realm, the third plurality of data objects being only visible to users associated with the second child realm; wherein the revisioning database associates each data object to a realm identifier value and to a version identifier value for a plurality of versions of the data object, the realm identifier value indicating the particular realm to which each data object is associated and the version identifier value indicating the particular version of the data object, wherein each of the particular versions represents a change to the data object by any of a plurality of users; receiving a command from the first user to publish a particular version of a particular data object of the second plurality of data objects from the first child realm to the base realm; in response to the command, sending a copy of the particular version of the particular data object to the base realm; receiving, from the second user, a request to access the particular version of the particular data object in the base realm; in response to the request, providing the particular version of the particular data object in the base realm to the second user. creating and storing, in a revisioning database, one or more data objects; wherein a first plurality of the data objects is associated with a base realm representing data shared across all users of the database; wherein a second plurality of the data objects is associated with a first child realm, wherein the first child realm represents data local to a project, wherein a first user is associated with the first child realm, the second plurality of data objects being only visible to users associated with the first child realm; wherein a third plurality of the data objects is associated with a second child realm, wherein the second child realm represents data local to a project, wherein a second user is associated with the second child realm, the third plurality of data objects being only visible to users associated with the second child realm; wherein the revisioning database associates each data object to a realm identifier value and to a version identifier value for a plurality of versions of the data object, the realm identifier value indicating the particular realm to which each data object is associated and the version identifier value indicating the particular version of the data object, wherein each of the particular versions represents a change to the data object by any of a plurality of users; receiving a command from the first user to publish a particular version of a particular data object of the second plurality of data objects from the first child realm to the base realm; in response to the command, sending a copy of the particular version of the particular data object to the base realm; receiving, from the second user, a request to access the particular version of the particular data object in the base realm; in response to the request, providing the particular version of the particular data object in the base realm to the second user.