Documentation/web-application-specific/Joomla

Joomla

<<color green>>Below the table name prefix shown is 'joomla_'. When Joomla installs either a random table prefix is chosen or you can set it yourself. Replace 'joomla_' below with the appropriate table name prefix for your installation.

Player Linking

  • Joomla does not have custom user profile fields "out of the box". You have to install a plugin to have custom profile fields. So either
    • (Option A) You install a custom profile field plugin and determine where it stores its data OR
    • (Option B) You use the Joomla username and match it with the Minecraft player name. This is not recommended since players can change their Minecraft playername.

Option A

This option will be completely different depending on which custom profile plugin you use and how it stores its data. I gave "Profiler" a try. I added a custom profile field named "minecraft_uuid" which it prepended "pro_" onto for the name "pro_minecraft_uuid". As a result, the configuration settings for the player linking section were:

  linking-method: uuid
  table-name: joomla_profiler_users
  user-id-column: userid
  uses-key: false
  identifier-column: pro_minecraft_uuid
  key-name:
  key-column:
  value-column:

Option B

Not recommended because players can change their minecraft name...

  linking-method: name
  table-name: joomla_users
  user-id-column: id
  uses-key: false
  identifier-column: username
  key-name:
  key-column:
  value-column:

Group Configuration

Joomla doesn't have a primary group configuration natively. So you will need leave primary group disabled. However, the secondary group synchronization will still work nicely:

app-group-config:
  primary:
    enabled: false
  secondary:
    enabled: true
    table-name: joomla_user_group_map
    user-id-column: user_id
    storage-method: junction
    group-id-column: group_id

Simple Synchronization Configuration

The following is primarily an example. You'll need to get the IDs from the joomla_usergroups table and tailor the lists to your specific setup. Recommended only to include groups in the group mapping you want to be synchronized.

simple-synchronization:
  enabled: true

  # Controls the "direction" of synchronization.
  # Options are: two-way, web-application, or minecraft.
  # - two-way: Changes on either side are synchronized to the other.
  # - web-application: Changes made in the web-application are
  #   synchronized to the Minecraft server.
  # - minecraft: Changes made in Minecraft are synchronized to the
  #   web-application.
  direction: two-way

  # If player hasn't been seen before on server, CommunityBridge will use this
  # setting to determine the direction of the synchronization. 'web-application'
  # is the only option available at this time.
  first-direction: web-application

  super-user-user-id: '41'

  # If you have groups that are secondary groups on the web application that
  # you wish to be treated as if they are primary on your permissions system
  # (that is, these groups will be mutually exclusive), List them here.
  # Sample: groups-treated-as-primary: [guest, member, premium]
  #         note that the brackets are required.
  webapp-secondary-groups-treated-as-primary: [Public, Registered, Administrator]

  group-mapping:
    '1' : 'Public'
    '2' : 'Registered'
    '3' : 'Author'
    '4' : 'Editor'
    '5' : 'Publisher'
    '6' : 'Manager'
    '7' : 'Administrator'
    '8' : 'Super User'

Comments

Posts Quoted:
Reply
Clear All Quotes