kintoneに登録済みのレコードで、作成者を変更したい場面がありますが、作成者は変更できない仕様とのことです。できることは限られますが、変更をしたい目的やアプリの状況で、どのような代替案があるのかまとめてみました。
内容:
「作成者」を変更したい場面
そもそも作成者を変更したいケースとして、
- 「作成者」の情報を用いたアクセス権を設定していたため、「作成者」を変更できるとアクセス権の設定を維持しやすい。
- 退職等で削除した「作成者」の名前を非表示にしたい。
などがあります。
なお、「作成者」の情報を用いたアクセス権の設定事例は、【kintone】アクセス権の設定事例まとめに記載しています。
またkintoneでユーザーを削除したときは、ユーザーを削除したらデータも消えますか? | kintone ヘルプに記載されているとおり、ユーザー名のリンクが解除されます。)
「作成者」を変更できない仕様について
kintoneの仕様については、以下となっています。
登録済みレコードの作成者/作成日時/更新者/更新日時には、ファイルから任意の値を上書きできません。
- レコードの作成者/作成日時は、登録されている値から更新されません。
- レコードの更新者/更新日時は、ファイルを読み込んだユーザーと日時に更新されます。
なお、この仕様は”登録済みレコード”のことであり、”新規レコード”であれば、ファイルから読み込み時に作成者や更新者を指定可能でした。
またAPIを通じても、作成者や更新者の「値の更新はできません。」となっていました。
参考: フィールド形式 - cybozu developer network
登録済みレコードの「作成者」を変更する代替案
1.アクセス権の設定を維持する目的の場合
(1)ファイルから読み込むで「新規レコード」として登録
「作成者」を変更したい目的からすると、この代替案が合致するケースは少ないが、新規レコードであれば「作成者」や「更新者」を修正可能。
CSVで出力後、「作成者」を変更、ファイルから読み込むことで変更できる。
アプリのレコードを一括削除してインポートするか、次のようにアプリをコピーして新規作成する方法がある。
ただし、レコード番号が変更になったり、アプリのURLが変更になるなどの課題がある。
参考:レコード番号を1から振り直せますか? | kintone ヘルプ
(2)新たに「ユーザー選択」フィールドを追加し、「作成者」の情報を登録
kintoneで自動作成される「作成者」の情報は変更できないので、新たに「ユーザー選択」フィールドを追加する。初期値を「ログインユーザー」に指定しておくことで、kintoneで自動作成される「作成者」と同様な情報が登録される。
なお、過去のデータは、CSVで出力後、「作成者」フィールドの値を新規追加した「ユーザー選択」フィールドにインポートする。
アクセス権については、新規追加した「ユーザー選択」フィールドで再設定が必要であるが、レコード番号を維持したまま、管理上での「作成者」情報を変更することは可能。
2.「作成者」の名前を非表示にしたい場合
この場合は、ユーザーを削除する前に、当該ユーザーの名前を変更しておく方法がある。
名前の変更前にユーザーを削除している場合は、前述1のいずれかの方法などをとることになる。
なお、ユーザー削除の場面では、ユーザーアカウントを使用停止にするだけで、利用ユーザー数に空きを作ることができるようなので、削除前にアプリへの影響はよく考えておく。
ユーザーを削除したらデータも消えますか? | kintone ヘルプ
以上、kintoneで登録済みレコードの「作成者」を変更できないので代替案のまとめでした。