Discourse のグループを LDAP と同期させるためのプラグインを作成しています。グループに ldap_dn というカスタムフィールドを追加し、LDAP グループ名を保存できるようにしました。メンバーシップの plugin-outlet に追加した入力フィールドからカスタムフィールドの値を取得し、データベースに保存して後で使用できるようにしようとしています。
そのために、plugin.rb ファイルに以下を追加しました。
Group.register_custom_field_type(‘ldap_dn’, :text)
Group.preload_custom_fields << “ldap_dn” if
Group.respond_to? :preloaded_custom_fields
if SiteSetting.groups_sync_enabled then
add_to_serializer(:group_show, :custom_fields, false) {
object.custom_fields
}
end
Rails と Ember に不慣れなため、カスタムフィールドをデータベースに保存するために他にやるべきステップがあるのか、あるいは問題の箇所はどこなのか確信が持てません。