Wednesday, April 25, 2012

Alfresco: How to keep working even when offline?


Most people use Alfresco via their native file manager (Windows Explorer, Finder, Nautilus...) thanks to Alfresco's shared drive interface.
A shared drive is convenient, but what happens when your network connection disappears? The shared drive disappears. It is how shared drives are designed to work. No network, no shared drive.

What if you are in the plane, in an underground data center, or in the subway with no reliable network access?
One option is to checkout files you want to edit offline, but that is not a satisfying solution (duplication, out-of-date versions).

In those cases, you will need to use a synchronization client.
Hopefully, Alfresco offers interfaces for many protocols, so you have different options to choose from.

1) CmisSync

Very similar to the Dropbox client, lets you sync with any Alfresco content.
Free, Open Source.
.NET/Mono, Linux/Mac port not finished yet.

2) Alfresco Desktop Sync

Official Alfresco offline client. Let's you sync any Share Site or directory within a site.
Free.
Java, Linux/Mac/Windows.
Not to be confused with an older project that has the same name and comes up first on Google, hosted on addons.alfresco.com and SourceForge.

3) FTPbox

If you like DropBox, you will love FTPbox.
The user interface is the same, with tray icon and almost no configuration needed.
Forget about 2GB limits and the security risk associated with externally-hosted data: you now have an unlimited DropBox for free, and the files are straight from your smart Alfresco repository!

The bad news: FTPbox is not compatible with Mac/Linux.
The good news: FTPbox is open source, so porting to Mac/Linux is a matter of motivation.

4) OFS

UNIX users will know that FUSE allows to easily mount/unmount any kind of filesystem.
OFS (Offline FileSystem) allows you to maintain an offline copy of any remote filesystem.
It can take advantage of Alfresco's NFS interface.

Unfortunately, this solution is not usable on Windows until Windows allows userspace filesystems.

5) WebDAV Sync

WebDAV Sync is a command-line tool that can synchronize documents using Alfresco's WebDAV interface.
Programmers love command-line tools, but it is not for office users...
WebDAV Sync is portable (Java) and open source, so it is a great choice for integration with existing client-side software (for instance if your company has a custom VoIP/chat/PIM app)

Conclusion

I was hoping that version 3 of Adobe Drive (which supports CMIS) would offer an option to cache documents for offline use, but unfortunately it does not.

For now, CmisSync and Alfresco Desktop Sync are by far the most usable.
Nicolas Raoul

Wednesday, April 11, 2012

オフライン共同電子旅行ガイドブックOxygenGuide知っていますか?


「君は明日からヨーロッパ10ヶ国に出張!」と言われれば、旅行ガイドブック10冊買いに飛び出しますか?

旅行ガイドブックには便利な情報が乗っていますが、いくつかの問題があります:
  • 重い。荷物の重さチェックの時も、旅行中に出歩くときに、邪魔です。
  • 店で売ってる本の内容は去年や一昨年のもので、古い情報です。Wikipediaように最新情報が欲しいです。それに、毎年新しいバージョンを買えば、結構お金が掛かります。
  • 本の内容より、たくさんの人が参加しているコミュニティで書かれたものの方が良い。よく知らない会社が決めたお勧めリストより、食べログなどが頼もしいでしょう。
Wikitravelなど、ウェブサイトはあるけど、海外でのローミング料はすごく高いし、飛行機や砂漠で接続できません。

というわけで、OxygenGuideというオフラインWikitravelガイドブックプロジェクトを作りました。
スマートフォンやタブレットやラップトップで使えます。
テキストだけなので、26万ヶ所のページがあっても、436メガバイトしか掛かりません。

興味があれば、ダウンロードして、スマートフォンにコピーして、使ってみて下さい!
無料です。
そして、次のタスクをやっていただける方を募集中です:
  • 一定の間隔でWikitravelダンプスクリプトの実行
  • 新しい形式でのエキスポート機能の開発(特に電子ブック)
  • wikicode→HTML変換エンジンの改善
  • 英語版Wikitravelだけではなく、日本語版WikitravelもOxygenGuide化
  • もちろん、Wikitravelも皆の編集を待ってます!
Nicolas Raoul
nicolas.raoul@aegif.jp

Tuesday, April 3, 2012

新しいオープンソースフォント選択ライブラリAntisquareリリース


アプリで「ͿͿͿͿͿ」のような文字化けを見たことがありますか?



これは、表示するべきだった文字列が、開発者やシステムが選んだフォントファイルにありません、ということです。「トーフ型の文字化け」、または「豆腐化け」や「豆腐化」とたまに言われてます。普通の文字化けと違って、文字コードの問題ではなく、フォント選択の問題です。

あなたのパソコンでも、こういう問題が起こるはずです。例えば、このページはちゃんと表示されていますか?(ビルマ語、ミャンマー、話者4千万人以上)

OSによってはフォント・フォールバックという仕組みを使える場合がありますが、アンドロイドの場合などは埋め込まれたフォントを使うとフォント・フォールバックできません。

例えば、フォントが「TibetanDDC.ttf」なら、アラビア語は表示されません。開発者は「誰もアラビア語のコンテンツを読まないだろう!」と考えたかもしれませんが、そうとは限りませんよ。

というわけで、最適なフォントを選んでくれるライブラリ「Antisquare」を作りました。

呼び出し例:Antisquare.getSuitableFonts('ណ')
戻り値:"KhmerOS.ttf"

速いです(1ミリ秒の間に2万回も呼ぶことができるほどです)。
Javaで作りました。
オープンソースにしたので、是非使ってみてください
Nicolas Raoul