标签: tridion-storage-extension

如何将子版或其他出版物的发布dcp设置为不同的位置,而不会覆盖所有其他设置

我正在尝试配置cd_storage并在设置动态组件表示时遇到问题,因为它们已经由子进程编写并从每个发布发布到同一文件夹.

我知道我们可以定义发布级别设置但是一旦我们定义了它,那么它希望我们定义该发布标记内的所有内容.我们不希望在发布标记中定义每个东西50次.

任何人都可以提出相同的最佳做法.

这是针对sdl tridion 2011 sp1

提前致谢...

tridion tridion-content-delivery tridion-2011 tridion-storage-extension

8
推荐指数
1
解决办法
165
查看次数

如何在Component Presentation存储扩展中获取Component对象

我正在尝试在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

2
推荐指数
1
解决办法
339
查看次数

使用Tridion Deployer扩展程序取消发布页面时,组件详细信息未记录在我的数据库中

我试图在我的自定义存储扩展中添加未发布的组件条目.我们知道我们在部署"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

2
推荐指数
1
解决办法
277
查看次数

如何在Tridion 2011中使用Custom DAO在我的存储扩展中仅存储PDF类型的二进制文件

我已经在Tridion 2011中为我的持久性类型的存储扩展中添加 /更新/删除我的二进制文件的特定记录编写了自定义DAO .

下面是我尝试在我的自定义二进制DAO()中使用我的自定义DAO类/接口(PublishActionDAOPublishAction)的示例代码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

0
推荐指数
1
解决办法
116
查看次数