2016-08-03 6 views
0

新しく作成したMagnoliaインスタンスを取得しました。私はバンドルされたGroovyスクリプトを使ってアプリケーションを作成し、パブリックインスタンスにニュースを公開しようとしました。私は「ebtnews」ワークスペースを民間に著者から同期化されていないので、それは起こった著者インスタンスからパブリックにワークスペースを公開

error

このエラーを得ました。ですから、問題は作者から私的にワークスペースを同期する方法です。

答えて

2

私は、作成者インスタンスのモジュール定義xmlに新しいワークスペースを追加するたびに、自分のパブリックインスタンスのモジュール定義XMLにこのワークスペースも追加していることを確認します。次に、作成者とパブリック・インスタンスの両方を再起動して、新しいワークスペースを作成する必要があります。

1

代わりに、あなただけのグルーヴィーコンソール/スクリプトを介して、次のように実行することができます

あなたはまた、おそらく、ワークスペースの基本的なセキュリティ権限を登録しアクティベーションを可能にするために、加入者のワークスペースマッピングの下で​​それを設定し、したいと思うでしょう
// create workspace 
Components.getSingleton(RepositoryManager.class).createWorkspace(app_repository, app_workspace) 
// check we registered all right 
appSession = ctx.getJCRSession(app_workspace) 
// register node type 
nodeTypeManager = appSession.getWorkspace().getNodeTypeManager() 
type = NodeTypeTemplateUtil.createSimpleNodeType(nodeTypeManager, app_node_type, Arrays.asList(NodeType.NT_HIERARCHY_NODE, NodeType.MIX_REFERENCEABLE, NodeTypes.Created.NAME, NodeTypes.Activatable.NAME, NodeTypes.LastModified.NAME, NodeTypes.Renderable.NAME)) 
nodeTypeManager.registerNodeType(type, true) 
appSession.save() 
// double check it registered all right 
nodeTypeManager.getNodeType(app_node_type) 

/パブリックインスタンスのコンテンツの更新時にキャッシュをフラッシュするためのトリガーのリストから除外します。

GroovyモジュールのcreateAppScriptサンプルスクリプトですべてのことを行うコードを見つけることができます。上に貼り付けたコードは、実際には同じスクリプトのものです。

利点は、すべてのことを実行時に再起動せずに実行できることです。各インスタンスで同じコードを実行する必要があるという欠点があります。

関連する問題