[[executionrepublisher]]
= Execution Republisher

:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



The _executionrepublisher_ module contributes an action to allow logged executions (as per the xref:userguide:executionlog:about.adoc[] module) to be republished to the outbox (as per the xref:userguide:executionoutbox:about.adoc[] modul).


== Setup

=== Dependency Management

Add an entry for the _Execution Republisher_ module's own BOM:

[source,xml,subs="attributes+"]
.pom.xml
----
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.causeway.extensions</groupId>
            <artifactId>causeway-extensions-executionrepublisher</artifactId>
            <scope>import</scope>
            <type>pom</type>
            <version>{page-causewayrel}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
----

[#dependencies]
=== Dependencies / Import

In the webapp module of your application, add the following dependency:

[source,xml]
.pom.xml
----
<dependencies>
    <dependency>
        <groupId>org.apache.causeway.extensions</groupId>
        <artifactId>causeway-extensions-executionrepublisher-applib</artifactId>
    </dependency>
</dependencies>
----

Note that this declares the xref:executionlog:about.adoc[] and xref:executionoutbox:about.adoc[] modules as dependencies.


In your application's xref:userguide::modules.adoc#appmanifest[App Manifest], import the _ExecutionRepublisher_ module.

[source,java]
.AppManifest.java
----
@Configuration
@Import({
        ...
        CausewayModuleExtExecutionRepublisherApplib.class,
        ...
})
public class AppManifest {
}
----

Note that this depends upon the xref:executionlog:about.adoc[] and xref:executionoutbox:about.adoc[] modules.


== User Interface

The extension provides this mixins:

* xref:refguide:extensions:index/executionrepublisher/applib/contributions/ExecutionLogEntry_copyToOutbox.adoc[]
+
This contributes a `copyToOutbox` action to the xref:refguide:extensions:index/executionlog/applib/dom/ExecutionLogEntry.adoc[] entity.


== See also

* xref:executionlog:about.adoc[] extension
* xref:executionoutbox:about.adoc[] extension
