V2 Groups/de

From OpenSimulator

Jump to: navigation, search

Contents

Einführung

Ab OpenSimulator 0.7.6 wurde OpenSimulator mit einem Kerngruppendienst geliefert. Dies kann anstelle des Drittanbieter-Dienstes XmlRpcGroups / Flotsam verwendet werden, dies wird jedoch weiterhin unterstützt.

Bitte beachten Sie, dass diese Einrichtung neu ist. Es kann Fehler enthalten oder bisher unbekannte Probleme bei der Skalierung auf große Raster haben. Diese Funktion ist derzeit standardmäßig nicht aktiviert.

Konfiguration

Standalone

In OpenSim.ini sind die folgenden Einstellungen im Hypergrid- und Nicht-Hypergrid-Modus erforderlich. Dadurch wird auch die Gruppentabelle in der Datenbank generiert, die für Ihre eigenständige Installation verwendet wird.

[Groups]
  Enabled = true
  Module = "Groups Module V2"
  MessagingModule = "Groups Messaging Module V2"

Bei einer Nicht-Hypergrid-Installation möchten Sie auch den Service-Connector als angeben

[Groups]
  ServicesConnectorModule = "Groups Local Service Connector"

Bei einer Hypergrid-Installation möchten Sie sie stattdessen als angeben

[Groups]
  ServicesConnectorModule = "Groups HG Service Connector"

Bei einer Hypergrid-Installation müssen Sie die folgenden zusätzlichen Einstellungen vornehmen.

[Groups]
  LocalService = local
  ;HomeURI = http://example.com:8002
  ; oder
  HomeURI = "${Const|BaseURL}:${Const|PublicPort}"

Grid

Um Kerngruppen für ein Grid zu aktivieren, muss jeder Simulator OpenSim.ini konfiguriert und die ROBUST Dienste aktiviert werden.

Simulator

In OpenSim.ini sind die folgenden Einstellungen im Hypergrid- und Nicht-Hypergrid-Modus erforderlich. Dadurch wird auch die Gruppentabelle in Ihrer ROBUST-Datenbank generiert.

[Groups]
  Enabled = true
  Module = "Groups Module V2"
  ;GroupsServerURI = http://example.com:8003
  ; oder
  GroupsServerURI = ${Const|BaseURL}:${Const|PrivatePort}
  MessagingModule = "Groups Messaging Module V2"

Bei einer Nicht-Hypergrid-Installation möchten Sie auch den Service-Connector als angeben

[Groups]
  ServicesConnectorModule = "Groups Remote Service Connector"

Bei einer Hypergrid-Installation möchten Sie sie stattdessen als angeben

[Groups]
  ServicesConnectorModule = "Groups HG Service Connector"

Bei einer Hypergrid-Installation müssen Sie die folgenden zusätzlichen Einstellungen vornehmen.

[Groups]
  LocalService = remote
  ;HomeURI = http://example.com:8002
  ; oder
  HomeURI = "${Const|BaseURL}:${Const|PublicPort}"

Services

In Robust.ini müssen Sie den Kerngruppendienst aktivieren.

[ServiceList]
  ;GroupsServiceConnector = "8003/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"
  GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"

Migration

Das folgende Skript soll dabei helfen, vorhandene Flotsam Groups- oder jOpenSim Groups-Datenbanktabellen (die ohnehin Flotsam verwenden) in die neuen Kerngruppentabellen zu konvertieren.

Unterschiede zwischen Tabellennamen

jOpenSim Flotsam V2
jos_opensim_groupactive osagent
* AgentID
* ActiveGroupID
os_groups_principals
* PrincipalID
* ActiveGroupID
jos_opensim_group osgroup
* GroupID
* Name
* Charter
* InsigniaID
* FounderID
* MemberShipFee
* OpenEnrollment
* ShowInList
* AllowPublish
* MaturePublish
* OwnerRoleID
os_groups_groups
* GroupID
* Name
* Charter
* InsigniaID
* FounderID
* MembershipFee
* OpenEnrollment
* ShowInList
* AllowPublish
* MaturePublish
* OwnerRoleID
jos_opensim_groupinvite osgroupinvite
* InviteID
* GroupID
* RoleID
* AgentID
* TMStamp
os_groups_invites
* InviteID
* GroupID
* RoleID
* PrincipalID
* TMStamp
jos_opensim_groupmembership osgroupmembership
* GroupID
* AgentID
* SelectedRoleID
* Contribution
* ListInProfile
* AcceptNotices
os_groups_membership
* GroupID
* PrincipalID
* SelectedRoleID
* Contribution
* ListInProfile
* AcceptNotices
jos_opensim_groupnotice osgroupnotice
* GroupID
* NoticeID
* Timestamp
* FromName
* Subject
* Message
os_groups_notices
* GroupID
* NoticeID
* TMStamp
* FromName
* Subject
* Message
jos_opensim_grouprolemembership osgrouprolemembership
* GroupID
* RoleID
* AgentID
os_groups_rolemembership
* GroupID
* RoleID
* PrincipalID
jos_opensim_grouprole osrole
* GroupID
* RoleID
* Name
* Description
* Title
* Powers
os_groups_roles
* GroupID
* RoleID
* Name
* Description
* Title
* Powers

Anmerkungen

Sie müssen das Feld BinaryBucket in der Flotsam osgroupnotice nicht berücksichtigen , solange Sie den an Mantis # 6699 angehängten Patch nicht angewendet haben . Wenn Sie es angewendet haben, helfen möglicherweise die folgenden Informationen, wenn Sie den Inhalt in den neuen Tabellen nicht verpassen möchten:

Byte-Offset und Beschreibung der Bucket-Daten:

  • 0: 1 byte indicating if attachment is present
  • 1: 1 byte indicating the type of attachment
  • 2: 16 bytes - Group UUID
  • 18: 16 bytes - UUID of the attachment owner
  • 34: 16 bytes - UUID of the attachment
  • 50: variable - Name of the attachment
  •  ??: NUL byte to terminate the attachment name

Diese Informationen werden aus dem Original-Patch kopiert und beschreiben das Inhaltsformat des Felds BinaryBucket.

Flotsam

Verwenden Sie dieses Skript, wenn Sie die Treibgutgruppen verwenden.

Das Skript (Ersetzen Sie ROBUSTDB durch Ihre ROBUST Datenbank und FLOTSAMDB durch Ihre Datenbank mit Ihren Flotsam Tabellen!):

INSERT INTO `ROBUSTDB`.`os_groups_groups`
(GroupID, Name, Charter, InsigniaID, FounderID, MembershipFee, OpenEnrollment, ShowInList,
AllowPublish, MaturePublish, OwnerRoleID)
SELECT GroupID, Name, Charter, InsigniaID, FounderID, MemberShipFee, OpenEnrollment, ShowInList, AllowPublish,
MaturePublish, OwnerRoleID
FROM `FLOTSAMDB`.osgroup;
 
/*fill os_groups_invites in ROBUST database with values from osgroupinvite
or FlotSam osgroupinvite*/
INSERT INTO `ROBUSTDB`.`os_groups_invites`
(InviteID, GroupID, RoleID, PrincipalID, TMStamp)
SELECT InviteID, GroupID, RoleID, AgentID, TMStamp
FROM `FLOTSAMDB`.osgroupinvite;
 
/*fill os_groups_membership in ROBUST database with values from osgroupmembership
or FlotSam osgroupmembership*/
INSERT INTO `ROBUSTDB`.`os_groups_membership`
(GroupID, PrincipalID, SelectedRoleID, Contribution, ListInProfile, AcceptNotices)
SELECT GroupID, AgentID, SelectedRoleID, Contribution, ListInProfile, AcceptNotices
FROM `FLOTSAMDB`.osgroupmembership;
 
/*fill os_groups_notices in ROBUST database with values from osgroupnotice
or FlotSam osgroupnotice*/
INSERT INTO `ROBUSTDB`.`os_groups_notices`
(GroupID, NoticeID, TMStamp, FromName, Subject, Message)
SELECT GroupID, NoticeID, Timestamp, FromName, Subject, Message
FROM `FLOTSAMDB`.osgroupnotice;
 
/*fill os_groups_principals in ROBUST database with values from osagent
or FlotSam osagent*/
INSERT INTO `ROBUSTDB`.`os_groups_principals`
(PrincipalID, ActiveGroupID)
SELECT AgentID, ActiveGroupID
FROM `FLOTSAMDB`.osagent;
 
/*fill os_groups_rolemembership in ROBUST database with values from osrolemembership
or FlotSam osgrouprolemembership*/
INSERT INTO `ROBUSTDB`.os_groups_rolemembership
(GroupID, RoleID, PrincipalID)
SELECT GroupID, RoleID, AgentID
FROM `FLOTSAMDB`.osgrouprolemembership;
 
/*fill os_groups_roles in ROBUST database with values from osroles
or FlotSam osrole*/
INSERT INTO `ROBUSTDB`.os_groups_roles
(GroupID, RoleID, Name, Description, Title, Powers)
SELECT GroupID, RoleID, Name, Description, Title, Powers
FROM `FLOTSAMDB`.osrole;

jOpenSim

Verwenden Sie dieses Skript, wenn Sie die jOpenSim-Gruppen verwenden.

Das Skript (Ersetzen Sie ROBUSTDB durch Ihre ROBUST-Datenbank und FLOTSAMDB durch Ihre Datenbank mit Ihren jOpenSim-Tabellen!):

/* SQL script to convert group tables from Flotsam Groups (Group database) or jOpenSim (tables in Joomla Database)
to new V2 groups, which are part of OpenSimulator core up from 0.7.6 branch*/
 
/* FlotSam Tables latest version from
https://github.com/mcortez/flotsam/tree/master/flotsam/Servers/XmlRpcGroupsServer/
Commit-No.: 18275462c9*/
 
/* jOpenSim Version: 0.2.6.4*/
 
/*fill os_groups_groups in ROBUST database with values from jos_opensim_groups
or FlotSam osgroup*/
INSERT INTO `ROBUSTDB`.`os_groups_groups`
(GroupID, Name, Charter, InsigniaID, FounderID, MembershipFee, OpenEnrollment, ShowInList,
AllowPublish, MaturePublish, OwnerRoleID)
SELECT GroupID, Name, Charter, InsigniaID, FounderID, MemberShipFee, OpenEnrollment, ShowInList, AllowPublish,
MaturePublish, OwnerRoleID
FROM `FLOTSAMDB`.jos_opensim_group;
 
/*fill os_groups_invites in ROBUST database with values from jos_opensim_groupinvite
or FlotSam osgroupinvite*/
INSERT INTO `ROBUSTDB`.`os_groups_invites`
(InviteID, GroupID, RoleID, PrincipalID, TMStamp)
SELECT InviteID, GroupID, RoleID, AgentID, TMStamp
FROM `FLOTSAMDB`.jos_opensim_groupinvite;
 
/*fill os_groups_membership in ROBUST database with values from jos_opensim_groupmembership
or FlotSam osgroupmembership*/
INSERT INTO `ROBUSTDB`.`os_groups_membership`
(GroupID, PrincipalID, SelectedRoleID, Contribution, ListInProfile, AcceptNotices)
SELECT GroupID, AgentID, SelectedRoleID, Contribution, ListInProfile, AcceptNotices
FROM `FLOTSAMDB`.jos_opensim_groupmembership;
 
/*fill os_groups_notices in ROBUST database with values from jos_opensim_groupnotice
or FlotSam osgroupnotice*/
INSERT INTO `ROBUSTDB`.`os_groups_notices`
(GroupID, NoticeID, TMStamp, FromName, Subject, Message)
SELECT GroupID, NoticeID, Timestamp, FromName, Subject, Message
FROM `FLOTSAMDB`.jos_opensim_groupnotice;
 
/*fill os_groups_principals in ROBUST database with values from jos_opensim_groupactive
or FlotSam osagent*/
INSERT INTO `ROBUSTDB`.`os_groups_principals`
(PrincipalID, ActiveGroupID)
SELECT AgentID, ActiveGroupID
FROM `FLOTSAMDB`.jos_opensim_groupactive;
 
/*fill os_groups_rolemembership in ROBUST database with values from jos_opensim_grouprolemembership
or FlotSam osgrouprolemembership*/
INSERT INTO `ROBUSTDB`.os_groups_rolemembership
(GroupID, RoleID, PrincipalID)
SELECT GroupID, RoleID, AgentID
FROM `FLOTSAMDB`.jos_opensim_grouprolemembership;
 
/*fill os_groups_roles in ROBUST database with values from jos_opensim_grouproles
or FlotSam osrole*/
INSERT INTO `ROBUSTDB`.os_groups_roles
(GroupID, RoleID, Name, Description, Title, Powers)
SELECT GroupID, RoleID, Name, Description, Title, Powers
FROM `FLOTSAMDB`.jos_opensim_grouprole;
 
/*fill os_groups_roles in ROBUST database with values from jos_opensim_offlinemessages
--> no corresponding table in FlotSam  --  only applies to jOpenSim*/
INSERT INTO `ROBUSTDB`.im_offline
(PrincipalID, Message, TMStamp)
SELECT fromAgentID, Message, sent
FROM `FLOTSAMDB`.jos_opensim_offlinemessages;

Weitere Informationen auf jOpenSim migration from Groups V2

Personal tools
General
About This Wiki