2013年12月27日金曜日

chromeのスタートページに設定しているサービスのまとめ


chromeを起動したときに表示されるページは、ユーザーが自由にカスタマイズすることができます。

って、IEでもFirefoxでもできますね。
自分の場合にはgoogleのサービスを軸に日々を過ごしているので
その延長でパソコンでもchromeを使っています。


さて、以下が自分がスタートページに使っているものです。

google Task

https://mail.google.com/tasks/canvas?pli=1

Taskが画面いっぱいに表示されます。
毎日の朝はここから始まります。
事前にスマホでメンテ、消化していったら消していって、終わったら完了。

という具合で使いたいのですがたまに忘れます。


google calender

https://www.google.com/calendar/render

ただ単にカレンダーを出しておくだけです。
スケジュールの調整依頼など来た際にはその場で編集。
これもスマホとの連動が非常に便利です。


feedly

http://feedly.com/index.html#latest

読み物です。RSS登録をしておくと新着記事を拾ってくれます。


mindmup

http://www.mindmup.com/

マインドマップを簡単に書けるサービス。
もやもやした時に書いて、終わったら捨ててしまいます。

作ったデータはGoogleDriveに保存できます。


gunosy

http://gunosy.com/

朝と、気分転換の時に見ます。
「クリップ」機能できちんと見たい記事をマークしておいて
通勤時などに深読み、整理などしたりします。


blogspot

http://www.blogger.com/

大体、お昼前後に書いておいて、朝、記事をアップしています。
その後も、自分で「あれ何だったっけ」というような時に記事検索。



Webのサービスが主流ですが、はじめは慣れないものであっても
「無理やり日常に組み込む」ことにより、今では手放せないツールとなっています。

3日坊主の自分には丁度いい使い方でした。

2013年12月25日水曜日

Bluetoothヘッドセット・イヤホンを購入

スマートフォンを新しくしたので、周りのものも新調してみようかと思い、
手軽なBluetoothヘッドセットを購入しました。

Elecom LBT-AVPAR400


ビックカメラで4,500円ほどでした。


スマホ、タブレットがSony製なので合わせようかとも思いましたが、
店舗におかれている商品のなかで目立っていたのがコレ。

・Bluetooth4.0に対応している
・イヤホンが付属していない = 自分のものを使える&変えられる&価格も下がる
・カラーバリエーション


他にもNFCワンタッチでペアリング認証できたりもするのですが
SONY製品にもあったので割愛。

4.0のプロファイルに対応しているものとしてはSONY製はまだなく、
あとはレシーバーすらないタイプのイヤホンだけでした。


Bluetooth4.0になって、省電力化が強化されたとの事で
充電の機会が減り、大いに活躍してくれそうです。


Xperia Z1f,XperiaTabletZともに、問題なくペアリングでき、使えました。


音質の事はあまりわかりませんが、おそらく普通です。

手持ちのイヤホンも劣化してきている事も関係しているかもしれませんが
直接つないでも、Bluetooth経由しても、違いが判りませんでした。


ひとまず、手軽に使えるツールになりそうです。

【OSS】国内発の施設予約システム[openreaf]

パッと見、 公共系に特化したサービスにも見えるのですが、観点を変えれば色々なケースに活用できるかもしれません。

http://openreaf.jp/

2013/12の時点で、オープンソース版のダウンロードは準備中とのこと。

利用できるようになったら評価をしてみたいと思います。

2013年12月24日火曜日

Oracleでパイプライン表関数を利用して表データを返却する

Oracleで、プロシージャを使ってデータを返す事が可能。

SQLが複雑になりすぎた時や、そもそもSQLで組めないときなど
適切な単位でプロシージャ分割して組むことにより、処理性能、
可読性、保守性の向上に役立ちます。

※詳しくは調べていませんが、Oracle9iで搭載された機能のようです。

概略


返却する表を定義
プロシージャの戻り値に、定義した表を指定
プロシージャ内で表のデータを生成して返却

使うキーワード

RETURN 表名 PIPELINED
PIPE ROW(レコード定義)

サンプル

※年月の開始と終了を指定すると、年月のレコードを返す


CREATE OR REPLACE PACKAGE PKG_DATE_TABLE_UTIL
IS
  -- 返却するテーブルの型を定義する
  TYPE T_TABLE_YM_ROW IS RECORD(
    YEARMONTH      NUMBER(6)
  );
  -- テーブルを定義する
  TYPE T_REC_YM_ROW  IS TABLE OF T_TABLE_YM_ROW;
  -- 関数を定義する。返却値はTABLE定義名 PIPELINED
  FUNCTION GET_YM_TABLE(IN_START_YM NUMBER , IN_END_YM  NUMBER)
  RETURN T_REC_YM_ROW PIPELINED;
END;
 /

CREATE OR REPLACE PACKAGE BODY PKG_DATE_TABLE_UTIL
IS
  FUNCTION GET_YM_TABLE(IN_START_YM NUMBER , IN_END_YM  NUMBER)
  RETURN T_REC_YM_ROW PIPELINED
  IS
    ERROR_01   EXCEPTION;
    /* 変数定義 */
    L_WORK_DATE   DATE;
    L_END_DATE    DATE;

    /* レコード格納定義 */
    W_RET_REC T_TABLE_YM_ROW;
  BEGIN
    /* パラメータチェック  */
    IF IN_START_YM IS NULL THEN
      RAISE ERROR_01;
    END IF;
    IF IN_END_YM IS NULL THEN
      L_END_DATE := TO_DATE(IN_START_YM || '01' );
    ELSE
      L_END_DATE := TO_DATE(IN_END_YM || '01');
    END IF;
    L_WORK_DATE :=TO_DATE(IN_START_YM || '01' );
    -- 初めの1月目を出力
    W_RET_REC.YEARMONTH := TO_CHAR(L_WORK_DATE,'YYYYMM');
    PIPE ROW(W_RET_REC);
    L_WORK_DATE :=  ADD_MONTHS(L_WORK_DATE,1);
    -- 以降は指定された分だけ、繰り返し
    WHILE ( L_WORK_DATE <= L_END_DATE ) LOOP
      -- 定義に対してデータを設定
      W_RET_REC.YEARMONTH := TO_CHAR(L_WORK_DATE,'YYYYMM');
      -- 1行を返却する
      PIPE ROW(W_RET_REC);
      L_WORK_DATE :=  ADD_MONTHS(L_WORK_DATE,1);
    END LOOP;

    RETURN;
  END;
END;
/

2013年12月20日金曜日

Oracleが起動しなくなったときの対処(ORA-01034,ORA-27101,ORA-03113,ORA-12640)

お客様先でUPS故障があり、サーバーの電源をコンセント直にしていたのですが、
そんな時に限って、電源が急に落ちるという事態。

結果、Oracleが起動せずにシステムが利用できなくなった。

そんなときの対処です。

Oracleのエラーコード

ORA-01034、ORA-27101

アプローチ まずはalert.log

まずはalert.log ということで、あちこちのファイルを探しても出てこない。
Winサーバなのでbdumpのフォルダがデフォルトということなのですが、
そこに出来ているファイルは更新日が1ヶ月以上も前。

一旦追うのをあきらめて、現象から調べていくアプローチへ切替。

エラーコードからgoogle先生

まず、ORA-01034:Oracleは使用できませんで調べると、
設定ファイル系がおかしくて起動できないのだろうという線の情報が多い。
ORACLE_SID,ORACLE_HOMEの環境変数など

事例から、以下コマンドを実施


set ORACLE_SID=ORCL
sqlplus /nolog
SQL> conn / as sysdba
SQL> startup mount

すると、別の現象
ORA-03113:通信チャネルでend-of-fileが検出されました
が発生。どうやら、別物らしいです。

そもそもデータベースがマウントできない。

REDOログが怪しいということで、REDOログの初期化を試行。

これもダメ。ORA-03113です。

ファイル走査

いったん手詰まり感が出たので、コンピューター上のログを
全検索。なぜか、sqlnet.logが更新されている。

開くと、

ORA-12640: 認証アダプタの初期化に失敗しました。

ん?って感じなのですが、それでさらに調べてみるとOTNにて
有用な情報を発見。
http://www.oracle.co.jp/forum/thread.jspa?messageID=27001826


確かに、ADはきちんと構築されていないお客様なので
設定を変更。そのとたん、何も処置をしなくても繋がるようになりました。


【変更前】SQLNET.AUTHENTICATION_SERVICE=(NTS)
【変更後】SQLNET.AUTHENTICATION_SERVICE=(NONE)


念のため、サーバーを再起動して動作を確認。

各クライアントからも繋がることを確認して、作業終了となりました。

結局は


原因の特定には至りませんでした。
AD認証から来る不都合だろうという結論。

そもそもUPSなしの運用はやめようね。

2013年12月19日木曜日

gmailでラベルの設定方法

gmailでラベルの設定方法

振り分けのために設定することにしました。

1) 右上部の歯車アイコンを選択して、[設定]
2) [ラベル]ラブを選択し、下のほうにある[ラベル]の欄で[新しいラベルを作成]にてラベルを追加
3) [受信トレイ]に戻り、該当のメールを開く
4) メニューの[その他]から[メールの自動振り分け設定]を選択
5) [この検索条件でフィルタを作成] を選択
6) [ラベルを付ける]の欄でラベルを選択。この時に[受信トレイをスキップ]しておくと、既読(あーカーブ)として保存される。

これで、メールの自動振り分けは完了です。

変更時は、[設定]から、[フィルタ]を選ぶと一覧が出るのでそこで変更可能です。



適用したラベルはスマートフォン側でも無事に適用されました。

2013年12月18日水曜日

さくらインターネットのVPS機能がバージョンアップ。LAN環境も可能に

同一リージョンであれば、スイッチを追加することでLAN環境が構築可能になっていました。


新しいコントロールパネルは、「契約情報」の「サーバー設定」から「サーバー一覧」を
選ぶことで表示可能。



スイッチは1会員IDあたり10個まで無料ということなので
簡単に試せそうです。



うちの環境ではVPSで立ち上げているサービスが10個ほどあるのですが
改めて確認してみたところ石狩*3,大阪*7と分かれており、
大阪はまだ非対応。暫くは石狩リージョンでの検証になりそうです。

さっそく石狩リージョンでスイッチを追加してみました。

・スイッチを追加
・サーバー側の「設定」で、LANを割当

と、手順は簡単そうです。


実際やってみたら、「サーバーの稼働中はダメよ」となったので、
停止時間決めてアナウンスしてから実施となりそうです。




VPSは年々価格も下がり、使いやすくなってきているので
日々の情報収集が大事になりそうですね。


関連して調べてみたところ、DTIのserversmanが今使っているサービスと
同スペックで安くなっていました。

こちらも今後の選定候補。

PowerShellでFizzBuzz

FizzBuzzっていうと、プログラミングの初歩的なお題として話題に上がりますが
これを、PowerShellで。というサンプル

PowerShellそのものを使ったことがなかったので勉強になりました。


1..100 | ForEach-Object {
  switch ($_) {
    {$_ % 15 -eq 0} {return "FizzBuzz"}
    {$_ % 3 -eq 0}  {return "Fizz"}
    {$_ % 5 -eq 0}  {return "Buzz"}
    default     {return $_}
  }
}

2013年12月17日火曜日

Galaxy Tab SC-01C(P1000)を、Android4.x系へアップデート

メーカー公式では、Android2.x系(2.3.6)までしか提供されていませんが、
自分で諸々の作業をすることにより、Android4.x系へのアップデートを行う事が出来ます。

詳しいところは、別の方を見て頂くとして、自分なりにひっかかったところなどをメモ。

※※ 重要 ※※
いわゆる、root化という作業になりますので、メーカーのサポート対象外となります。
最悪、端末そのものが全く使えなくなってしまう可能性もありますので、
すべての作業は自己責任になることをご理解のうえ、以下をお読みください。


手順概略

1.Root化
2.CM9のインストール(Android4.0へのアップデート)
3.CM10のインストール(Android4.1へのアップデート)
4.CM10.1のインストール(Android4.2へのアップデート)


注意点・心構え


・使うファイルの組み合わせに注意
 特にgapps-jb,4.1系、4.2系が特に明示されてなく配布されてたりします。
 ⇒てことは、混在させてもいいのかもしれませんけども、自分は怖いので合わせました。

・インストールに失敗しても、戻せばいいじゃない
 いろんな方も書いていますが、作業前のバックアップをしておけば、
 何かあった時に戻せる確率が上がります。
 私の場合も、4.2へのアップで失敗して、一旦起動しなくなりましたが、
 再度、4.1を入れなおしたらすんなり動きました。


主要手順


1.Root化
 Odin3というツールで行いました。事前にSamsung USBドライバが必要。Samsung Kiesが
 インストールされていれば、既に入っています。

2.CM9のインストール(Android4.0へのアップデート)

 メインとなるROMと、googleappsをセットで使用します。
 使ったファイルは以下。
 ・cm-9-20120812-UNOFFICIAL-p1.zip
 ・gapps-ics-20120317-signed.zip
 いろんな方のサイトで紹介されている手順でやってもリンク切れとか
 あったので、勘でファイルを収集して実施しました。
 zipは展開せず、そのままSDに入れてください。

3.CM10のインストール(Android4.1へのアップデート)

 CM9と同様の理由で
 ・cm-10-20120730-EXPERIMENTAL-p1-cdesai.zip
 ・gapps-jb-20121011-signed.zip

4.CM10.1のインストール(Android4.2へのアップデート)

 やってみたけども、インストールの段階でエラーが出て進まなかったので断念。


ポイント


 ・検索キーワードを知る
  日々進化するツール類のようなので、昔できた方法が今はできない
  というようなケースがありそうです。
  今回の件では、[android P1000]で、上位ヒットしました。あとは4.1とか、
  いれると、相当確率が上がります。

 ・英語のサイトにも情報あり
  Androidは世界的OSなので、日本以外にもたくさん情報があります。
  基本手順さえ把握していれば、何とかなります。



うちでは、作業を一通り終えたAndroid4.1 Jelly Beanが問題なく動いています。


以下スクリーンショットなど


Root化した後にCM9を入れようとしている画面。




インストールが無事に終わっています



立ち上げた時の画面。今まで通り「docomo」ロゴが出た後、この画面が出ます。




2014.01.16追記

記事を書いた後に色々と試してみた結果を追記します。


アップデートにおける注意事項

◆CM10での確認結果
1)外部SDカードが認識されておらず、設定から、「ストレージ」を選択すると設定アプリが強制終了する
2)カメラが利用できなかった。(カメラそのものが起動しても、撮影後、応答がなくなる)
3)Youtubeの動画が再生できない
4)内部に保存されている動画データ(mp4)が再生できない 
いずれも、CM10.1へのアップで解消しました。
◆CM10.1のインストール時に、ステータス7が出てエラーとなる。
 その場合の対処
 1)インストールするzipファイルは、本体メモリに入れてください。
 2)wipe/system を実行してみてください

CM10.1へのアップで使ったファイル類

 ・cm-10.1-20130504-EXPERIMENTAL-p1-cdesai.zip
 ・gapps-jb-20130301-signed.zip
 ※ファイルが見つからない場合もありますのでご了承ください。

その他備忘録

◆ボリューム下ボタン(電源に近いほう)+電源ONで、リカバリモードで起動
◆CM10.1で、GPSが使用できない
 ⇒海外サイトでは稼働報告があるため、インストールする環境による可能性が高いです。










2013年12月16日月曜日

XPERIA Tablet Z の付属品を購入してみました

新しくTabletを入手したので、付属品を幾つか購入してみました。
購入した付属品は以下
・ケース
・フィルム
・スタンド

どんなものがあるかを調べずに、ヨドバシで物色してそのまま購入。

ケース
ケースは、きちんとしたものを買おうかどうか悩みましたが、
本革仕様みたいなものだと7,000円とかで売っていて
安いものでも2,000円台後半だったので、汎用品を購入


○ネオプレンスリップインタブレットPCケース(10.1型)
http://www.sanwa.co.jp/product/syohin.asp?code=PDA-TABS10BK
@1250
PDA-TABS10BK_MAPDA-TABS10BK_PKX


続いて、フィルム。
低反射がよさそうだったのでこちら。
1,000円台がそこそこ置いてありました。

ラスタバナナ Xperia Tablet Z SO-03E 反射防止フィルム T434SO03E
@1,480
51gRak9mktL._SL500_AA300_


続いて、スタンド

型番:OWL-MATPS03(B) JAN:4942322530888 カラー:ブラック
@920
MATPS03_B-400
スタンドについては、以前使っていたGalaxy Tabでは100均で
フォトスタンドを買って使っていたのですが、こちらの商品は
角度を変えられたりするので、よさそうです。

これ以外に、2A出るタイプのUSBのアダプタ(@500)と
USBのケーブル(@150円程度)を秋葉原ぶらりで入手。


ひとまず、普通に使う事を開始できそうです。

今後買いたい(かな)と思っているのは
・Bluetooth関係(キーボード、イヤホン、その他)
・NFCタグ(何か書き込んで使ってみたい)
・MHL関係

あたりがあると、なお便利そうです。

商品販売に関わるデータベースの設計について(zencart,EC-Cubeなど)

ある日ふと気になって、色々ネットを徘徊していたのですが、
「汎用的」なデータベースを考え行き着くと、OSSがいい見本なのではと思い、
ECのOSSであるzencartのデータベースについて調べてみました。


まず、wikiにたどり着きます。
存在するテーブルが載っていました。


自分なりにカテゴライズしようかなと思っていたのですが
途中でどうしようもなくなったところで、ER図を発見



ある種、ECにおいてはある程度の事ができるデータベースですし、
お手本にするにはいいのかもしれません。


ただ、いきつくところ、業種業態によって使える/使えないが出てきてしまうので
これを教科書とするのは危ない。


ターゲットを決めつつ必要となるエンティティの単位を整理して、
自分なりに構築という手順になりそうです。

---------------------------------------------------------------

EC-CUBEもメジャーなECサイトですね。

こちらは、ダウンロードできるドキュメントに
テーブル一覧、テーブル定義およびERDがありました。

---------------------------------------------------------------

その他自分用メモ

・流通標準(要はEDI)における商品コードマスタ体系
 流通システム開発センター
 http://www.dsri.jp/baredi/gtin/index.htm
 流通BMS 流通ビジネスメッセージ標準 運用ガイドライン(商品マスタ編) 第1.0版
 JANコードとそれに付随するデータベースも販売しています。

・販売?仕入?在庫?
 データの単位と業務の単位を適切に分割して必要なサービスを素早く展開する方法
 ⇒模索中です。

2013年12月12日木曜日

Oracle 開発の時に設定する権限のサンプル

自分ローカルであればDBAにしてしまうのですが、
手を抜いてしまうと後々適切に設定する方法を知らなくなってしまうので
ひとまずやってみた的なメモ


CREATE USER ORAUSER
IDENTIFIED BY PASSWORD
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
/
GRANT CONNECT TO ORAUSER
/
GRANT RESOURCE TO ORAUSER
/
GRANT ALTER DATABASE TO ORAUSER
/
GRANT ALTER SESSION TO ORAUSER
/
GRANT CREATE DATABASE LINK TO ORAUSER
/
GRANT CREATE SEQUENCE TO ORAUSER
/
GRANT CREATE SESSION TO ORAUSER
/
GRANT CREATE SYNONYM TO ORAUSER
/
GRANT CREATE TABLE TO ORAUSER
/
GRANT CREATE TRIGGER TO ORAUSER
/
GRANT CREATE TYPE TO ORAUSER
/
GRANT CREATE VIEW TO ORAUSER
/
GRANT DEBUG CONNECT SESSION TO ORAUSER
/
GRANT UNLIMITED TABLESPACE TO ORAUSER
/

これで、大体のことはできると思います。

2013年12月11日水曜日

SugarCRMのインストール

CRMによる顧客管理が必要かな?と思い、やってみました。

構築対象とする機器の前提

MySQL,PHP,Apacheが動作する環境(CentOS)

参考にしたドキュメント

SugarCRM インストールガイド
http://sugarforum.jp/wiki/SugarCRM_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89

手順

○5.2のフルパックをダウンロード
#wget http://www.sugarforge.org/frs/download.php/6004/SugarCE-Full-5.2.0j-Ja.zip

○unzipにて展開
# unzip SugarCE-Full-5.2.0j-Ja.zip

こちら、一式丸ごとのようなので、そのまま配置ディレクトリへ展開
※ディレクトリはご自由に設定してください

# mv SugarCE-Full-5.2.0j-Ja /var/www/myapp/sugarcrm

○権限を付与
# chown apache sugarcrm/ -R

○httpd.confを作成
 ここでは、sugarcrm用のものを作成しました。
# cd /etc/httpd/conf.d/
# vim sugarcrm.conf

Alias /sugarcrm /var/www/myapp/sugarcrm

<Directory "/var/www/myapp/sugarcrm">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 20M
    php_value date.timezone Asia/Tokyo
</Directory>


○Configの内容を確認

# apachectl -t
Syntax OK

○configの読み直し
# service httpd reload
Reloading httpd:

○確認してみたが・・・

アクセスしてみたところ、
「PHPのバージョンは5.1.0以上である必要があります。(5.2.x以上推奨)」と出て、進まない。


ん?と思い、確認してみたところ、

# php --version
PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

ということで、合っているなと思いつつ、エラーメッセージをgoogleさんに投げると、Hit

サポート外という事ですが、対処法が載っていました。

http://sugarforum.jp/wiki/PHP5.3%E7%92%B0%E5%A2%83%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B

install/welcome.phpの以下の部分を編集して、再挑戦

if (version_compare(phpversion(),'5.1.0') < 0 || version_compare(phpversion(),'5.3.0') >= 0) {


無事に初期セットアップ画面が開きました



利用規約に同意



通常インストールを選択


MySQL1択なのでそのまま次へ


データベースを作成できます。
今回は新しく作ることにしました。


管理者用のパスワードを指定


その他細かい環境設定などを指定

登録確認の画面が出るので、「次へ」

しばらくしたら、インストール完了画面が出るので、改めてwebサイトへアクセス

ログイン画面で、初期ユーザー[admin]とパスワード入力によりログインできるようになりました。



追記


セットアップの時にデモデータを入れた場合、画面機能として「初期化をする」ものはないとのことなので、再インストールが必要となるそうです。

config.phpの以下の分を、falseに変更すれば再インストールの画面を開く事が出来ました。
'installer_locked' => true,



2013年12月4日水曜日

手軽にBloggerに記事を投稿したい

切実です。

いろんな情報を取りためておきたいと思いつつ、外出が多くなると、
PCで情報を編集したりする時間がなかなか取れなくなってきます。

常日頃PCを持ち歩いてはいるのですが、電車の中などで気軽に
開けるサイズでもないので、探してみたところ、公式androidアプリがありました。

http://buzz.blogger.com/2011/02/introducing-blogger-android-app.html

少しは楽になりそうです。

個人的にはEvernote的なUIで、Windowsアプリがあるとなお楽なので、
さらに調べてみたところ、Microsoftが出しているツールを発見

http://www.microsoft.com/ja-jp/download/details.aspx?id=8621

Microsoft Live製品群の1つとしてインストールされるようです。

無事インストールできたので、こちらも試してみます。

GUI操作感的には期待していた通りかもしれません。


使用感などは追って整理したいと思います。

Android端末からWindowsへリモートデスクトップ

スマートフォンではあまり活用シーンが想像できなかったので興味もなかったのですが、
このたびXPERIA Tablet Zを入手して活用方法を探していたところ、
Android端末からWindowsへリモートデスクトップ接続できるツールがあるようです。

@ITにて詳しく解説されています。
http://www.atmarkit.co.jp/ait/articles/1311/06/news111.html


インストールして試してみたところ、案外いけました。

・Microsoft Remote Desktopをインストール
・起動
・設定
・接続

私の場合には、起動の前にVPNに接続するという手順があるのですが、
VPN経由でも問題なく接続できました。


MS純正品以外にも、いくつか出ているようなので、用途に合ったツールを選べそうです。

広がるコミュニケーション 社内SNSについて調べた結果

企業が活動していくにおいては情報の共有が必須です。

古くは「グループウェア」「イントラ」といった呼称で
「掲示板」「Todo」「ワークフロー」などの機能を持った
ソフトウェアが数多く存在していましたが、
スマートフォンなどの普及、Twitter,Line,Facebookなど、SNSの
広がりにより、企業においてもSNSを使った情報共有を
行うためのツールが増えてきています。


そこで、自分なりに調べてみたところを纏めてみます。


うちの会社はシステム開発会社でもあり、「無料」で提供されている
サービスにおいて、「発信した情報」がどのように扱われているか、
うすうす想像できるため、極力、自社で情報をかかえられるような
仕組みがベストです。



比較

比較するとこんな感じです。
オープンソース(完全クローズド) > 公開範囲が設定できるSNS > 普通のSNS


1.オープンソース(完全クローズド)
 ◇抹茶SNS
 http://oss.icz.co.jp/sns/
 タイムライン、グループ管理、ファイル共有
 PC版、スマートフォン版あり。アプリはまだないですね。

 ◇OpenPNE
  社内というか、普通のOSS SNS 日本発

 ◇Aipo
  グループウェアのはずが、SNS的要素も入れてきている。
  これが賛否両論の模様。
  タイムラインは「公開」だけの模様。公開する必要がない
  情報もタイムラインに載ってきてしまうようなので
  タイムラインベースでの機能を期待するのはもう一歩か

 ◇direct
  まだ見てませんが、Lineの社内版?のよう。
  https://www.direct4b.com/ja/

2.公開範囲が設定できるSNS

 ◇google+
  googleさんなので、ビックデータ的に使われるであろうことはしょうがない。
  ただ、機能性は充実しているし、使い勝手も申し分ないであろう。
  


目的に合わせた機能を取り入れていくのがよさそうですね。

[JavaScript] 自動で印刷ダイアログを表示する・印刷ボタンを実装する

調べていたところ、あるようですね。

ただ、使えないブラウザもあるようなので判定が必要。

[JavaScript] 自動で印刷ダイアログを表示する・印刷ボタンを実装する
http://mashimonator.weblike.jp/library/2009/01/javascript-3.html

画面ロード時にブラウザ判定を行い、JSによるプリントに対応していれば印刷ダイアログを表示する。対応していない場合はブラウザのメニューから印刷する旨を伝えるメッセージを表示する。

【キーワード】
window.print();