
2017年、Zetta InsuranceはBitrix24を支持してMicrosoft SharePointを放棄することを決定しました。 なぜ、なぜ、どのように-カットの下で。
施設の中には:
- 手頃な価格のBitrix24ライセンスモデルと比較して、MS SharePointの高い所有コスト。
- Bitrix24の多機能性;
- 輸入代替の一般的な傾向(ただし、これは正確ではありません)。
タイミングは非常に厳しく、SharePoint(SP)はブランド化されました。 いくつかのカスタム改善が含まれ、ギガバイトのデータが含まれていましたが、移動時に失われるべきではありませんでした:
- いいねやニュースのコメントを含むニュースポータル。
- 会社の部門ごとに個別のサイト(指示、規制など)。
- 数十のファイルライブラリ。
- 従業員向けのトレーニング資料。
- いくつかの自動化されたビジネスプロセス(移行のフレームワークを超えて、とにかくあなたの手で新しく作成することを直ちに決定しました)。
新しいBitrix24ポータルはブランド化され、構成されたSSOでADと統合され、使いやすいと考えられていました。 理想的には、ユーザーは移行の影響をまったく感じていないはずです。
そこで、彼らは握手をしました(私たちを紹介してくれたHabrに感謝します)。 懸命な努力が始まりました。その断片を公開し、フォロワーが解決策を求めて急いでいないようにします。 結局のところ、これらは2つの競合製品だけでなく、互いに友好的でない2つのエコシステムです。

不要なものを販売するには、まず不要なものを購入する必要があります。 (c)ヒョードルおじさん
移行の最初の手順は、SharePointからデータを消化可能な形式でダウンロードすることです。 XMLの形式でSPデータベースから情報(ニュース、ユーザーデータ、ファイルメタデータ)の一部を取得しました。 ファイルの場合はさらに困難でした-それらは別のアーカイブにアップロードされ、上記のXMLでは、メタデータに加えて、アーカイブルートからファイルへのパスが記録されました。 ただし、この方法でポータルページのコンテンツを取得することはできませんでした。情報が多数のサイトに広がっているだけでなく、SP形式のスニペットとともに、使用できない形式でテーブルに格納されています。
ページのコンテンツを転送するために、私たちは戦闘ポータルを解析し、生成されたHTMLをページから収集することに挑戦しました-この方法は最適であると思われました。 彼らはこのためにクローラーを使用しましたが、最初の日に問題に遭遇しました:NTLM認証で@記号を受け入れません(アカウントのパスワードを変更するように顧客に依頼する必要がありました)。 次に、それは小さな問題です-エントリポイント、例外(たとえば、ユーザープロファイルなどの不要なものを収集しないように)およびコンテンツエリアを定義します(Bitrix24にはヘッダーとフッターを含む独自のテンプレートがあるため、ページ全体を解析する意味がありません)。 領域のコンテンツは、サイトのルートに対して同じ名前とアドレスでPHPファイルに保存されました。これにより、ページ間のリンクの機能を復元する作業が簡素化され、Bitrix24で標準のビジュアルエディターを使用できるようになりました。 受信したコンテンツには、SPファイルマネージャーへの呼び出し(対応するBitrix24ドライブフォルダーを表示するコンポーネント呼び出しに置き換えられました)、Flashプレーヤー呼び出し(HTML5に置き換えられました)、および他のページへの多数のリンク(サイトルートに関するビューにリンクされ、リンクからドメイン名が削除されました)がありました。
AD:すぐに使える魔法か、煉獄のインテグレーターか?
荷降ろしの準備が整い、顧客の承認が得られます。その間、移行自体に進みます。 最初はActive Directoryから作成されたユーザーから始め、準備されたXMLを介してSPからのデータで強化されます。

顧客や若いインテグレーターの間では、Bitrix24とADの統合を実際に経験していないすべての人が、これはすぐに使用できると考えられています。 そうです、Pandoraのボックスを呼び出すと。 これが、さまざまなプラットフォーム(LinuxとWindows)で機能する一連のテクノロジーであることはまったくありません。 そして、サンバの仕事を理解することではなく、それなしでは、フルタイムのセットアップウィザードからの一歩は、沼沢地への一歩と同等です。 また、ネットワークの相互作用を確立することが実際に可能である2週間でさえ(最後の統合中に、システム管理者はタンバリンを壊しました)。
通信フィールドが構成され、ユーザーが削除された時点で、会社の構造に関する問題が明らかになりました。 顧客には、会社のさまざまな支店にある同じ名前の部門がありました。 Bitrix24は、それがまったく同じ部門であると信じ、それらを結合しました。 提案されたソリューション(Bitrix24カーネルの変更、オンザフライでの送信データの変更、Bitrix24の要件に対するADの構造変更)の中で、今回は最も正しいものが選択され、この問題を終わらせることができました。
パーティションツリー
次のステップは、部門のページとファイルからデータを転送することです。 パーサーを使用して、SharePointのパスに対応するセクションとページのツリーを準備しました。 一部のBitrix24サービスセクションとの競合が検出されたため、/ content /セクションに配置し、すべての内部リンクが機能するように、apacheのリダイレクトを整理しました。
RewriteRule ^(.*)\.aspx$ /content$1\.php [R=301,L]
アンロード後のファイルもツリービューにあり、マルチギガバイトのアーカイブにあります。これは/ upload / sp /で解凍します。 ディスク(必要なパーティション用)と既存のリンクのnginxルールに追加して、スクリプトによって実行を「復活」させます。
location ~* \.(doc|docx|jpeg|jpg|pdf|png|ppt|pptx|rar|txt|xls|xlsx|zip)$ { try_files $uri /upload/files$uri = 404; }
ブラバド、ブランディング、予算について
ニュースと外観がありました-まさに何百時間と何キロメートルものインテグレーターの神経を必要とするまさにブランディングであり、顧客に最初の段階の復帰でハヤブサの打ち上げより少し少ない費用がかかります。 そのような巨人の努力の結果は、通常、新しい改訂されたBitrix24テンプレートであり、そのメンテナンスコストは作成コストに匹敵します。Bitrix24インターフェイスを更新するには、すべての結果を伴うテンプレートの変更が必要です。

私たちは猿の労働を放棄し、顧客の予算を節約するのが好きでした。色スキームと、スライダーやカスタムメニューなどのいくつかの要素の追加に限定しました。 更新の可能性を維持しながら、エコノミーオプション。 ちなみに、それは非常に価値がありました。 ニュース用に別のテンプレートを作成し、オリジナルのレイアウトを調整しました。
エピローグの代わりに
タスクを終了するために、メニューやその他の外観の設定、フォールトトレランスを確保するためのクラスターアーキテクチャの設定など、いくつかのタッチが残りましたが、今日はそうではありません。 そして今日、私たちはロシアのエンジニアを称賛し、すべてが可能であることを生きた例でもう一度示したかったのです。 オオカミは森で初めてではないのであれば、それほどひどくはありません。あなたはミカリーチと一緒にUAZに行きます。
すべてにうまく統合できます!