2019年6月17日月曜日

【Windows専用】Google Drive File Stream のキャッシュフォルダをクリアするバッチファイル

Google Drive File Steamを仕事で利用することが多くなり、時々同期に失敗して初期化(アプリを終了 > キャッシュフォルダの名前変更 > アプリの起動)する必要が生じます。台数が多いと、結構手間です。そのため、それを自動でやってくれるバッチファイルを作成してみました。


に公開しています。GitHUB で基本的なことを説明してます。ここでは図を使って補足説明をします。

注意点


キャッシュフォルダ:%LOCALAPPDATA%\Google\DriveFS

Google Drive File Stream 上の Google Driveフォルダに保存する場合、

1. 端末のキャッシュフォルダにデータを一旦保存して
2. キャッシュフォルダに保存したデータを Googleドライブと同期
3. キャッシュフォルダに保存したデータを削除

の動作をしているようです。

問題ない事例


Google Drive(https://drive.google.com)に同期できているのに、他の端末では表示されない場合には Google Drive File Stream のキャッシュフォルダ内データがおかしくなっている可能性があります。そのため、キャッシュフォルダを削除することで直る場合があります。

データが消えてしまう可能性のある事例


端末上は Google Drive に入っているはずなのに、Google Drive(https://drive.google.com)をみると存在しない場合には、同期がうまくいっていません。その場合には、キャッシュフォルダにデータが入ったままになっています。
その状態でキャッシュフォルダを削除するとデータが消えてしまう恐れがあります。

そのためこのバッチファイルはキャッシュフォルダの名前変更はしますが、キャッシュフォルダそのものは削除しません。様々な状況が考えられるためです。

このバッチファイルは、なにをしているのか


キャッシュフォルダ:%LOCALAPPDATA%\Google\DriveFS

  1. Google Drive File Stream ソフトを強制終了
     *2秒待ちます。まだソフトが終了しきれていない場合があり、 2 のフォルダの名前変更が失敗するケースがあったためです。
  2. キャッシュフォルダの名前変更(DriveFSをDriveFS2へ) *もし名前変更した DriveFS2が存在すれば、先にそれを別の場所に移動するか削除するように警告メッセージを出して終了します。そして、下図のようにキャッシュフォルダの存在するフォルダを開きます。
  3. Google Drive File Streamを起動します。
     *コマンドプロンプトは、そのまま閉じるか、何かキーを押すと閉じます。

うまくいった場合のメッセージ


下図のように、ソフトを終了し、名前変更し、起動します。

 

タスクバーに Google Drive File Streamアイコンが複数出てしまった場合




のように複数出てしまった場合、実際には終了していますがアイコンとして消えるのが遅れている状態です。アイコンのところにマウスポインターを合わせると勝手に消えて、


のように1つになるでしょう。

2019年6月17日 @kimipooh

2019年6月7日金曜日

Google Product Experts Sydney Meetup 2019 に参加するぜ! #google-pe-meetup

Google ヘルプコミュニティに関する Google イベント、今年私が招待されたのは Google  シドニーオフィス(オーストラリア)です!シドニーのGoogleオフィスは、かなり大きいとか。楽しみですね! 場所は、ビルモント湾を眺めることができる位置(Google Mapへのリンク)で、周りの見どころも多そうです!

関連情報




シドニーまでのフライト


筆者は関西国際空港(関空)出発になります。
エージェントによると、
  • 関空 - 羽田、羽田 - シドニー
  • 関空 - Changi(シンガポール)、Changi - シドニー
の2パターンを提示してきました。関空でも2日に1度 カンタス航空が直行便だしているようですが、私の日程上はそれを使えず。
提示されたものをみると、いずれも前日出発、当日の朝につくという感じですね。羽田からシドニーへの直行便が 22時しかないのが痛いなぁ。

まぁこの条件なら羽田経由かなぁと思っています。

ビザ必要(ETAS)


通常申請では1週間ほどかかること。旅行代理店によっては提示を求められることもありうるので早めにとっておくのがよいと思います。私の場合には求められました。

Google Product Experts ってなんだろう?


ところで、 Google Product Experts ってなんでしょうか。あまり知られていないかもしれません。

  • Google 製品に関して、Google公式のコミュニティ(Twitter上の Help on Social か、Google ヘルプコミュニティのいずれか)を通じて困っている質問者をサポートすることに情熱を持っている人たち
のうち、
  • その活躍が Googleによって認められて称号(各製品ごとにシルバー、ゴールド、プラチナがある)を付与されたユーザーの総称です。
ただし、いくつかのビジネス用製品については別枠になっている場合もあります。

筆者は、Gmail、Chrome のプラチナ プロダクトエキスパートです。
加えて、G Suite(日本語) もエキスパートになっています。

少なくてもゴールド以上になると、Google の各種イベントに招待されることでしょう。
筆者が招待されたイベントの紹介は、
のほうでまとめています。これまで東京オフィス、Google本社(アメリカ)、シンガポールオフィス(シンガポール)と訪れ、今年はシドニーオフィス(オーストラリア)に行く予定です。費用は基本的に Google 持ちで、様々な人たちと交流し、話を聞き、その国に触れてとても刺激的な体験をすることができました。

なお、それぞれのエキスパートについては、エキスパートの方がブログで紹介されている
を参考にするのがわかりやすいかなと思います。

また 各製品の日本語に関するGoogle 公式コミュニティは、
にまとめています。

Google Product Experts にどうやってなるの?


Google公式のコミュニティ(Twitter上の Help on Social か、Google ヘルプコミュニティのいずれか)上の質問に対して、回答してみてください!

そうすれば、シルバープロダクトエキスパートの候補になります。
あとは Googleヘルプコミュニティコンテンツポリシーをよく読み、回答を続けていくとシルバーの称号を得る可能性が高まります。ようするに困っている質問者を真摯に助けていくとよいということです。

シルバーになり、さらに質の高い回答を提供し続けていけば、その先にはゴールドへの道が自然とひらけてくると思います。ゴールドになれば、まだ世の中に出ていない Google製品を事前にテストする機会を得ることもできますよ!

なぜ Google Product Experts になろうと思ったの?動機は?


筆者の場合には、仕事で G Suite (旧 Google Apps)という Gmailや Googleカレンダー等を統合的に使えるクラウドサービスを管理運用する必要が出てきたためです。管理運用をするためには、そのサービスについて詳しく知っていないと駄目ですよね。

この経緯については
の筆者の旧ブログで公開しています。
Google Top Contributor とは、 2018年10月に Google Product Experts にリニューアルされる前の名称になります。

なお、筆者は Googleに限らず、他のプロダクトでも同様に、自身が管理運用する場合にはそのコミュニティに入って勉強し、そこで得た知識を共有してきました(最近では、Quora, Google, WordPressの3つが主な活動場所になってます)。その一環として Google 製品でも同じことをしたということです。

回答することで、その製品についてより詳しくなっていきます。もし Google の何らかの製品を使っていて、それについて少し人よりも詳しいと思うなら、是非コミュニティで回答してみてください!そしていずれどこかの Googleオフィスでお会いしましょう!(私がそれまでエキスパートでいられればですけどね (^^;)

2019年6月7日 @kimipooh

Redmineのアップグレード(3.4→4.0)とGoogle認証プラグイン

そろそろ 4.0系にアップグレードするかぁと思ってやってみました。
今回はメジャーバージョンアップになります。

関連情報





3.3から3.4系にしたときには特に目新しいものはなかったので、Redmine に関するブログを書くのは久しぶりです。なお 3.4 にしたときに、Google認証プラグイン「redmine_omniauth_google」が動作しなくなっていました。
しかし今回、
というオリジナルをフォークした「redmine_omniauth_google」プラグインを使わせていただき、動くようになりました。

アップグレード


インストール場所:/usr/local/redmime-svn/4.0-stable
Nginxで指定する場所:/usr/local/redmine-svn/redmine (/usr/local/redmime-svn/4.0-stable へのシンボリックリンク)
データベース:redmine34 --> redmine40 への移行

とすると仮定します。

Step 1. Redmine のダウンロード


cd /usr/local/redmine-svn
svn co https://svn.redmine.org/redmine/branches/4.0-stable/

これで 4.0-stable フォルダができます。

Step 2. 設定のコピーと編集


cd /usr/local/redmine-svn/4.0-stable
cp -p  ../3.4-stable/config/database.yml   config/
cp -p  ../3.4-stable/config/configuration.yml   config/
cp -p  ../3.4-stable/config/unicorn.rb    config/

config/database.yml の編集(1箇所)

データベースとして、
database:redmine34
database:redmine40

Step 3. データベースのコピー


phpmyadmin 等で redmine34 のデータベースをエクスポートし、redmine40 というデータベースを新規作成した上で、そこにインポートする。

redmine34 と異なるユーザーに権限を渡した場合には、上記 database.yml のユーザーとパスワードのデータを変更すること。

Step 4. ファイルとフォルダのコピー


cd /usr/local/redmine-svn/4.0-stable
rm -rf files
cp -rp ../3.4-stable/files 

Step 5. Google Auth プラグイン「redmine_omniauth_google」のインストール


cd /usr/local/redmine-svn/4.0-stable
cd plugins
git clone https://github.com/yamamanx/redmine_omniauth_google.git
bundle install

※ bundle install で警告やエラーがでたが、とりあえずそのまま進む。

Step 6. 必要なツール類のインストール(Unicorn等)


cd /usr/local/redmine-svn/4.0-stable
gem install bundler --no-rdoc --no-ri
echo 'gem "unicorn"' >> Gemfile
bundle update
bundle exec rake generate_secret_token
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake redmine:plugins:migrate RAILS_ENV=production

Step 7. A1 テーマのインストールと設定移行


以前から A1テーマを使っていたので、その最新版を入れることにする。
ダウンロードしたものについて

/usr/local/redmine-svn/4.0-stable/public/themes/

に展開する(a1フォルダを入れる)。

/usr/local/redmine-svn/4.0-stable/public/themes/a1/

に入るはず。
以前の a1 テーマにカスタム設定したスタイルシートを移行しておく

cd /usr/local/redmine-svn/4.0-stable
cp -p  ../3.4-stable/public/themes/a1/stylesheets/application.css   public/themes/a1/stylesheets/

どういうカスタマイズをしたかというと

優先度
 今すぐ:紫
 急いで:赤
 高め:オレンジ
 通常と低い:灰色・白
※ただし終了したものは、通常と同じ背景にした上で、文字は青。

という感じ。

Step 8. Redmine を止めて移行する


まずは動作している Redmine 3.4系を停止します。

/etc/init.d/unicorn stop

unicorn のプロセスが残っていたら個別に kill してください。
残っていたら、移行後に redmine 4.0 用の unicornが起動できません。

cd /usr/local/redmine-svn/
rm redmine
ln -s 4.0-stable  redmine

として
/usr/local/redmine-svn/redmine (シンボリックリンク)の実体を
 3.4-stable から 4.0-stable フォルダに切り替えます。

/etc/init.d/unicorn start

で起動すればOK.

STEP 9. Google 認証でログインできるようにする


管理者で Redmine にログインし、「管理 > プラグイン」より、「redmine_omniauth_google」プラグインの設定を行います。

設定に関しては
を参考にしてみてください。
基本的に
  • Client ID: Google Developer Console で発行
  • Client Secret: Google Developer Console で発行 
  • Available domains: 無料版 Gmailなら gmail.com、G Suiteならそれぞれのドメインを入れる感じ。
  • Oauth authentiffication: オンにする
になるはずです。

またプラグインの各種設定については

を参考にしてみるとよいでしょう。

実際にログアウトして、Google 認証ボタン(Login via Google)を押して、Googleログイン画面が出てきて、そこにログインすることで Redmine に登録したユーザー(メールアドレス)でログインできたらOKですね。



ということで Redmine 4.0.3(2019-06-07時点)が入ったのでした。
今回 Redmine の新機能をみると、##チケットID でチケットのタイトルが入ってくれるのは大きいなと思いました。

2019年6月7日 @kimipooh