ゼロから構築するのではなく、なぜ確立されたCMSを選択するのですか?


13

今後数週間の私の研究の多くは、さまざまなCMSの研究になります。エピサーバーとウンブラコについては簡単に見てきました。これらのシステムを読みながら、コンテンツ管理機能を提供することは、これらの(かなり大規模な)CMSプラットフォームの多くの詳細と構造を学ぶことなく達成できると考えざるを得ません。

過去には、開発者としての私の役割を編集者の役割とは別にしなければならないプロジェクトが与えられました(理にかなっています)。つまり、サイトのデザインと機能を開発し、クライアントのコンテンツを更新する仕事が私の仕事でした。また、テキスト入力や写真のアップロードなどを受け入れるページがいくつかある「ポータル」を実装することでこれを達成しました(基本的には、彼らが望むどんなコンテンツでも)、この新しいコンテンツをデータベースに記録してから、設計により、コードビハインドはこのすべてをデータベースから関連するコントロール(リピーターなど)に読み取ります。

私にとって、これは、クライアントがコンテンツを管理してソリューションで展開するのに十分効果的な方法でした。私は間違っていることを知っています-そして、CMSが一から構築されたものよりも望ましいことを知っていますが、コストの問題以外に、なぜですか?


1
他の誰かがすでにあなたのためにそれをすべて行っているのに、なぜ開発(設計、コーディング、デバッグ、テスト)のすべての苦痛を経験したいのですか?
PhilPursglove

5
ドキュメントにはドキュメントがあり、ウェブサイトにはこのような企業のCMSを学習する方法とチュートリアルのウェブサイトがあります。実際に完全に制御してゼロから独自に開発できるのに、なぜこれらの学習の苦労とこれらの実装に慣れることが必要なのでしょうか?

1
学習の苦痛を経験する最大の理由は、トラブルシューティングの苦痛もスキップするためです(とにかく)。また、ドキュメントを見つけている場合は、誰かをトレーニングする必要があるときに、作成するドキュメントがはるかに少ないことを意味します。
スクラソン

古いCMSインストールアプローチには、実際には何も学ぶ必要がなく、独自の言語でプログラミングできる新しいテクノロジがあります。私はこのインストールの問題にうんざりしたか、デザイナーのために動作するいくつかの使いやすいものを使用したので、私自身を構築しました。私のプロフィールには、それをどうやって進めるかが少しあります。
ジェイソンセブリング

@sparks、他の人のバグのトラブルシューティングは、自分のバグのトラブルシューティングよりも100倍厄介です。
Pacerier

回答:


9

既存のCMSを使用して、追跡する必要がないユーザーにとっておそらく重要な機能の重みを取り除きます。

EPiServer、Umbraco、Orchardなどにはすべて、バージョン、他のコンテンツによってリンクされているコンテンツ、フォームの作成方法などを追跡するためのオプションが組み込まれています。あなたは合うと思います。

通常、何千時間ものトラブルシューティングが既に行われているので、それらを活用してみてください。特に、無料またはオープンソースバージョンでは、文字通り費用がかかりませんが、APIを学習する時間は、ほぼ確実に保証できますが、その機能の再作成に費やす時間よりも短いです。

したがって、それらが提供する機能を再構築する必要がない限り、うまく機能することが既に知られているものを使用してみませんか?

以下は、自分で実装する必要のない既存の機能の簡単なリストです。

  • コンテンツのバージョン管理
  • ワークフロー
  • ページリンクステータスレポート
  • wysiwygエディターのカスタマイズ
  • コンテンツモデリング(ページタイプ/ドキュメントタイプ)
  • コンテンツ取得API
  • 編集者と開発者の両方のためのドキュメント/トレーニング
  • オブジェクトキャッシュ戦略
  • 検索用のコンテンツクエリシステム
  • コンテンツ階層構造(コンテンツがツリー形式であるCMSの場合)
  • エディタービュー
  • 管理ビュー
  • アクセス制御

上記のCMSのいずれかを選択することで得られる利点の最も包括的なリストであるため、これを答えとしてマークしました。しかし、その恩恵を十分に理解するために、おそらく彼らに手を汚すことになると思います。

独自のシステムをセットアップすることは、独自のデータを管理すること、サーバーを所有すること、または所有するソフトウェアとレンタルするソフトウェアの違いを理解していない場合にのみ、クラウドシステムの「現状」です。あなたのビジネスのためのこれらのステルス広告は私には非常に不自然に聞こえます。クラウドベースのSOS CMSがOPの状況に適していると真に考えている場合は、それを答えにして、コミュニティに投票させます。
CodexArcanum

@CodexArcanum-エメラルドコードが真剣に言っていることを受け取らないでください。彼らはそれらのサービスを提供する会社のCEOです。したがって、基本的に彼らのアカウントは1つの巨大な広告です。
ラムハウンド

4

ありますNOのものより優れているととして決定的な答えが。それはあなたのニーズ、構造、コスト、人力、および他の多くの要因に依存します。

既製/確立済みのCMS

長所

  1. 保存A LOT時間のが。長年使用されてきたCMSの一部には、多くの人手がかかっています。事前に作成されたCMSの機能の10%は必要ないかもしれませんが、時間の節約に関係なく、時間は無料ではありません。
  2. 保存A LOTお金のは。
  3. 一般的に持っている巨大になる機能の量、おそらくあなたのニーズのために働くの。

短所

  1. ライセンス。使用する既成のCMSのライセンスに従う必要があります。これは大した問題ではないかもしれませんが、ライセンスで禁止されているものを変更したい場合や、実稼働環境で使用することを禁止されている場合があります。
  2. 重い。CMSは、可能な限り多くのオーディエンスにリーチできるように調整される可能性が高いためです。サーバーの制限がある場合や、基本的なコンテンツ管理のために余分なスクリプトをロードしたくない場合があります。
  3. おそらく非モジュール方式で書かれています。事前に作成されたCMSを実装し、クライアントがサインオフしてデプロイできるようにWebサイトの準備が完了したとしましょう。次に、クライアントにそれを撮影し、彼らは「ああ、この機能をCMSに追加したい!」と言います。次に、非常に複雑な、またはあまりモジュール化されていないCMSを選択した場合、機能要求の実装に問題があるか、時間がかかりすぎる可能性があります。
  4. バグを継承します。CMSの既存のすべてのバグを継承します。通常は簡単に更新できるため問題ありませんが、機能を追加するためにその部分を大幅に変更した場合はどうでしょうか。

自作/カスタムCMS

長所

  1. あなたのニーズに合わせて必要なものだけを統合し、高い移植性を維持できます
  2. あなたの言語で書かれています。ASP.net MVC Webサイトがあり、そこにあるすべてのCMSがPHPで書かれているかもしれませんが、MVCとかみそりビューエンジンを使用してC#で書かれたものが必要です(ランダムな例)。均一で、巨大なPHP / JS / etcなどのないWebページを維持する方がはるかに簡単です。すべてのC#コードの中にあるCMS。
  3. あなた /あなたの会社が100%所有しているので、追加のライセンスを購入することなく、必要な数のアプリケーションで使用できます。

短所

  1. 時間がかかるため、高価です。投入時間や経験などに応じて、CMSで1〜数十日を費やすことができます。

時間があり、事前に作成されたシステムのどれもが法案に合わないか、あまりにも複雑すぎる場合は、もちろん時間のかかる要因を除いて、独自のシステムを構築しない理由はありません。


2
制約として時間とお金を取り除いた場合、何かをしない理由はめったにありません。
スクラソン

1
現実世界のプロジェクトは@sparks 常にこれらの制約を持っています。)

1
私がコメントで言っていたことの並べ替え。「時間のかかる」種類の砂糖の短所を言うと、最初から書くことに関係する作業量が決まります。コードを作成し、文書化/トレーニングする必要があります。また、作成するすべての機能についてデバッグ/トラブルシューティングの時間をすべて確保する必要があります。
スクラソン

2

ディスカッションにWebセキュリティを追加することもできます。CMSをゼロから構築する場合、多くの攻撃に対する脆弱性が発生する可能性があります(例:https : //www.owasp.org/index.php/Top_10_2010-Mainを参照)。一方、既存のCMSを使用する場合、通常はより安全になりますが、一方でその脆弱性はより広範囲に広がります。

したがって、セキュリティ面では少しトレードオフになりますが、よく更新された「標準」CMSは自家製のものよりも安全であると主張しますが、選択する標準のCMSによってある程度異なります。

ただし、「標準」CMSを使用して多くの変更を行うと、アップグレードパスが中断され、CMSを更新できなくなる可能性があるため、脆弱性が存在します。


1

ファクタリングする必要があることの1つは、CMSが陳腐化する可能性があることであり、必ずしも言語ではなく、機能とデザインが古くなる可能性があります。プログラマーの次のグループは、機能上のこれらの制約を使用したくない場合があり、設計に関してはイメージが損なわれる可能性があります!

そのシンプルなウェブサイト、またはあなたが専念する時間がない場合、CMSは素晴らしいですね!


1

独自のCMSを作成する最大の理由は、時間をかけて独自の機能を追加できるようにすることです。市販のCMSを使用すると、それを作成したサードパーティのアーキテクチャとテクノロジーに縛られます。

例:

  • Umbraco-レイアウトのXSLTへの依存-#fail

  • オーチャード-Webフォーム開発者向けの過剰に設計された学習曲線

...等。


1
UmbracoはXSLTを必要としませんが、オプションです。
スクラソン

CSSを排他的に使用できるということですか?独自のマークアップ言語も持っていたのはUmbracoでしたか?SkonJeetのように、私もこれを1段階で調査しなければなりませんでした。
アイルランドのチーフテン

2
Umbracoには、webformsとmvcオプションがあります。独自の独自言語を使用する必要はありません。常にasp.netを使用しており、必要に応じて常にデータストアにクエリを実行し、コントロールを作成するオプションがありました。
スクラソン

1
私が使用した別のCMSはN2で、コードが非常に洗練されていたため、理解できませんでした。彼らの見解では、コードはそれ自体を文書化する必要があり、これは完全なBee Essです。
アイルランドのチーフテイン

1
Umbracoで複数のWebサイトを作成しましたが、XSLTを使用したことはありません。私の知る限り、新しいバージョンでは組み込みオプションでさえありません。ただし、XSLTは明らかに非常に強力です(理解できる6人にとって!)。
EJブレナン

1

コアビジネスに固執することも、かなり良い議論です。車を作っているからといって、自分で燃料を作る必要もありません。それは完全に異なる製品であり、あなたの焦点が他の場所にあるので、他の誰かがそれをより良くする可能性はかなり良いです。新しく開発されたシステムのバグも過小評価すべきではありません。しばらくしていたcmsにはいくつかのバグがありますが、新しい番号に近い番号はありません。既存のcmsは、長年にわたって何百万人ものユーザーによってテストされてきました。


「あなたの焦点は、大爆笑-他の場所になります」
ティム・アベル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.