实现此要求的最佳方法是:"在Sitecore中删除内容项时,应删除该项目的所有引用(链接和引用字段)."
在我的Sitecore工作箱中,显示了几个工作流程状态.(草稿,等待,已批准)如何将访问权限仅限于Sitecore中特定角色(例如初级经理)的一个/几个(草稿)工作流程状态?
(我使用v6.5)
我们目前正在运行Sitecore CMS 6.5(120706),其中安装了共享源Item Buckets模块:
我们希望升级到CMS 7.0版.我被告知目前没有升级路径,并期待在几个月内.但是我们宁愿不必等待.
项目桶仅用于我们网站的单个部分.其他所有内容都通过标准内容树提供.
我们曾尝试升级到6.6第一所要求的文件升级过程中,尽管它提后来在共享源代码项目桶模块是不幸中的说明不支持升级.确认这肯定不起作用,我们收到错误:
Exception Details: System.IO.FileLoadException: Could not load file or assembly 'Lucene.Net, Version=2.3.1.3, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
我们还尝试通过删除.config文件等来禁用项目存储桶,但我们还有其他问题,可能是因为项目存储桶更新所做的实际内容/数据模板更改.
我们正在考虑尝试干净安装CMS 7.0,然后使用Sitecore包迁移我们的自定义代码库,内容树中的项目(包括数据模板,布局,渲染等)以解决此问题.
有人可以验证这种方法,或者更好地建议一个不那么痛苦的解决方案!?
非常感谢
I implement wix to generate some msi. I'd like to maintain .bat file (that is packed within this wix project) to contain some work to do (and to be activated with some custom action) I added the .bet to my wix project in VS2010.
My question is
我已经整理了一个.aspx页面,它是某个模板的布局.Database.GetItem(string)在Sitecore预览窗格中,我无法通过路径(即通过调用)获取当前项目,尽管它在Web上工作正常,即使使用.NET Request.RawUrl属性也是如此.
在此上下文中,如何最轻松地访问当前项?
假设我有以下 WIX 标记,指示 MSI 安装程序从包含的 DLL 调用自定义操作:
<CustomAction Id="CA_SetProperties_Finalize"
Property="CA_OnInstallFinalize"
Value="[Installed],[REINSTALL],[UPGRADINGPRODUCTCODE],[REMOVE]" />
<CustomAction Id='CA_OnInstallFinalize'
BinaryKey='CADll'
DllEntry='msiOnInstallFinalize'
Execute='deferred' Impersonate='no' />
<InstallExecuteSequence>
<Custom Action='CA_SetProperties_Finalize'
Before='InstallFinalize'></Custom>
<Custom Action='CA_OnInstallFinalize'
After='CA_SetProperties_Finalize'></Custom>
</InstallExecuteSequence>
<Binary Id='CADll' SourceFile='Sources\ca-installer.dll' />
Run Code Online (Sandbox Code Playgroud)
DLL 本身具有以下用于自定义操作的 C++ 代码:
<CustomAction Id="CA_SetProperties_Finalize"
Property="CA_OnInstallFinalize"
Value="[Installed],[REINSTALL],[UPGRADINGPRODUCTCODE],[REMOVE]" />
<CustomAction Id='CA_OnInstallFinalize'
BinaryKey='CADll'
DllEntry='msiOnInstallFinalize'
Execute='deferred' Impersonate='no' />
<InstallExecuteSequence>
<Custom Action='CA_SetProperties_Finalize'
Before='InstallFinalize'></Custom>
<Custom Action='CA_OnInstallFinalize'
After='CA_SetProperties_Finalize'></Custom>
</InstallExecuteSequence>
<Binary Id='CADll' SourceFile='Sources\ca-installer.dll' />
Run Code Online (Sandbox Code Playgroud)
发生的情况是,当我的doWork方法失败时,安装不应继续,因此我返回ERROR_INSTALL_FAILURE。问题是,在这种情况下,安装程序会直接退出,安装 GUI 窗口也会消失。
所以我很好奇,是否有任何方法可以更改 Wix 标记,以便在我的自定义操作返回错误时能够显示用户消息?
在我们的产品中,我们使用Product Id="*"Wix告诉它为每个新构建生成新的产品代码.我们现在在安装时要求将安装的MSI的产品代码记录到我们的一个注册表项中.我们可以通过循环查看"卸载"注册表项中的条目来查找产品名称和版本,从而在运行时推断产品代码,但在安装时直接记录此信息会更加清晰.
有没有办法让Wix告诉我ProductCode它生成了什么,以便我可以将它作为变量添加到RegistryValueWix元素?
我猜测没有,所以我尝试使用a <?define?>为所有问号设置变量,"????????-????-????-????-????????????"并在Product元素和元素中使用此变量RegistryValue.这适用于Product元素ok,它继续生成新的GUID,但在RegistryValue元素中,此变量在编译时不会展开,这意味着注册表键只会添加所有问号.
是否有任何纯粹的Wix方式来实现我想要的?我可以生成ProductCodeWix 的外部并让Wix元素将其用作环境变量,但这会给构建过程增加额外的复杂性 - 其他可能会破坏的东西.如果我能用Wix完全做到这一点,我想要它.
根据Sitecore 7.2内容作者的食谱(第66页):
在" 内容"窗格中,单击" 浏览"以打开" 选择媒体"对话框.将 打开" 选择媒体"对话框,并显示媒体库中可用于所选图像字段的所有项目.
但是,在我的系统上,Media folder显示当前所选的图像媒体项目.问题是所有过滤器选项,我的图像,最近上传的图像,甚至所有图像文件,只显示当前所选项目及其自身的后代.除非您关闭" 选择媒体"窗口,"清除图像"字段,然后单击"浏览" ,否则似乎没有办法选择其他文件夹或重置"媒体"文件夹.但是,在浏览之前清除图像字段也会重置树视图,使得选择当前图像的兄弟姐妹变得更加困难.
考虑到我的本地实例(以及我为测试设置的第二个vanilla安装)的行为与文档不同,是否有一个我缺少的设置?
除了投资TDS或恢复SQL数据库之外,如果有人发布了一些不应该发布的内容,是否可以撤消/回滚Sitecore发布?
我正在使用Sitecore 8.
我在运行 MSI 时安装 Web 服务,但默认情况下在本地系统下运行。我希望它在登录系统的特定用户下运行。我们可以通过更改服务的登录属性来做到这一点,但我想在安装时执行此操作。那么,我如何在 wix 中创建自定义 UI 来询问用户的用户名和密码。我有 2 个文件 - service.wxs 和 Product.wxs,我正在尝试类似的操作:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI Id="myUI">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Dialog Id="myDlg" Height="400" Width="550" Title="User Sample UI" >
<Control Id="myEdit" Type="Edit" Property="USERNAME" Height="17" Width="100" X="50" Y="50" Indirect="yes" Text="[USERNAME]"/>
<Control Id="meEdit" Type="Edit" Property="PASSWORD" Password="yes" Height="20" Width="100" X="80" Y="50" Indirect="yes" Text="[PASSWORD]"/>
</Dialog>
</UI>
</Fragment>
<Fragment>
<DirectoryRef Id="FOLDER">
<Component Id="..." Guid="*">
<File Id="..." KeyPath="yes" Source="SourceDir\Service.exe" />
<wix:ServiceInstall Id="Install" Account="[USERNAME]" Password="[PASSWORD]" Name="...." …Run Code Online (Sandbox Code Playgroud)