Lotus Domino Designerでアプリのコンポーネントをエクスポートするにはどうすればよいですか?
-
21-12-2019 - |
質問
私は、従来のLotus Domino Webアプリケーション - データベースを持つデータベースがありますが、もちろん、JavaScript、PNG、JPG画像、HTMLやCSSなどのサブフォームなどのJavaScript、リソースなどです。
アプリケーション自体をエクスポートしたい - ではなく、アプリケーションのまさにアプリケーションの構造 - その他の、より現代のWebフレームワーク(レールやノードJSなど)の画像、HTML、およびCSSを再利用できます。 HTMLテンプレートとCSSおよびJSをファイルとして消費するPHPまたはPythonまたはPythonまたはPythonまたは任意のもの。
HTML、CSS、JS、PNG、JPGなどをどのようにエクスポートしますか。設計者に表示されているようにファイル構造全体を撮って、実際のHTML / CSS / JS / Images / ETCを取得したいだけです。そこに。
私は「Source Control Disk Sync」オプションを使用してみましたが、そのファイルはいくつかの奇妙なDomino固有のXML形式で保存され、基礎となるHTML / CSS / etcは16進数として保存されます。あまり役に立ちません。
例として、私は私のアプリShared Elements\subforms\main.login.subform
(そして他の多くのもの)に次のように見えるかもしれません:
<style>
#service-content {
background-color: #fff;
}
label, input {
width: 100px;
display: inline-block;
padding: 3px 5px;
margin-bottom: 10px;
}
input {
width: 300px;
}
#login-message, h1 {
text-align: center;
}
</style>
<div style="width: 450px; margin: 0 auto">
<input type="hidden" value="/<Computed Value>/page?readform" name="RedirectTo" />
<h1>Login</h1>
<!-- lots of html here -->
</div>
<!--// NAVIGATION -->
.
私はそれを抽出したい(そして他のものはそのようなものです)。
編集:
以下のコメントで指摘されているように、これはより良い説明の価値があります。
問題のDominoアプリは、(主に)静的HTMLとJSを使用して、Ajaxを介してエージェントからデータを取得します。そのため、UI(HTML / CSS / JS)は、いくつかの適度な量の作業で、バッグされたものと非常に再利用可能です。
しかし、元の静的ページを取得できる場合にのみ機能します。これらの統計は、Resources\Files\
またはShared Elements\subforms\
編集2:
@ jcagedに従ってバイナリDXLエクスポートをオフにすると、次のような上記のRAW HTMLの出力が得られます(これは終わりです):
<font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#4200ff'/>"submit"</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/> </run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='purple'/>value</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/>=</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#4200ff'/>"Login"</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/> </run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>></</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>div</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>></run></par>
<par def='3'><run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/></run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/></</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>form</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>></run></par>
<par def='3'>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/></</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>div</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>>
</run></par>
<par def='2'><run><font name='monospace'/><!--// NAVIGATION --></run></par></richtext>
</body>
<item name='$$ScriptName' summary='false' sign='true'><text>main.nav</text></item></subform>
. 解決
@デイッチ、あなたはそこにありました:あなたはソース管理を有効にしたいです。これがどのように機能するかは、データベースの内容を(自動または手動で)標準のファイルシステムディレクトリを同期させます。詳しくは、ヘルプトピック「ソース管理有効化機能の設定」を参照してください。
本当にうまくいくようにするには、嗜好を変更する必要があります。 Designerでは、最初にファイルへのアクセス設定|デザイナー|ソース管理「バイナリdxlを使用する」が設定されていないことを確認してください。違いの詳細については、「ディスク上のデザイン要素を表す方法の選択」を参照してください - 基本的に、通常のDXLを使用してデザイン要素データを分離する[すなわちデザイン要素がデータベースにあるDXL形式のメタデータからコード]は、バイナリDXLがそれらをバイナリBLOBに入れ、外部アプリケーションがそれらを編集できるようにすることを防ぎます。ここでは他にも他のオプションもあります。詳細については、「ヘルプトピックの「ソース管理の有効化機能設定の設定」を参照してください。
これが行われた後、(まだデザイナ)プロジェクトを右クリックし、「チーム開発」を選択し、次に「このアプリケーションのソースコントロールを設定します」を選択します。スプラッシュスクリーンが表示されていない可能性があり、次に選択してもらえますが、最終的には、オンディスクプロジェクトの名前を入力するように求めるダイアログボックスが表示されます。 2行目がまだ存在しないディレクトリを指していることを確認してください(デフォルトでは、「デフォルトの場所を使用する」チェックボックスが選択されていることを確認し、それはNotesデータディレクトリを指しており、ONの名前として入力されているものに追加します。 - 新しいディレクトリ名としてのディスクプロジェクト)。 [完了]を選択すると、そのディレクトリをルートとして使用して、NSF内のEclipse仮想ファイルシステムをファイルシステムにエクスポートします。
(すべてのパースペクティブが「チーム開発」の項目を表示しているわけではありません。特にJavaのパースペクティブはありません。
これが完了したら、外部ツールを使用して、ディレクトリをソースコントロールに追加することができます[常に常にが良い考え]; 「バイナリDXLを使用する」が選択されていない限り、外部ツールを使用してアプリケーションの一部と見なされるコードとデータを操作することもできます。
他のヒント
簡単な答え:これを行う方法はありません。
ブラウザに表示されているWebCodeは、Forms、Views、Pages、サブフォーム、スクリプトライブラリ、式などからDomino HTTP-タスクによって動的に生成されます。
データベース内の任意の単純なHTML表現はありません。
あなたが欲しいものを手に入れるためには、生成されたソースをブラウザとして掴んでダウンロードするLeacherが必要です。しかし、多くの機能がサーバーサイド(フィールド検証、エージェント、送信メールの送信、何でも...)であるため、あなたはそのアプローチから十分なものを得ません。
もちろん、画像 - 復帰、CSSファイル、およびおそらくJavaScript - Libaries(いずれかの場合)を手動でエクスポートできますが、それはあなたが達成したいものにさらに一歩を取得しません。
NSFを別のプラットフォームに「移行」したい場合は、スタッフ全体を書き換える必要があります...