The way you are setting the rights to groups for a certain publication is ok.
You can use the Rights Enumeration to select the desired right to set, but from the list you are questioning there are some points to clarify:
- The
Publish to Content Distributor
right is the same as Rights.PublishManagement
in the Enumeration.
- The
User Generated Content
right is set and stored by means of the "AppData".
- The other ones of the list, that are part of the
Audience Manager & Outbound Email
extension, are set in his own database, as @PeterKjaer comments.
If you need to stablish rights & permission for this applications, the ApplicationData
Object of the Core Service must be used, and it depends on the proper application wich defines the objects that can be set.
In the case of User Generated Content
security settings, we can take the code where the Publication Rights are set in the CME; we can use something similar to this:
public static void SetPublicationRightsAppData(SessionAwareCoreServiceClient coreClient, string publicationId, string appDataString = "<ugc><trustees></trustees></ugc>")
{
ApplicationData applicationData = new ApplicationData()
{
ApplicationId = "ugc:PublicationRights",
TypeId = "c:XmlDocument-CommunityBuilder",
Data = Encoding.Unicode.GetBytes(appDataString)
};
coreClient.SaveApplicationData(publicationId, new ApplicationData[1]
{
applicationData
});
}
Hope this helps