Publishing: Added "publish-content" action to provide easy access to the publishing service.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31057 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Brian Remmington
2011-10-07 17:13:47 +00:00
parent 5b87277b9d
commit b66a76f001
13 changed files with 542 additions and 11 deletions

View File

@@ -42,7 +42,7 @@ public interface PublishingDetails
PublishingDetails addNodesToPublish(Collection<NodeRef> nodesToPublish);
PublishingDetails setPublishChannel(String channelId);
PublishingDetails setPublishChannelId(String channelId);
PublishingDetails setComment(String comment);

View File

@@ -20,6 +20,8 @@ package org.alfresco.service.cmr.publishing;
import java.util.List;
import org.alfresco.service.Auditable;
import org.alfresco.service.NotAuditable;
import org.alfresco.service.cmr.repository.NodeRef;
/**
@@ -36,6 +38,7 @@ public interface PublishingService
* identifier or <code>null</code> if no such publishing event can
* be located
*/
@NotAuditable
PublishingEvent getPublishingEvent(String id);
/**
@@ -43,6 +46,7 @@ public interface PublishingService
* @param publishedNode The node that was published.
* @return A list of {@link PublishingEvent}s.
*/
@NotAuditable
List<PublishingEvent> getPublishEventsForNode(NodeRef publishedNode);
/**
@@ -50,6 +54,7 @@ public interface PublishingService
* @param unpublishedNode The node that was unpublished.
* @return A list of {@link PublishingEvent}s.
*/
@NotAuditable
List<PublishingEvent> getUnpublishEventsForNode(NodeRef unpublishedNode);
/**
@@ -60,6 +65,7 @@ public interface PublishingService
*
* @param id The identifier of the publishing event that is to be cancelled.
*/
@Auditable(parameters={"id"})
void cancelPublishingEvent(String id);
/**
@@ -67,6 +73,7 @@ public interface PublishingService
* a call to the {@link PublishingQueue#scheduleNewEvent(PublishingDetails)} operation.
* @return A publishing package that can be populated before being placed on the publishing queue.
*/
@NotAuditable
PublishingDetails createPublishingDetails();
/**
@@ -74,5 +81,6 @@ public interface PublishingService
* @param publishingDetails The publishing package that is to be enqueued
* @return The identifier of the newly scheduled event
*/
@Auditable
String scheduleNewEvent(PublishingDetails publishingDetails);
}

View File

@@ -24,6 +24,8 @@ import java.util.List;
import java.util.Map;
import org.alfresco.repo.publishing.AbstractChannelType;
import org.alfresco.service.Auditable;
import org.alfresco.service.NotAuditable;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName;
@@ -39,6 +41,7 @@ public interface ChannelService
* @param channelType The channel type to be registered.
* @throws IllegalArgumentException if a channel type is already registered that has the same identifier as the supplied one
*/
@NotAuditable
void register(AbstractChannelType channelType);
/**
@@ -46,12 +49,14 @@ public interface ChannelService
* @param id The identifier of the channel type to be retrieved
* @return A ChannelType object that represents the channel type with the specified identifier
*/
@NotAuditable
ChannelType getChannelType(String id);
/**
* Retrieve all the registered channel types
* @return A list of ChannelType objects, each representing a channel type registered with this channel service
*/
@NotAuditable
List<ChannelType> getChannelTypes();
/**
@@ -62,12 +67,14 @@ public interface ChannelService
* @param properties Any additional properties that are to be saved as part of the new channel.
* @return A Channel object corresponding to the newly created channel.
*/
@Auditable(parameters={"channelTypeId", "name"})
Channel createChannel(String channelTypeId, String name, Map<QName, Serializable> properties);
/**
* Remove the specified channel.
* @param channel The channel to delete.
*/
@Auditable
void deleteChannel(Channel channel);
/**
@@ -75,6 +82,7 @@ public interface ChannelService
* @param channel The channel that is to be renamed.
* @param newName The new name of the channel
*/
@Auditable(parameters={"newName"})
void renameChannel(Channel channel, String newName);
/**
@@ -83,12 +91,14 @@ public interface ChannelService
* @param properties The properties to set on the channel. These are blended with the current properties
* on the channel. Any that aren't currently set will be added, others will be updated.
*/
@Auditable
void updateChannel(Channel channel, Map<QName,Serializable> properties);
/**
* Retrieve all the channels.
* @return A list of Channel objects, each one representing a channel that exists within the specified Share site.
*/
@NotAuditable
List<Channel> getChannels();
/**
@@ -96,6 +106,7 @@ public interface ChannelService
* @param channelName The name of the channel
* @return The specified Channel objects or <code>null</code> if the specified channel does not exist.
*/
@NotAuditable
Channel getChannelByName(String channelName);
/**
@@ -103,6 +114,7 @@ public interface ChannelService
* @param id The string value of the channel {@link NodeRef}.
* @return The specified Channel objects or <code>null</code> if the specified channel does not exist.
*/
@NotAuditable
Channel getChannelById(String id);
/**
@@ -110,20 +122,25 @@ public interface ChannelService
* @param nodeToPublish
* @return
*/
@NotAuditable
List<Channel> getRelevantPublishingChannels(NodeRef nodeToPublish);
/**
* Returns a list of all the channels that are capable of publishing in the specified Share site.
* @param filterByPublishPermission TODO
* @param filterByPublishPermission If true then the returned channels are filtered to include only those
* to which the authenticated user can publish
* @return
*/
@NotAuditable
List<Channel> getPublishingChannels(boolean filterByPublishPermission);
/**
* Returns all {@link Channel}s cpaable of performing a status update for the given Share Site.
* @param filterByPublishPermission TODO
* @param filterByPublishPermission If true then the returned channels are filtered to include only those
* to which the authenticated user can post status updates
* @return
*/
@NotAuditable
List<Channel> getStatusUpdateChannels(boolean filterByPublishPermission);
}