Wakarana リリースノート
Wakaranaのバージョンアップの際に注意が必要な変更点を、新しいバージョンから順に列挙しています。途中のバージョンを飛ばしてアップデートする場合でも、飛ばすバージョンの変更点を確認して、対応する移行操作を順に行う必要があります。
v24.06-2→v24.08-1
v24.08-1ではロール・権限関連の大幅な機能拡張に伴い、ロール・権限の実装をゼロベースで再設計したため、以前のバージョンからロール(特権管理者を除く)と権限を引き継ぐことはできません。また、ロールと権限に関連した関数にも多くの変更が発生しています。
移行手順
- バージョンアップするWakaranaを使用しているwebアプリケーションを、停止させるかメンテナンス中表示に切り替えるなどして、データベースへのアクセスを停止します。
- webアプリケーションで、下記の廃止や変更対象となる関数を使用している場合は、バージョン24.08-1の仕様に合わせて修正します。
- Wakaranaで使用しているデータベースをバックアップします。
- Wakarana本体(main.php、config.php、common.php)をバージョン24.08-1に置き換えます。
- バージョン24.08-1の配布パッケージに同梱のスクリプト「to24.08-1.php」を、webアプリケーションのベースディレクトリ(wakarana_config.iniのあるディレクトリ)にコピーします。
- to24.08-1.phpの冒頭にあるWakarana本体のインクルードパスを、webアプリケーションのディレクトリ構成に合わせて修正します。
- to24.08-1.phpを実行して、データベースに更新を適用します。
- webアプリケーションでロール・権限機能を使用している場合はロールや権限の再設定を行います。
- webアプリケーションを起動させ、動作を確認します。
変更となる関数
- wakarana::get_roles
削除されました。代替としてwakarana::get_all_rolesをご利用ください。 - wakarana::delete_role
削除されました。代替としてwakarana_role::delete_roleをご利用ください。 - wakarana::get_permission_values
削除されました。用途に応じてwakarana::get_all_permissionsまたはwakarana::get_all_permitted_valuesがご利用いただけます。 - wakarana::set_permission_value
削除されました。用途に応じてwakarana_role::add_permissionまたはwakarana_role::set_permitted_valueがご利用いただけます。 - wakarana::remove_permission_value
削除されました。用途に応じてwakarana_role::remove_permissionまたはwakarana_role::remove_permitted_valueがご利用いただけます。 - wakarana_user::get_roles
返り値の仕様がが変更となっています。 - wakarana_user::check_permission
引数と返り値の仕様が変更となっています。
v23.10-1→v24.06-2
v24.06-2では、メールアドレス確認トークンが、8桁の確認コードに変更となったため、関連する以下の関数に変更が発生しています。- wakarana::create_email_address_verification_token
削除となり、代替として wakarana::create_email_address_verification_code が追加されました。 - wakarana::email_address_verify
引数が変更となり、メールアドレスの指定が必要になりました。また、確認コードを削除せずに有効かどうかを確認する場合は wakarana::get_email_address_verification_code_expire を使用します。
また、既存ユーザーにメールアドレスを追加する際は、これらの関数ではなく、 wakarana_user::email_address_verify と wakarana_user::get_email_address_verification_code_expire を使用する必要があります。 - wakarana::delete_email_address_verification_tokens
削除されました。代替として wakarana::delete_email_address_verification_codes を使用してください。 - wakarana::reset_password
第3引数が使用できなくなりました。 - wakarana::create_totp_key
削除されました。代替として wakarana::create_random_code が使用可能です。
- wakarana_user::remove_value
カスタムフィールドを値で指定して削除するための専用関数になりました。カスタムフィールドを並び順番号で指定して削除する場合は wakarana_user::delete_value を使用してください。 - wakarana_user::remove_all_values
削除されました。代替として wakarana_user::delete_all_values を使用してください。 - wakarana_user::create_email_address_verification_token
削除されました。代替として wakarana_user::create_email_address_verification_code を使用してください。 - wakarana_user::delete_email_address_verification_token
削除されました。代替として wakarana_user::delete_email_address_verification_code を使用してください。
さらに、データベーステーブル設計と設定ファイルの変数名にも変更が生じたため、以下の手順でデータベースの移行作業を行っていただく必要があります。
- バージョンアップするWakaranaを使用しているwebアプリケーションを、停止させるかメンテナンス中表示に切り替えるなどして、データベースへのアクセスを停止します。
- Wakaranaで使用しているデータベースと、wakarana_config.iniをバックアップします。
- Wakarana本体(main.php、config.php、common.php)をバージョン24.06-2に置き換えます。
- バージョン23.06-2の配布パッケージに同梱のスクリプト「to24.06-1.php」(v24.06-2はDBのバージョン名が24.06-1のため、スクリプトはこの名称となっています)を、webアプリケーションのベースディレクトリ(wakarana_config.iniのあるディレクトリ)にコピーします。
- to24.06-1.phpの冒頭にあるWakarana本体のインクルードパスを、webアプリケーションのディレクトリ構成に合わせて修正します。
- to24.06-1.phpを実行して、データベースと設定ファイルに更新を適用します。
- webアプリケーションで、上記の廃止や変更対象となる関数を使用している場合は、バージョン24.06-2の仕様に合わせて修正します。
- webアプリケーションを起動させ、動作を確認します。
v23.09-2→v23.10-1
v23.10-1では、1ユーザーに複数のメールアドレスを紐付けることが可能となったことに関連して、wakarana::add_userの引数からメールアドレスの指定が削除となったほか、メールアドレスを取得するwakarana_user::get_email_addressとメールアドレスを設定するwakarana_user::set_email_addressが削除され、代わりに、メールアドレスの取得と設定に使用する以下の関数が追加されました。wakarana_user::get_primary_email_address、
wakarana_user::get_email_addresses、
wakarana_user::add_email_address、
wakarana_user::set_primary_email_address、
wakarana_user::remove_email_address、
wakarana_user::remove_all_email_addresses
さらに、データベーステーブル設計と設定ファイルの変数名にも変更が生じたため、以下の手順でデータベースの移行作業を行っていただく必要があります。
- バージョンアップするWakaranaを使用しているwebアプリケーションを、停止させるかメンテナンス中表示に切り替えるなどして、データベースへのアクセスを停止します。
- Wakaranaで使用しているデータベースと、wakarana_config.iniをバックアップします。
- Wakarana本体(main.php、config.php、common.php)をバージョン23.10-1に置き換えます。
- バージョン23.10-1の配布パッケージに同梱のスクリプト「to23.10-1.php」を、webアプリケーションのベースディレクトリ(wakarana_config.iniのあるディレクトリ)にコピーします。
- to23.10-1.phpの冒頭にあるWakarana本体のインクルードパスを、webアプリケーションのディレクトリ構成に合わせて修正します。
- to23.10-1.phpを実行して、データベースと設定ファイルに更新を適用します。
- webアプリケーションで、上記の廃止や変更対象となる関数を使用している場合は、バージョン23.10-1の仕様に合わせて修正します。
- webアプリケーションを起動させ、動作を確認します。
v23.09-1→v23.09-2
v23.09-2では、wakarana_user::get_login_tokensで取得できるログイントークン本体が先頭6文字のみに制限されました。このバージョンから、wakarana_user::get_login_tokensで取得したトークンはwakarana_user::delete_login_tokenで削除する必要があります。
v21.11以前→v23.09-1
大規模なメジャーアップデートであるv23.09-1では権限管理方式が変更となったため、データの引き継ぎに大幅な制限があります。詳細は21.11以前からのアカウント移行をご確認ください。