Translate

2011年4月4日月曜日

Salesforce.com システム管理者コース後篇を受講する

受講してかなり時間がたってしまったが、
後篇についても書いておく。

大まかな章立ては以下の通り。

ワークフロー
・ワークフローの理解
・ワークフロールールの定義
・ワークフローアクションの設定

承認プロセス
・承認プロセスの計画
・承認プロセスウィザードの使い方
・承認プロセスの作成

分析―レポート
・カスタムレポートの作成
・高度な絞り込み
・条件付き強調表示
・カスタム集計項目
・カスタムレポートタイプ
分析―ダッシュボード

マーケティング管理
・リードの利用
・キャンペーンとキャンペーンメンバの管理
・リードキューと割り当てルール
・Web-to-リードと自動レスポンスルール

コールセンタ
・ケース管理の設定
・ソリューションの管理

Salesforceの拡張
・カスタムオブジェクト
・カスタムタブ
・カスタムアプリケーション

AppExchange
・AppExchangeの概要

前編の難易度から
気合を入れて後編にのぞんだが、
それほど難しくなかった。

どうも前篇の
ユーザ、プロファイル、ロールと
共有モデルの部分が
Salesforceのヤマだったようだ。

前編で標準オブジェクトを中心にカスタマイズを行い、
後篇の最初のワークフローや承認プロセスで
プロセス面の味付けをするといった流れのようだ。
で、SFAを中心とした標準オブジェクトで解説だったので
抜けていた
・リード(見込み顧客)
・キャンペーン
・ケース(問い合わせ)
・ソリューション(FAQ)
などに特化した機能について解説してくれた。

SFA中心のテキスト構成なので、
マーケティングやコールセンターをメインに
Salesforceを使用したい会社にとっては
正直不満が残る。

カスタマーポータルの作り方や
なによりService CloudとSales Cloudの違いが
研修にでてもさっぱりわからない。

電話連携やソフトフォンなどの
コールセンタを構築する側が一番知りたいところは
全く触れられずおわってしまう。

講師に質問しても
Salesforce営業・サポートに聞いてほしい
ってかえってくるし..


前・後編を受講すると
「標準オブジェクトをベースにカスタマイズを行い
 セールス(、マーケティング、コールセンタ)を利用できるようにする」
までが独力でできるようになる。

2011年3月9日水曜日

Salesforce.com システム管理者コース前篇を受講する

Salesforce.com Spring'11 Enterprise Edition/Unlimited Edition
システム管理者コース ワークショップ
の前後編研修計4日間受けてきた。


研修内容は、以下の通り。
これくらいは公開してもいいだろう。
今回は前篇分だけ。

- Salesforceの概要
あまり内容がない。

- ID確認機能とIPアドレスの制限
ログインの時に聞かれる「有効化」の意味が分かる。

- カスタマイズ
プロファイルとユーザの関係がわかる。
オブジェクト、項目の設定まではいいが、
ページレイアウト、レコードタイプ、ビジネスプロセスで混乱する。
ページレイアウトは詳細を表示するページの画面構成をさす、
レコードタイプはオブジェクトのタイプごとに属性を変えたい場合に使用する。
ビジネスプロセスは商談、リード、ケース、ソリューションの4つ、
すなわちレコード各々に"状態"を持つ標準オブジェクト固有の機能で、
レコードタイプによって状態を表す属性の出しわけを行える機能。
ページレイアウトでは項目をどこに出すかどうかまでは設定できるが、
状態を表す属性を選択するためのリスト項目を操作するには
この機能が必要になる。
このあたり、研修受講中には理解しきれなかった。
カスタマイズ終盤で初日終了。

- ユーザインターフェイスの設定
検索機能の説明や、カレンダなどの使い方、
インライン編集や拡張リストなどを学ぶ。
Chatterのために結構Salesforceが
おもいきってUIをいじったことがわかった。

- 入力データのチェック
式が書けるが、結構支援してくれるので
わざわざ関数名を覚えたり標準オブジェクトの項目ラベル名を
覚えたりしなくていい。

- セキュリティとアクセス
2日目の山場、ロール、プロファイル、組織の共有設定、共有ルール
の関係がややこしい。
Siebelも可視性と組織のカスタマイズが結構ややこしかったが、
同じCRMだけあって同じ機能が厄介だったりするのが
さもありなん。

- データ活用のための機能
インポート、エクスポートとツールの話。

参加者は10名、研修用データの入ったSalesforce環境がわたされ
演習をその上でやりながらすすめるが、
前の研修設定が入ったていで次の演習がつづくので
たとえば2日目の朝遅刻するとついていけなくなる。

今回の研修でも1名遅刻してきて昼休み補習(?)を
やっていた。
この人結構ルーズで、研修室内でお菓子食べたり、
フリスクぼりぼり噛んだり結構プチトラブルメーカだった。
(たぶんI社の人だとおもう)

一般的に研修は時間内に終わるのだけど、
この研修は(後編も)30分くらい伸びてしまう。
もともと研修内容が時間にあっていない。
講師もテキスト全部説明できないので
ややとばしとばしだし、
結局質問は研修が終わった後以外にはできない状態だった。

Salesforceは結構簡略化されているように見えるが、
Siebel2000の研修のボリュームとあまりかわらない。
むしろSiebelのほうが演習時間や質問がたっぷりあるので、
Salesforceの方が研修という面では洗練されていないといえる。

Siebelもそうだが、
Salesforceの研修を受ける人は知識を浅く広く
つめこませられてしまうので、
それに対応できるように
途中で意識をなくしたりすると
すぐにおいつけなくなる。
フリスクぼりぼり君も2日目午後は
ついていけない匂いが結構していた。

これから受講される方は
意識をたもって受講してください。

2011年1月19日水曜日

Salesforceのユーザと組織の構造を調べてみる

先に書きますが、
ここにかかれている情報は
ちゃんとチェックしているわけではないので
誤りがあるかもしれません。

もし誤りを発見された方は
コメント欄にご指摘いただけると
私もほかの参照されている方も
うれしいとおもいますので、
よろしくです。



Salesforceの無料トライアルへ登録して
カスタマイズを一切しない状態での
Salesforce CRMを調べ始めた。

こういう業務アプリ系は
組織構造やユーザとの関係を把握しておかないと
ビジビリティとかアクセス権とかでやっかいなので
まずそこだけのぞいてみた。





















Salesforceではテーブルに相当するものを
オブジェクトとよんでいるようで、
このオブジェクトの関係を把握してみようと
クラス図もどきを書いてみた。


Salesforce契約すると
組織という単一唯一のインスタンスができるようだ。

休日、営業時間、会計年度が紐づいているかは
正確に設定画面からはわからなかったけど、
おそらく規定関係があるのだと思う。

ユーザはメールアドレスが必須だけれど、
ユーザアカウントにもアドレスを使う。
ユーザアカウントは全世界で1つの
Salesforce CRMというシステムインスタンスへ
ログインするので、
世界で単一である必要がある。

便宜上一人の人が複数アカウントを
持てるようにユーザアカウントには
・メールアドレス形式であること
・異なるアカウントで同一のメールアドレスでもよいこと
となるようだ。

chatter使いなら
メールアドレスの先頭に
chatter-をつけるなどすればよいらしい。

でも無料お試し登録時に
そんなことはわからないから
会社のアドレスで登録してしまった..
ちょっと気になる..

Chatterでつかっている「グループ」と
「公開グループ」というやつは異なるようだ。

公開グループはいわゆるPartyオブジェクトなのだとおもう。
1名以上複数名をあらわすオブジェクト
というやつだ。

ロールは組織名をそのまま使うことが前提っぽいが
組織名をユーザオブジェクトの属性として
別途文字列で持っていて、
これがロールとは別に書き込めるようになっている。


とすると、組織改編の激しい会社などでは
ロールを会社内の役割として使えるようにしているのだろう。


組織は
無料登録した時の組織名がそのまま入っていた。
ディビジョンも属性にあるから..
会社=Salesforceの組織、にしないで
会社の1組織=Salesforceの組織、にもできるような
配慮かな。
Onyxのように部署単位でSFAを入れることが多い
業務アプリもあるからだとおもう。



キュー..というのはアプリ側のビューからは
見えていなかったので使い方はわからない。
MLなどの同報通信を表しているのかな..


やはりSiebelとくらべて、
(..といっても2000(Ver6)の知識だけど..)
オブジェクトの数がSalesforceのほうがシンプルだ。

Siebelの組織なんか
完全なCompositeパターンで構成されているから
どんな組織でもアプリ上で実現できたけど、
Salesforceはそれよりはフラットな構造をしているので
拡張性は多少無視してシンプルさをとったって感じか。


Siebelは、システムの設計上
なんでもかんでもできまっせ、を実現するために
ほぼすべてのエンティティを事前に定義していた。

カスタマイズ担当者にはよけいなエンティティを
作らせない、
カスタマイズする奴はみんな悪さをるという性悪説ベース
の設計なのだろう。

今になって考えると、
あの時代のERPも似たような思想なので
対抗させるにはそういった設計を採用したのかもしれない。

だから複雑になりすぎて
使いこなせるカスタマイズ担当者、ユーザがいなかったのだとおもう。


Salesforceはシンプルな構造のみを提供して、
必要があればユーザがオブジェクトを新たに作ったりできる
ようにしたのか。
PaaS環境提供も想定されていたのだとおもうので
オブジェクトをユーザに自由に作らせないと対応できないし。


Siebel勉強してた時はいやいやでしょうがなかったけど、
同一業務の複数のアプリケーションを知る機会ができて
いまはラッキーだったなと
ちょっと思った。

2011年1月18日火曜日

書籍「Force.comクラウドアプリケーション開発」に悩まされる

セールスフォースを使いこなそう
Force.comクラウドアプリケーション開発


という本を買った。

1章の概要は
ほんとうに必要最小限の情報だけ。
エディション別の比較があったところは参考になった。

2章、3章は
ざらっとパラ見したが
コードを書かないで設定だけでアプリを作る方法を
紹介している。
ワークブックだと画面スナップがなくよくわからない
という人には参考になるかもしれない。

ただ画面はバージョン10なので
現時点で1世代前だから
多少入力項目名などが変わっているかもしれない。

私はワークブックをやっていたので
読まずにパス。

4章に
VisualforceとAPEXコードを書いた
アプリを作成し、
Force.comアカウントのない人にも
使える公開アプリの作りかたを紹介するもの。

なので、4章からはじめた..

が!
この本..
本当に校正やらチェックやらやったのだろうか..

まず、
Visualforceコードが
画面スナップのみでしかみせていない。
しかも、
スナップ内のコードの文字サイズが
0.5ミリくらい..

これ、読めってか!

..仕方ないので
目を細めて精読して読み取った。
読み取ったコードは以下の通り。


1画面目Visualforce:forminput
<apex:page controller="form_controller" tabStyle="lead">
<apex:form >
<apex:commandButton action="{!step2}" value="確認" />
</apex:form>
</apex:page>

2画面目Visualforce:formconfirm
<apex:page controller="form_controller" tabStyle="lead">
<apex:form >
<apex:commandButton action="{!step1}" value="Previous" />
<apex:commandButton action="{!step3}" value="Next" />
<apex:commandButton action="{!cancel}" value="Cancel" immediate="true" />
</apex:form>
</apex:page>

3画面目Visualforce:formfinish
<apex:page >
入力完了しました。
ありがとうございました。
</apex:page>

..なんだ、これ..
「確認」押して、
「Next」押して、
固定文言のページを表示するだけじゃん..
サンプルにしても
もうちょっと入力するフォームとかにすればいいじゃん..

..文句はあるけど
とりあえず続ける。

Controllerにあたるコードが4.2.3章に載っているんだけど、
まず前の章では一挙手一投足画面スナップで紹介しているのに
ここの章は全然書かれていない。
どこにAPEXコードを新規登録すればいいのか
一切書かずにコードだけペロンと載せている..

まあワークブックやっているので
設定→開発→Apexクラス選んで、
Visualforceのpageタグで定義しているform_controller
って名前のクラスを新規で作って、
本に載ってるコードをそのまま打ち込んだ。

で、
保存しようとしたら..
step2(), cancel()がないとかでエラー..

ああこのソースコード完成してないじゃん..
で、以下のように修正。

Apexコード:form_controller
public with sharing class form_controller{

public PageReference cancel() {
return Page.forminput;
}

lead ld;

public lead getLd(){
if(ld==null) ld= new lead();
return ld;
}

public void setLd(lead ld){
this.ld = ld;
}

public PageReference step1() {
return Page.forminput;
}

public PageReference step2() {
system.debug(ld);
return Page.formconfirm;
}

public PageReference step3(){
lead ld = getLd();
return save(ld);
}

PageReference save(lead ld) {
if(ld.Company == null){
ld.Company = 'uhuru';
}

if(ld.LastName == null) {
ld.LastName = 'abe';
}

insert ld;

PageReference leadPage = new PageReference('/apex/formfinish');
leadPage.setRedirect(true);
return leadPage;
}
}

..またこれも、
内容のないサンプルだなあ..

leadオブジェクト作って、
必須項目の会社名、名前だけ決め打ちで入力して
保存するだけ、じゃん..

いくら表紙で
マウス操作だけで作れる!
っていれたからって、
Visualforce/Apexコードの章
めちゃくちゃだ..

本当にゲラチェックとか
してるのかな..

..と書いた人のウフルなる会社のサイトを
見たのだけれど..

Salesforceの開発者ブログなどは
全然上級者っぽいひとがいそうな感じだ..

こういった技術者がいるのに、
なんであんな本つくってしまうのだろうか..




p.s.

この記事を書いた後に
Force.com開発者コースという研修を受けたのだが、
ある演習問題のソースをコピペしたんじゃないか..
っていう片鱗を見つけた..

いやいや!
Force.com開発の雄ウフル社の書籍だから
決してそのようなことはしないだろう。

これはきっと腹黒い私の憶測でしかない考えだ。
うんうん気のせい、気のせい。
こんな憶測書いてしまってごめんなさい。

2011年1月13日木曜日

Chatterのチュートリアルをやってみる













社内でTwitterクローンを作るのも良いけど
社外で仕事しているメンバが使えない。

使えるようにするには
DMZに置かないといけないとか
色々面倒だ..

となると候補に出てくるのは
Salesforce.comのChatterだ。

最初金取られると思ったのだけど
サイトをみると無料版もあるみたいだ。

developerforceにあるチュートリアルを
とりあえず.NETから使うところ(4つめ)を飛ばしてやってみたが、
まあ..うん簡単かな。

ファイルの投稿もできるし
グループも作れる。

ユーザ単位でのフォローもできる。

ハッシュタグのかわりは
グループでできるかもしれない。
ただ複数グループ同時(ハッシュタグを複数打つ)は
できなさそうか。

ただまだ携帯はiOSだけだ。
Androidはまだ出てないみたい。
#BlackBerryもでるみたいだけど
#こっちは..いいか

Javaアプリから
Webサービス使うときも
ConnectorConfig#setProxy(host, port)
使えばproxy設定できるので
定時連絡アプリとかも社内で実行できる。


にしても..
どうも Salesforce.com の Chatter サイトは
理解しずらいので
結局自分で実際に使ってみないとよくわからなかった。

無料と書かれているのに使い方がすぐにわからない..
Developer Editionからのルートが書かれていない。

「ほんとに、CRMをやっている企業か?」
と思ったけど
ひょっとしてわざとわかりづらくして
見込み顧客からSalesforce.comへアクセスさせるのが
目的なのかもしれない。
もしそうなら大人な会社だ..
もしそうなら、だけどね。


Google先生に聞いてみると下記の記事がヒットした。

この記事をよむと Developer Editionからだと100ユーザまで使えるらしい。
Force.comではなくCRM側のContact Manager EditionでもChatterつかえる
ってあるけど、
Salesforce.com社のサイトの
にはそれらしいことが書かれていない。
あ、Contact Managerって5ユーザ(20GB)までじゃん..

とりあえず、
ざっくりわかったところまで書いてみると..

・Chatterを理解するにはDeveloper Force JapanのChatter Workbookを
 半日実際にやってみれば覚えられる
 フリーメールアドレスをつくり、試せばよい。
・ChatterはSalesforce CRM/Force.comへログインして使う
・ログインして右上のアプリ選択で Salesforce Chatterを選んで使う
 ログイン名はメールアドレス形式だが、架空でもよい
 ただしユーザは必ず使っているメールアドレスを別途指定する
 このアドレスに初期パスワードやフォロー先の更新情報が来る
・グループが作れる
・ファイルも添付できる(エディションの上限まで)、グループにファイルを置ける
 同じファイルをアップロードしても同一ファイルの更新にはならず別々
・フォローは個人、グループや個別のファイルに対して張れる
 フォローをはると更新がタイムライン(?)にでる
・社内のJava/.NET アプリからアクセス可能
 Webサービスで接続、proxy経由でもOK
 コーディングはSObject(Force.com/Salesforce CRMのDBテーブルのようなもの)を
 知らないとできないのでChatterだけでなく
 Force.comのworkbookもやっておくとよい
・Google App EngineからSObject連携ができるので、正直RDBになれたアプリ屋
 からすると使いづらい面をBigtableにかわってForce.comを使って逃げることもできる
 Amazon RDSもあるか..JDBCがApp Engineに載るかどうか知らんけど..
・Workbookをやっている人は「Force.comクラウドアプリケーション開発」を買わないでよい
 細かなエディションだとかの情報がまとまっている部分のみ有用
 画面もバージョン10ですでに現時点で1つ前
・無料でChatter使えるのはForce.com Developer Editionで100ユーザまで
・有料でChatter使える一番安いのはSalesforce CRM Contact managerだが
 5ユーザまでらしい
・Chatter単独だと1500円/月人
 1000人の会社が1年で2300万以上になる
 ので意外と高い→社内サイトorAWS micro上にTwitterクローンのほうが安い
 Contact Manager以外のCRMエディションは3000円以上になる
・Salesforce CRM/Force.com裸単騎の機能では帳票を作る部分の機能が弱い
 AppExchangeに帳票系のアプリはありそう(ウイングアークとか)
・Salesforce.com サイトはCRMを売っている会社なのに顧客にとってわかりずらい
 開発者のコミュニティもさほど活性化していないのも、
 このSalesforce.com社の迷彩戦術の結果かもしれない



あと知りたいのは、
Active Directoryのユーザ認証連携がわかれば
万々歳なのだけど..これはまだ良くわからない。
Open IDとかでなくできれば社内のActive Directoryを
フェデレーションゲートウェイとかうにうにやって使いたいなあ..

もしご存知の方は
よろしければコメント欄にでも
書いていただけるとありがたいです。

2011年1月6日木曜日

Androidで画像縮小する方法いろいろ

以前GridViewに画像をたくさん並べる方法
のときにサムネイル化するために
画像を縮小する必要があったのだけど、
あまり考えずに
Google App Engine で以下のようなServletを書いて
処理していた。




public class ResizeServlet extends HttpServlet {

private static final long serialVersionUID = -999999L;

/** デフォルトの高さ(ピクセル) */
public static final int HEIGHT = 50;

/** ロガー */
private static final Logger log =
Logger.getLogger(ResizeServlet.class.getName());
/**
* 生存確認
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
PrintWriter pw = resp.getWriter();
pw.print("ResizeServlet is alive!");
pw.close();
}
/**
* 画像を高さ100spに変更して戻す
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException{
DataInputStream dis = new DataInputStream(req.getInputStream());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int c;
while((c = dis.read())!=-1){
baos.write(c);
}
byte[] org = baos.toByteArray();
log.info("doPost: length=" + org.length);
Image image = ImagesServiceFactory.makeImage(org);
int height = image.getHeight();
int width = image.getWidth();
Transform resizer =
ImagesServiceFactory.makeResize(
(int)(((double)width*HEIGHT)/((double)height)), HEIGHT);
ImagesService service = ImagesServiceFactory.getImagesService();
byte[] result =
service.applyTransform(resizer, image).getImageData();
DataOutputStream dos = new DataOutputStream(resp.getOutputStream());
dos.write(result, 0, result.length);
dos.close();
dis.close();
}
}



App Engineの上記のServletサイトへPOSTで送った画像を
App Engineに用意されているGoogle APIで高さ100ptの画像に変換して
送信元へ返しているだけの単純なつくりだ。
実際にはパラメータで高さ指定できるものを利用しているが
サンプルコードは決め打ちにしてある。

ちなみに、Android側はURLConnectionを使ってbyte[]でもらってくればいい。
private byte[] resizeImage(String url, byte[] org) throws IOException{
 URLConnection conn = new URL(url).openConnection();
 Log.d(TAG, "getImage: url =" + url);

 conn.setDoInput(true);
 conn.setDoOutput(true);
 conn.setRequestProperty("Content-Type", "application/octet-stream");
 conn.setRequestProperty("User-Agent", "androidSample");
 conn.setRequestProperty("Content-Length", 
  new Integer(org.length).toString());

 // 送信
 OutputStream os = conn.getOutputStream();
 DataOutputStream dos = new DataOutputStream(os);
 dos.write(org, 0, org.length);

 // 受信
 InputStream is = conn.getInputStream();
 DataInputStream dis = new DataInputStream(is);
 int b;
 ByteArrayOutputStream baos = new ByteArrayOutputStream();
 while((b = dis.read())!=-1){
  baos.write(b);
 }
 dis.close();
 is.close();

 dos.close();
 os.close();

 byte[] result = baos.toByteArray();
 Log.d(TAG, "resize: org_length=" + org.length + ", result_length=" + 
  result.length);
 return result;
}


引数の変数urlは先のApp Engineの該当ServletのURLを
書けば良い。
カメラにせよ、S3上にせよ画像データをbyte[]で渡してやれば
戻り値として小さくなった画像を返してくれる。
これを非同期でGridLayoutを更新させるように実装すればいい。
#ボタンイベントなどに書くと、とたん固まってしまうから、やらないほうがいい
#とりあえず動けばいい人は書いてもいいが..


けれど、
昨日Androidの会のMLに以下のようないくつかの方法が
紹介されていた。

画像をきれいに縮小する方法

まだ試してはいないけれども
これだと通信事情が悪い場所でも
縮小できそうだ。

画像に関する知識が私にはまったくなかったので
ありもの(AppEngineのImageService)で何とかしようとしていたけど、
質問した人は画像処理について詳しい方のようで
もっといい方法を紹介してくれている。

勉強になった。

2010年12月28日火曜日

Lync Serverインストール時に証明書チェーンは処理されましたが云々でうまくいかない



SqlExpressRtcでエラーだった人は、こっちを読んでください。
Lync Server 2010は、
Microsoft Communication Server 2007の後継で、
Web会議システムをオンプレミスで構築できる。

で、ちょっと試してみようということになり、
Windows7上のVMware player上で作ろうと
格闘していた。

もともとVoIPで内線だとかいろいろ
ごたいそうな機能を持っているので
インストールの手順も多い。

お試しなのでお金をかけないように
TechNetのライセンスでやりくりして
なんとか
ステップバイステップガイド
のp71まで(全p82)きたのに..

あと10ページなのに..


















証明書チェーンは処理されましたが、
信頼プロバイダーが信頼していない
ルート証明書で強制終了しました。

というご無体なメッセージを食らってしまった..


うーん、これって..
プライベートCAじゃだめってことじゃん..

お試しでもベリサインとかに金払って
信頼のある証明書つくんないとだめって事?!







...やる気99%ダウン






で、本気で帰ろうかなと思ったけど、
なんかちょこちょこ
Lync Serverインストールしようとしているサーバの
「ローカルセキュリティポリシー」
「証明書パス検証」
を下の様にいじって


















試してみたら..

















..うまくいった..


正直Windows Serverに関する知識ほとんどないけど
なんか適当にそれらしいところいじっていると
うまくいったりするんだよなあ
MSのサーバ系OSって。

2010年12月22日水曜日

LotusLive Meetingの音声が送れない

LotusLive Meetingは
簡単にいうと Web会議システム。

フリーメールアドレスを1つ作れば
30日間無料で使えるので
試してみたのだけど..



いくら会議にログオンして
PCに接続したヘッドセットでがなっても
ぜんぜん音声が相手に伝わらない..

ドライバとかマイクのテストをしたが
PC側はどうも問題がなさそう。

LotusLiveのヘルプを読んでも
使っているサイトにはないボタンやら
プルダウンメニューの項目やらがあり
到達できない..

でサポートにメールして聞いてみた。
すると以下のことがわかった。
・LotusLive Engageにはオーディオキャスト機能がない
最初に無料アカウントを登録する際、
LotusLiveにはいろんなエディション(?)があって
正直よくわからなかった。
サイトを読むと"Meeting"を含んでいる"Engage"で
アカウントをとったほうがおとくのようなので
Engageでアカウントをとってしまった。
これがよくなかった。
・LotusLive Meetingのオーディオキャストは電話をマイクに使う
Meetingでオーディオキャストを使う設定をすると
電話番号の入力を指示される。
そこに「01-1-81-<先頭ゼロを削除した国内電話番号>」
をいれてダイヤルすると聞き手側のPCのスピーカに
電話でしゃべった音声が出てくるようになった。

うーん、
Web会議システムでなく
正確には
Web・電話会議システム
なんだろうな、これは..

思想的には
外出者の携帯電話や内線電話が完備している企業で
電話会議の付加価値としてWebで動画や資料を
共有できますよっていうシステムなんだろうなあ。

ヘルプはエディション(?)にあわせて
つくってほしかった..


海外のサービスを翻訳しただけみたいで
読みにくいので、できれば改善してほしいなあ..


※2011年6月24日追記 
オーディオキャストの設定画面が変わりました。
国名:日本+81
電話番号:国内の市外局番から先頭のゼロを外して入力
にすれば接続できます。

どうもIBMはLotusLive自体の機能をいじろうとせずに
Skypeで連携してねとかの資料をあげはじめた。
かたやV-CUBE社はどんどんWeb会議システム自身
に手を入れつづけている。

IBMはパッケージ製品とおなじ速度でSaaSの更改
をしていたらダメだってことがわかっていない。
IT業界はドッグイヤーというがSaaSはカゲロウイヤー。
すこしでも機能追加をおろそかにしたら
とたんに客なんてにげていく。

月額表示しているくせに
契約は年単位ですとかぬかしていると
すぐに痛い目に会うとおもう。

というかSaaSは
とりあえずメニューとしてやってるといわないといけない
からやっているだけなのかもしれないけど。

2010年12月17日金曜日

Androidでproxy設定がうまくいかない..

先に書いておきますが
まだうまくいってません。

proxy経由でインターネットに繋がるローカルLANに
繋がったWiFiルータを使ってAndroid HT-03Aから
つなごうと思って設定をいろいろ探したのですが..

標準のAndroid OSには
proxy設定がない..
アクセスポイント(キャリア)にはあるのに..
iPhoneにもあるのに..
企業向けの利用じゃ必要な機能だと思うんだけどなあ..


で、マーケットの検索で調べると
Proxy Settings なる無料アプリを見つけた。

入れてみると
proxyサーバとポートの設定画面があるだけ。

設定してみたが..
うーん繋がらない..

pubrom1.1(Froyo)でもだめだった。

CM1.1はなんと設定からproxy設定できるようになっていたが
コレも繋がらなかった..

うーん、adb shell上でpingしたら繋がるんだけどなあ..

もうひと悩みいりそうだ..

2010年12月8日水曜日

AndroidでOpenVPNしようとしてはまる

PCからOpenVPN接続している環境上に
Citrixサーバをおいている。

AndroidマーケットにもCitrix Readerというアプリが
あるので、使いたいなあとおもっていたのだが、
社内LANにあるCitrixサーバへ繋ぎたいのだけど
VPN接続環境をAndroidで構築できなくてはならない。

でもHT-03Aの標準OSではVPNルータをサーバ側に用意して
おかないとできない。
今のところ外部からはOpenVPNだけ。

でAndroidマーケットをさぐると、
OpenVPN Installerなる無料アプリがあった。

でもrootが取れないとインストールできなかった。


で、止まっていたのだけど、
最近HT-03AをFroyoにしたので
もちろんrootは取れている。

で、ちょっとやってみることにした。
#あ、先に書きますがまだうまくいってません。

OpenVPN Installerは文字通りコマンドラインで動作する
openvpnバイナリをInstallするだけのアプリで、
実行すると何度かrootでの実行許可を求めてくるので
すべて許可するってボタンでいれまくる。

この段階でadb shellすると
インストール時に指定したパスへopenvpnができている。

で今度は/sdcard/openvpnを作成し、
crt/csr/keyファイルとovpnファイルを置く。

次にOpenVON Settingsというアプリを
Androidマーケットからダウンロードしてきて
起動する。

1列目がOpenVPN、2列目がovpnファイル名が表示されるはず。
で、まずOpenVPNをチェック。
次に2列目をチェック、するとユーザID/パスワードがでてくるので
ユーザIDとOTPを入力する、とつながるはずなのだけど、
md5の変換をパスフレーズ使ってやらないといけないのだけど
うまくいかない..
dotkey95を使っているのだけれど....

多分ここまではあってるんだと思うんだよなあ..

2010年12月2日木曜日

HT-03Aでテザリング




友人に教えてもらいながら
HT-03Aをテザリングできるようにした。

大まかな手順は以下のとおり。
・adbでHT-03Aに接続できるようにする
・rootでログインできるようにする
・Recoveryツールを入れる
・FroyoのROMイメージを入れる
・テザリングアプリを起動する

docomo回線でテザリングできたら、
iPadやノートPC側に
別途通信契約した機器が必要なくなる。

WiMAXほど速度は出ないけど、
これまで複数の携帯契約の重圧から
一部は開放できるわけだ。


当然これをやるとdocomoのサポートはなくなる。
自己責任での作業となる。


まず
・adbでHT-03Aに接続できるようにする
だけど、このへんは
コムギドットネットを参考にするとさくっと
OSが1.6でもrootを奪取できるようになった。

rootをとれると、
カメラの操作音ファイルを無音声のファイルに
差し替えたりできるのでとても便利だ。
/system以下のファイルもまじまじ見ることができるし。


次に
・Recoveryツールを入れる
もコムギドットネットに手順が書かれていたので
そのとおりにやると素直にできてしまった。
このツールを使ってSDカード上に置いた
イメージファイルで更新するとできあがりだ。
注意する点は更新前に必ず
Wipeメニューの上段3つは必ずしておくこと。
これをしないとうまくいかないことが多い。


素人だと厄介なのはこれからで、
・FroyoのROMイメージを入れる
これをやるには
イメージファイルを入手しないといけない。
Android Custom Cookbook を読んで
cm+gappsを入れてみたのだが..
まあ入ることは入るのだけど、
なんかうまくいかない。
起動画面の無限ループになったりした。
DDMSでログを見ているとNullPointerがでている..
どうも100%正しい情報ではないみたいだ..
で、友人に聞きながらすったもんだして
起動までこぎつけたのだけど、
Android Marketが消えてしまう..
普段使う携帯としても使っているので、
なくなるとTwitterアプリやらいろいろ
使いたいものが簡単に手に入らなくなってしまう。
SDカードに入れて..ってすればできるのは分かっているけど
それはしたくない..
さらに、いろんなイメージを入れていくうちに
docomoのロゴが出たまんまになってadbできなくなってしまった..
でもHOME+電源ボタン押しっぱなしで起動すると
Recoveyツールが上がることがわかり、
SDカードにはPCからイメージをコピーして携帯に挿して
更新を続けると
pubrom-1.1だとAndroid Marketものこることがわかった。
画面はcmよりもっさりしているけどしょうがない。
ちなみに音声を下げる+電源ボタン押しっぱなしでFASTBOOT
するという方法もある。

ちなみにいろんなイメージを検索していたのだけど
その全部のサイトがマカフィーボタン(?)が真っ赤になって
「危険なサイト」として警告してくる..


・テザリングアプリを起動する
だけど、これはpubrom-1.1だと
メニューにすでに
無線LANマークのアイコンがあるので
これを起動して、
開始させるためにど真ん中の無線マークを
押すと..おお、できた..



でも、PINコードとかのないパブリックアクセスポイント
になるので、誰かに踏み台にされる可能性もあるのか..



起動しなくなったときは焦ったが、
まあこれで年末Softbankの電波の届かない実家に帰っても
iPadが使える..

Google Colab相当の環境をローカルPC上のDocker Composeで実現する

 Docker Composeの有料版に、お金を払いたくない ^H^Hが使えない ため古いゲーミングPC(GeForce3080)にDocker Composeを入れてその上のコンテナでGoogle Colab相当のノート操作ができないかためしてみた: コンテナイメージとして a...