問題タブ [opencms]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
navigation - openCMS 8.5.2 でフォルダー サイト構造に基づいてナビゲーション メニューを作成する方法は?
Web サイトのフォルダ構造から値を自動的に取得する Web サイトのナビゲーション メニューを作成しようとしています。opencms ナビゲーション タグを使用しています。構造は次のようなものです。
- メニュー1
- メニュー2
- サブメニュー 2.1
- サブメニュー 2.2
- サブメニュー 2.2.1
- サブメニュー 2.3 .....
私が望むのは、すべての要素が常に同じメニューを表示できるようにすることです。その瞬間にどのレベルにいても、サブメニューはドロップダウン方式で表示されます。
問題は、「forFolder」タグを使用して、同じレベルの要素しか表示できないことです。または、ツリー全体を (「treeForFolder」を使用して) 表示することもできますが、現在のレベルまで表示することもできます。たとえば、Submenu2.2 にいる場合、サブメニュー 2.2.1 は表示されません...
どうすれば目的を達成できますか? StartLevel および EndLevel パラメータは、現在のナビゲーション レベルまでしか表示されないため、何も変更されません。
Javaを介して直接ではなく、cms navタグを使用して実行したいと思います。
前もって感謝します!
java - Lucene-3xであいまい(近似)検索で分析された用語を見つける方法は?
クエリ ' laser~ ' は ' laser 'を見つけられません。
Lucene を使用してGermanAnalyzer
ドキュメントをインデックスに保存しています。それぞれ「タイトル」フィールドが「レーザー」と「労働」の2つのドキュメントを保存します。その後、あいまいクエリを実行しますlaser~
。Lucene は、「labor」を含むドキュメントのみを検索します。そのような検索を実装する Lucene-3x の方法は何ですか?
Lucene のソース コードを見ると、あいまい検索は "分析された" コンテンツで動作するように設計されていないと思いますが、これが事実かどうかはわかりません。
以下、いくつかの背景と発言...
OpenCms
最近誰かが私たちの OpenCms の検索で結果ページにドキュメントが見つからないことに気づいた後、私はこの動作に気付きました。一部のドイツのサイトで検索が失敗していました。少し調べてみると、次のことがわかりました。
- OpenCms 8.5.1 を使用して検索を実行しており、Lucene 3.6.1 を使用して検索機能を実装しています。
- デフォルトでは、OpenCms は
org.apache.lucene.analysis.de.GermanAnalyzer
ドイツ語ロケールの for サイトを使用してコンテンツとクエリを解析します。 - サイトのコンテンツを保存しています
Field.Index.ANALYZED
- 報告された失敗した検索では、検索クエリにチルダを追加して、あいまい検索を強制していました。
サンプルコード
問題を絞り込むために、Lucene 3.6.1 を直接実行するコードを書きました (3.6.2 もテストしましたが、どちらも同じように動作します)。Lucene 4+ では API とあいまい検索がわずかに異なることに注意してください。つまり、Lucene 4+ ではこの問題は発生しません。(残念ながら、OpenCms が依存している Lucene のバージョンを制御することはできません。)
このコードの出力:
コードが乱雑にならないように、意図的にインポート セクションをカットしました。プロジェクトをビルドするにはlucene-core-3.6.2.jar
、 ( Apache アーカイブlucene-analyzers-3.6.2.jar
からダウンロードできます) と次のインポートが必要です。
Lucene のデバッグの詳細と備考
Lucene コードをデバッグしているときに、Lucene
GermanAnalyzer
がドキュメントのタイトルを次のようにインデックスに格納していることがわかりました。- 「レーザー」 - >「ラス」
- 「労働」 -> 「労働」
- 「ラテックス」 -> 「ラテックス」
また、完全一致検索を使用する
laser
と、クエリ文字列も分析されることがわかりました。laser
クエリの前のコードの出力は次のとおりです。(2 回の実行でクエリが異なることに注意してください。
title:laser~0.5
最初の実行と2 回目の実行title:las
です。)すでにコメントしたように、
/li>StandardAnalyzer
またはEnglishAnalyzer
ファジー検索を使用すると、期待どおりに機能します。Lucene は、2 つの用語 (内) 間の類似度
org.apache.lucene.search.FuzzyTermEnum.similarity(target: String)
を、最短の用語の長さを基準にして計算します。Similarity
戻り値:[...]
1 - (editDistance / length)
ここで、length は同一のプレフィックスを含む最短の用語 (テキストまたはターゲット) の長さであり、editDistance は 2 つの単語のレーベンシュタイン距離です。次の点に注意してください。
/li>1を編集します。アナライザーから "laser" を明示的に除外しても、期待される検索結果が得られます。
出力:
/li>
spring - Hibernate sessionFactory は、通常の Java クラスの DAO で常に null です
これについて非常に多くの質問があり、多くの異なるソリューションの多数の順列を試しましたが、どれもうまくいきませんでした.
トランザクションを実行するために休止状態のセッション ファクトリを必要とする dao があります。SpringMVC コンテキストでは動作しているのを見てきましたが、Java クラスに含まれる dao は null です。catalina.out にエラーはありません:
私の完全なapplicationContext.xml(問題はどこかにあると本当に思っているからです):
sessionFactory ではなく DAO が見つかるクラス:
DAOの始まり(ゲッターとセッターとコンストラクターのみを配線してみました):
WEB XML Spring の行:
これに対する他の唯一の注意点は、Opencms と呼ばれるオープンソースの Java cms 内でこれを機能させようとしていることです。しかし、私が配線しているファイルは、コントローラーなどではなく、バニラJavaサポートクラスであるため、それが関連しているかどうかはわかりません(まだSpring-MVCを実際に実行するつもりはありません)。
実際、これはすべて、別の小さなアプリケーションのSpring MVCサーブレットコンテキストで機能しますが、これらの同じオブジェクト/アノテーションをapplicationContextに登録できないようです。
opencms - OpenCMS 編集ボタンが完全に重なります
<cms:contentload>
1 つのjsp ページに2 つあります。問題は、最初の編集ボタンが<cms:contentload>
、タグにとどまるのではなく、2 番目の<cms:contentload>
タグに配置されていることです。完全に重ねます。
java - opencms との Web サービスの統合
私は OpenCms を初めて使用し、POC を行っています。Google でよく検索しましたが、opencms との Web サービスの統合に関するものは何も見つかりませんでした。Web サービスを openCms と統合する方法を知りたいです。
alfresco - ログイン資格情報を使用せずに OpenCmis でセッションを作成する
Alfresco Share アプリケーションは、LDAP を使用して外部認証されています。Java アプリケーションから OpenCmis を介して実行している Alfresco 共有で実行する操作がいくつかあります。問題は、外部認証であるため、Alfresco にログインするためのユーザー名とパスワードがありません。ユーザー名とパスワードなしで OpenCmis でセッションを作成するにはどうすればよいですか? 私がそれを達成できる他の代替方法はありますか?
前もって感謝します
liferay - OpenCms から LIFeray への Web サイトの移行
Web サイトは現在 OpenCms にあり、そのまま Liferay フレームワークに移行する必要があります。
OpenCms には JSP テンプレートの概念があります。OpenCms に存在する jsp テンプレートの概念を liferay のテーマ/レイアウトに複製することは可能ですか?
OpenCms テンプレートは、次のような cms タグを使用します<cms: />
この Web サイト全体を OpenCms から Liferay に転送するにはどうすればよいですか?
私はこれに関して多くのことをグーグルで調べましたが、これに対する答えは得られませんでした.
助けていただければ幸いです。
編集:
プロジェクトに関する詳細情報は次のとおりです。
Web サイトには静的ページと動的ページがあります。将来、ユーザーがWebサイトのデータコンテンツを変更したい場合に簡単に変更できるように、liferayでそれらを再作成する方法が必要です。動的ページの場合、データベースを更新します。静的ページの場合、liferay フレームワークから (必要に応じて) データを変更する必要があります。
テンプレートを作成し、特定のテンプレートを使用するページを追加し、ページにコンテンツを追加するにはどうすればよいですか?
コードを書くべきですか、それとも liferay UI から直接書くことができますか? これを行う簡単な方法はありますか?
ftl テンプレートを使用してみました。しかし、それは役に立ちますか、それとも liferay からテンプレートを作成する必要がありますか?
opencms - OpenCms タグ内の OpenCms タグ
これはばかげた質問かもしれませんが、opencms の jsp テンプレートを理解しようとしています。
jspにhtmタグがありますが。次のようなcmsタグの実際の使用法は何ですか: