我正在尝试配置cd_storage并在设置动态组件表示时遇到问题,因为它们已经由子进程编写并从每个发布发布到同一文件夹.
我知道我们可以定义发布级别设置但是一旦我们定义了它,那么它希望我们定义该发布标记内的所有内容.我们不希望在发布标记中定义每个东西50次.
任何人都可以提出相同的最佳做法.
这是针对sdl tridion 2011 sp1
提前致谢...
tridion tridion-content-delivery tridion-2011 tridion-storage-extension
我正在尝试在Tridion 2011中编写存储扩展,我将在其中进行扩展JPAComponentPresentationDAO和实现ComponentPresentationDAO.
public void create(ComponentPresentation itemToCreate, ComponentPresentationTypeEnum componentPresentationType) throws StorageException
{
super.create(itemToCreate,componentPresentationType);
String tcmURI = Integer.toString(itemToCreate.getComponentId());
Component compObject // I want Component object to get the schema ID
PublishActionDAO publishActionDAO = (PublishActionDAO) StorageManagerFactory.getDefaultDAO("PublishAction");
PublishAction publishAction = new PublishAction();
publishAction.setAction("ADD");
publishAction.setTcmUri(tcmURI);
publishActionDAO.store(publishAction);
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例代码中,我想itemToCreate.getComponentId()在我获取组件ID的地方使用Component对象,这样我就可以将一些有用的细节传递给我的实体类,该实体类将该数据存储在我的数据库表中.
java tridion tridion-content-delivery tridion-2011 tridion-storage-extension
我试图在我的自定义存储扩展中添加未发布的组件条目.我们知道我们在部署"ComponentDeploy"时没有Tridion for ComponentUndeploy中的任何基类,因此我尝试使用ComponentPresentationUndeploy类来跟踪正在获取的组件以及下面是我试图跟踪的示例代码.
package com.tridion.custom.extensions;
import com.tridion.broker.StorageException;
import com.tridion.configuration.Configuration;
import com.tridion.configuration.ConfigurationException;
import com.tridion.deployer.DeploymentHandler;
import com.tridion.deployer.ProcessingException;
import com.tridion.deployer.Processor;
import com.tridion.deployer.modules.ComponentPresentationUndeploy;
import com.tridion.storage.ComponentMeta;
import com.tridion.storage.StorageManagerFactory;
import com.tridion.storage.StorageTypeMapping;
import com.tridion.storage.dao.ItemDAO;
import com.tridion.storage.dao.ItemTypeSelector;
import com.tridion.storage.dao.PublishAction;
import com.tridion.storage.dao.PublishActionDAO;
import com.tridion.storage.mapper.MapperFactory;
import com.tridion.transport.transportpackage.ComponentPresentationKey;
import com.tridion.transport.transportpackage.ProcessorInstructions;
import com.tridion.transport.transportpackage.TransportPackage;
import com.tridion.util.TCDURI;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
import java.util.Iterator;
public class SearchComponentUndeployer extends ComponentPresentationUndeploy {
private static Logger log = LoggerFactory
.getLogger(SearchComponentUndeployer.class);
public SearchComponentUndeployer(Configuration paramConfiguration,
Processor paramProcessor) throws ConfigurationException {
super(paramConfiguration, paramProcessor);
}
@SuppressWarnings("rawtypes")
public void process(TransportPackage paramTransportPackage) …Run Code Online (Sandbox Code Playgroud) tridion tridion-content-delivery tridion-2011 tridion-storage-extension tridion-deploy-extension
我已经在Tridion 2011中为我的持久性类型的存储扩展中添加 /更新/删除我的二进制文件的特定记录编写了自定义DAO .
下面是我尝试在我的自定义二进制DAO()中使用我的自定义DAO类/接口(PublishActionDAO和PublishAction)的示例代码JPABinaryDAOExtension.
public class JPABinaryDAOExtension extends JPABinaryContentDAO implements BinaryContentDAO
{
public JPABinaryDAOExtension(String storageId, EntityManagerFactory entityManagerFactory, String storageName)
{
super(storageId, entityManagerFactory, storageName);
}
public JPABinaryDAOExtension(String storageId, EntityManagerFactory entityManagerFactory, EntityManager entityManager, String storageName)
{
super(storageId, entityManagerFactory, entityManager, storageName);
}
public void create(final BinaryContent binaryContent, final String relativePath) throws StorageException
{
super.create(binaryContent, relativePath);
String url = relativePath;
String tcmURI = Integer.toString(binaryContent.getBinaryId());
PublishActionDAO publishActionDAO = (PublishActionDAO) StorageManagerFactory.getDefaultDAO("PublishAction");
PublishAction publishAction = new PublishAction();
publishAction.setAction("Add");
publishAction.setUrl(url); …Run Code Online (Sandbox Code Playgroud) tridion tridion-content-delivery tridion-2011 tridion-storage-extension