Adsenseコード

2017-10-13

【Salesforce】キューについて

■作成したキューごとに、対象のオブジェクトを選択することができる
 ・オブジェクトを選択する部分で目的のオブジェクトが
  表示されないと、そのオブジェクトにはキューを
  利用することができない
 ・特に、 Event (行動)の OwnerId (任命先)に設定して、
  カレンダーの予定を誰でも編集できるようにする
  といったことはできません

2017-10-12

【WordPress】インストール時にデータベース接続確立エラーの解決方法

■前提

MAMP 4.2 WordPress 4.7.5 ■MAMPでバーチャルホストを設定している MAMP でバーチャルホストを設定し、ドキュメントルート直下に WordPress ファイルをコピーしてインストールしている場合になります。 ホストにブラウザで接続し、 データベースの設定を送信した直後に 「データベース接続確立エラー」が 表示されてしまった場合についてです WordPress をインストール時に 「データベース接続確立エラー」と表示されてしまうときは、 「データベースのホスト名」が正しくない可能性があります。 バーチャルホストを設定している場合、 MAMPの設定で MySQL のポート番号を確認し、 8889であれば、 「データベースのホスト名」は、下記の設定をします 127.0.0.1:8889 参考 https://www.netassist.ne.jp/blog/?p=1277

【Salesforce】数式項目でできることを挙げてみた


Salesforce において重要なポイントと言っても過言ではない数式について、基本的なことからこんなこともできるのか というものまでメモしてみました。

Salesforce の数式は、基本的に Excel の関数と似ているので、Salesforceの数式で情報が不足する場合は、Excelの関数のソリューションとして検索するといい情報が得られるかもしれません。



◆テキスト関連


■文字をべた書きしたい


""で囲います
"テキスト"



■文字列を結合したい


"&"で結合します
"テキスト"&"テキスト"



■日付項目などのデータ型変数をテキスト表示したい


TEXT( 項目のAPI名など )



■指定の文字を抽出


左から指定文字数のテキストを返します
LEFT( 対象文字, 抽出文字数 )

右から指定文字数のテキストを返します
RIGHT( 対象文字, 抽出文字数 )


■リンクを表示したい


HYPERLINK( リンク先URL , ラベル )
これを使うことで、任意のラベルのハイパーリンクを表示することができます


URLをべた書きでも、リンクとして表示させることもできます。



■画像を表示させたい


IMAGE( image_url, alternate_text[, height][, width] )

, height  , width  は省略可能です
alternate_text は画像が表示できないときに表示するテキストです。




◆日付及び時間関連


日付項目から年、月、日を数値で取得したい


以下はいずれも日付型から数値型へデータ型が変換されます

YEAR(date)
MONTH(date)
DAY(date)



年月を出力


上記の例では昇順にすると10月、8月、9月となるので下記のようにするといいです。

LEFT( TEXT( date ), 7 )



2 つの日付が同月かどうかを確認する


AND(
  MONTH( date_1 ) == MONTH( date_2 ),
  YEAR( date_1 ) == YEAR( date_2 )
)




2 つの日付間の日数を確認する



TODAY() - 30 > date



◆数値関連


■足す項目全てが空(0ではなく)の場合は、空で表示したい


戻り値が数値型の数式項目で空を出力したい場合、nullを返すことで空にできます。
ここで注意しなければいけないのが、以下の場合、Salesforceの数式では空で返ってきます。

  A__c + B__c
= "" + 1
→ ""で出力される

これを避けるには、BLANKVALUE関数を使います。

  BLANKVALUE(A__c, 0) + BLANKVALUE(B__c, 0)
= "" + 1
→ 1で出力される

以上から、最初の要件を満たす数式は次のようになります。

IF( LEN( TEXT(A__c)&TEXT(B__c) )=0 , null, BLANKVALUE(A__c, 0) + BLANKVALUE(B__c, 0) )


参考
日付および日付/時間型のデータの扱い方
日付型数式の高度なサンプル集




参考
https://help.salesforce.com/articleView?id=customize_functions.htm&type=0






2017-10-11

【Salesforce】選択リスト値のデフォルト設定はいつ有効なのか

■前提

Salesforce Winter'18



■調査内容

Salesforce の選択リスト値にある
「マスタリストのデフォルト値に設定する」
のオプションは、どんなときに有効なのか調査しました。


具体的には、
デフォルト値が設定してある選択リスト項目を
Apexトリガの beforeInsert, beforeUpdate の処理で
null や空文字を指定してを実行すると、
デフォルト値の設定で上書きされないか、です



■結果

以下の場合でデフォルト選択設定が適用されるかを確認する
※ ×:適用されなかった

beforeInsert で
・nullをセットした場合 ×
・空文字をセットした場合 ×


値がセットされていなくて、beforeUupdate で
・操作なし ×
・null をセットした場合 ×
・空文字をセットした場合 ×


既に値がセットされていて、beforeUpdate で
・操作なし ×
・null をセットした場合 ×
・空文字をセットした場合 ×



冷静に考えると「操作なし」の検証は、
操作していないものが update する度に
デフォルト値になってしまう仕様は現実的ではないので
調べるまでもなかったですね



■insert での操作なしについて

・レコード詳細画面に項目を配置している場合
→ デフォルト値がセットされた状態で表示されます

  そこで選択リストを改めて選択すれば、
  もちろん選択した値が登録されます



・レコード詳細画面に項目を表示していない場合
→ そのままデフォルト値が登録されます



■結論

「マスタリストのデフォルト値に設定する」は
GUI, Apex 等で積極的に値の選択がなかった場合にのみ
有効になる設定



■不具合情報

選択リスト値セットを使用した
選択リスト項目のデフォルト値が動作しない


といった現象が、Winter'18にバージョンアップ以降に発生しているようです


デフォルト値をセットした選択リスト値セットを
レコードタイプを使用したオブジェクトと
レコードタイプを使用しないオブジェクトの
両方に用いると、設定したデフォルト値が動作しないようです


参考
https://success.salesforce.com/issues_view?id=a1p3A000000mCYTQA2



■10月12日追記
本日パッチがあてられたそうです
https://success.salesforce.com/issues_releases_view?release=210009001






2017-10-04

MAMP のローカルホストに WordPress をインストールする

◆前提
下記で MAMP を使ってバーチャルホストを設定している前提で進めます
http://shige-mon.blogspot.jp/2017/09/macmamp.html



◆手順
■WordPress をダウンロード
WordPress をダウンロードし、解凍しておきます



■ WordPress のファイルセットを移動
バーチャルホストのフォルダは以下のような状態とします

$ tree -L 1 /Applications/MAMP/htdocs
/Applications/MAMP/htdocs
├── host8001
├── host8002
└── host8003


解凍した WordPress の index.php 
がある階層のファイル全てを、
バーチャルホストのフォルダ (host8001) に移動します



※バーチャルホストを設定しない場合は、
htdocs直下に移動すればよいです



■データベースの作成
下記を表示し、左側の「New」を押します
http://localhost:8888/phpMyAdmin/


「データベースを作成する」の下に下記を入力して、「作成」を押します
データベース名: wp



■ WordPress インストールページを開く
サーバを起動し、下記にアクセスします
http://127.0.0.1:8001/


データベース設定のページが表示されますので、以下のように設定します

データベース名wp
ユーザ名root
パスワードroot
データベースのホスト名127.0.0.1:8889
テーブル接頭辞wp_
「インストール実行」 を押します 参考 Mac上のMAMPでローカルにバーチャルホストを設定する方法 http://shige-mon.blogspot.jp/2017/09/macmamp.html

【WordPress】インストールでデータベース接続確立エラー

■前提
MAMP 4.2
WordPress 4.7.5



MAMP でバーチャルホストを設定し、ドキュメントルート直下に
WordPress ファイルをコピーしてインストールしています。



ホストにブラウザで接続し、
データベースの設定を送信した直後に
「データベース接続確立エラー」が
表示されてしまった場合についてです



WordPress をインストール時に
「データベース接続確立エラー」と表示されてしまうときは、
「データベースのホスト名」が正しくない可能性があります。



バーチャルホストを設定している場合、
MAMPの設定で MySQL のポート番号を確認し、
8889であれば、

「データベースのホスト名」は、下記の設定をします
127.0.0.1:8889



参考
https://www.netassist.ne.jp/blog/?p=1277






2017-10-03

mac OS のグループ、ユーザの作成の周辺コマンド集

Super ユーザに切替
$ su

ユーザ hoo に切替
$ su hoo

グループ名とプライマリグループIDの一覧を表示
$ sudo dscl . -list /Groups PrimaryGroupID

ユーザ名とプライマリグループIDの一覧を表示
$ sudo dscl . -list /Users PrimaryGroupID

ユーザ名と UID の一覧を表示
$ sudo dscl . -list /Users UniqueID

ユーザのIDを確認する
$ id foo

users というグループの詳細を参照する
$ sudo dscl . -read /Groups/users

foo というアカウント名のユーザの詳細を参照する
$ sudo dscl . -read /Users/foo

グループの作成 or gidの変更
$ sudo dscl . -create /Groups/users gid 601

ユーザの作成
$ sudo dscl . -create /Users/foo

ユーザのフルネームを設定 or 変更
$ sudo dscl . -create /Users/foo RealName foo



参考
http://shige-mon.blogspot.jp/2017/09/parallels-desktop-uid-0-parallels.html
http://shige-mon.blogspot.jp/2017/10/mac-oscui.html






mac OS のログインパスワードを強制的に変更する

■シングルユーザモードの起動

起動時に下記を押しておく cmd + S

■起動後の操作

下記を入力し、 Super ユーザの権限状態にします /sbin/fsck -fy /sbin/mount -uw / ユーザを一覧表示 ls /Users launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist (Snow Leopard以前の場合) launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist ログインパスワードの設定 dscl . -passwd /Users/username newpassword 再起動 reboot 参考 http://blog.livedoor.jp/ag_plusplus/archives/67958160.html https://www.lifehacker.jp/2012/10/121019break_into_mac.html

【mac OS】CUIでユーザを作成する

■作成するユーザ

以下の設定のユーザを作成します
アカウント名foo
フルネーム (RealName)foo
アカウント (UID)foo (601)
グループusers (601)
ホームディレクトリ/Users/foo
ログインシェル/bin/bash

■ユーザの作成

$ sudo dscl . -create /Groups/users gid 601 $ sudo dscl . -create /Users/foo $ sudo dscl . -create /Users/foo RealName foo $ sudo dscl . -create /Users/foo UniqueID 601 $ sudo dscl . -create /Users/foo PrimaryGroupID 601 $ sudo dscl . -create /Users/foo NFSHomeDirectory /Users/foo $ sudo dscl . -create /Users/foo UserShell /bin/bash $ sudo passwd foo

■作成グループの確認

作成したグループを確認します $ sudo dscl . -read /Groups/users AppleMetaNodeLocation: /Local/Default GeneratedUID: 05416EC7-AD6E-47AB-A7D1-7752821BF5CE PrimaryGroupID: 601 RecordName: users RecordType: dsRecTypeStandard:Groups

■作成ユーザの確認 ・・・①

下記では、設定したホームディレクトリ、グループ、フルネーム、 アカウント名、アカウント (UID)、ログインシェルが確認できます $ sudo dscl . -read /Users/foo AppleMetaNodeLocation: /Local/Default AuthenticationAuthority: ;ShadowHash; ;Kerberosv5;;foo@LKDC:SHA1.E5FB873ECB88A3928DE07A18294D98A61EB3BFEE;LKDC:SHA1.E5FB873ECB88A3928DE07A18294D98A61EB3BFEE; GeneratedUID: BD01036A-109A-4005-8932-D2358643061F NFSHomeDirectory: /Users/foo Password: ******** PrimaryGroupID: 601 RealName: foo RecordName: foo RecordType: dsRecTypeStandard:Users UniqueID: 601 UserShell: /bin/bash

■ユーザのIDを確認する

$ id foo uid=601(foo) gid=601(users) groups=601(users)

■作成したユーザの属性変更

作成した時と同様のコマンドで、 上書きするイメージで設定すれば変更されます フルネーム (RealName) の変更 $ sudo dscl . -create /Users/foo RealName hoge

■ユーザ情報の別の確認方法

Linux のグループとユーザの関係について理解を深めるために、 以下の方法でユーザの情報を確認してみてください ユーザデータベース情報の更新、追加用コマンド $ chpass mac OS に登録したユーザの一覧を表示します $ dscl Entering interactive mode... (type "help" for commands) > cd Local/Default/Users /Local/Default/Users > ls ユーザ情報の確認 上記①と同じ結果が得られます /Local/Default/Users > cd (user) /Local/Default/Users/user > read ※ 以下でも情報を確認できます > cd /Contact/Users /Contact/Users > ls 参考 macのユーザ情報管理はOpenDirectoryだった http://fanblogs.jp/macyarounanoka/archive/137/0

■visudo について

Linuxとは異なるので、下記のコマンドでは 権限がないと怒られてしまいます $ visudo visudo: /etc/sudoers: Permission denied この場合は以下のようにするとよいです user$ su Password: sh-3.2# visudo visudo: /etc/sudoers.tmp unchanged 参考 http://l-w-i.net/t/macosx/dscl_002.txt https://qiita.com/matsubo/items/50a2530e6d6f9ac0645e https://suin.io/473 Macで管理者権限がなくなってしまった時の対処方法 http://underwoodmac.cocolog-nifty.com/blog/2010/08/mac-95c7.html GUI でログインシェルを確認、変更する方法 https://rcmdnk.com/blog/2015/05/25/computer-mac-bash-zsh/ Linuxにおけるグループとユーザについて https://begi.net/read/base/07.html

2017-10-02

bash & sh と source コマンドの違い

■前提

予め下記の sh ファイルをホームディレクトリに作成しておきます ~/goApp.sh ``` #!/bin/bash cd /Applications echo "Applicationディレクトリに移動" ``` ※「~」はホームディレクトリを表しています

■検証

bash と sh コマンドで、 sh ファイルを実行した場合は、 以下のようになります。 ~ user$ sh goApp.sh Applicationディレクトリに移動 ~ user$ source コマンドで、 sh ファイルを実行した場合は、 以下のようになります。 ~ user$ source goApp.sh Applicationディレクトリに移動 Applications user$ つまり、 bash コマンドや sh コマンドでは、 sh ファイル内で実行されるディレクトリ移動は、 shファイル内の処理のみで有効( sh ファイルの処理が終わるとなくなる) 一方 source コマンドでは、 sh ファイルを呼び出している 環境上の実行スクリプトとして実行されているため、 sh ファイルの処理が終わっても、 行った処理の効果が継続します