在将 Sitecore 数据库从生产环境迁移到非生产环境后,xdbautomationworker 容器出现了无法连接到 SQL Server 的问题。错误日志显示:
System.Data.SqlClient.SqlException (0x80131904): Only active directory users can impersonate other active directory users.
这个错误发生在尝试执行 Sitecore.Xdb.ReferenceData.SqlServer.Commands.GetDefinitionTypeCommand
时。
我们进行了以下调查:
检查数据库所有者:
SELECT name , owner_sid
FROM sys.databases
在本文中,我们将详细介绍如何在Debian 12服务器上配置Nginx,设置Cloudflare CDN,以及为需要直接访问源站的特殊程序申请SSL证书。这个过程涉及多个步骤,包括安装Nginx,配置域名,使用Cloudflare CDN,以及使用Certbot申请SSL证书。
https://certbot-dns-cloudflare.readthedocs.io/en/stable/
https://lucasc.me/post/howto-certbot-dns-cloudflare-in-webmin
首先,我们在Debian 12服务器上安装Nginx:
sudo apt update
sudo apt install nginx
安装完成后,配置您的域名。编辑Nginx配置文件,通常位于/etc/nginx/sites-available/
目录下。
接下来,我们使用Cloudflare CDN来提高网站性能和安全性:
https://sitecore.stackexchange.com/questions/23840/xdb-collection-shard0-login-failed-for-user
When performing database migrations in a Sitecore environment, particularly when copying from a production environment to a non-production environment, one may encounter several tricky issues. Recently, we faced an interesting case involving the Sitecore XDB container’s inability to connect after the database migration. This article will share our troubleshooting process and the final solution.
After copying the production database to the non-production environment, the Sitecore XDB container began reporting connection errors. The error message indicated:
Database 'Sitecore.Xdb.Collection.Shard0' on server 'ahke-non-prod-sql1' is not currently available.
https://sitecore.stackexchange.com/questions/23840/xdb-collection-shard0-login-failed-for-user
在 Sitecore 环境中进行数据库迁移时,特别是从生产环境复制到非生产环境时,可能会遇到一些棘手的问题。最近,我们遇到了一个有趣的案例,涉及 Sitecore XDB 容器在数据库迁移后无法连接的问题。本文将分享我们的故障排除过程和最终解决方案。
在将生产数据库复制到非生产环境后,Sitecore XDB 容器开始报告连接错误。错误信息显示:
Database 'Sitecore.Xdb.Collection.Shard0' on server 'ahke-non-prod-sql1' is not currently available.
在进行k8s节点升级后,我们的Solr集群出现了故障。由于我们的xdbsearch
服务依赖于Solr集群,这个故障导致xdbsearch pod无法正常运行。同时,依赖于xdbsearch的其他pods也无法正常运行,从而导致整个项目不可用。
使用Lens操作K8s, 它会自动映射端口
在Network > Services > Solr Cluster Headless 打开solr admin panel. 映射端口会定期更新,
在这篇博客中,我将详细介绍一次 Ubuntu 18.04 系统维护的过程。我们的目标是升级 code-server 到最新版本,但由于系统中的 glibc 版本过低,我们需要进行一系列的操作来解决这个问题。
我们的系统是 Ubuntu 18.04,安装的 glibc 版本是 2.27。然而,最新版本的 code-server 需要 glibc 2.28 或更高版本。因此,我们需要升级我们的 glibc。
我们首先尝试升级 Ubuntu 到最新版本,但由于 Python3 版本的问题,我们无法完成升级。因此,我们决定通过编译源码的方式来安装 glibc 2.28。
我们下载 glibc 2.28 的源码,然后进行编译和安装。然而,尽管我们已经安装了 glibc 2.28,但 ldd 命令仍然显示我们的 glibc 版本是 2.27。这是因为我们没有修改系统的动态链接库。
在这篇文章中,我们将探讨如何使用Cloudflare API自动切换DNS。我们将使用Uptime Kuma来监控网站运行状态,并通过webhook进行通知。我们还将运行webhookd服务来接收Uptime Kuma的请求,并在网站状态出现问题时,使用Cloudflare API切换到备用服务器。
https://github.com/louislam/uptime-kuma
https://github.com/ncarlier/webhookd
https://github.com/ncarlier/webhookd/issues/82
https://www.tech-otaku.com/web-development/using-cloudflare-api-manage-dns-records/
首先,我们需要一个工具来监控我们的网站运行状态。这里,我们选择使用Uptime Kuma,它是一个功能强大的开源监控工具,可以帮助我们实时了解网站的运行状况。
当Uptime Kuma检测到网站状态发生变化时,它可以通过webhook发送通知。我们需要运行一个webhookd服务来接收这些通知。
https://jammykam.wordpress.com/2014/06/17/add-custom-drop-down-list-to-rich-text-editor-in-sitecore/
https://www.davidbuckell.com/blogs/development/sitecore/customising-the-rich-text-editor/adding-a-custom-dropdown-to-sitecore-rich-text-editor-toolbar/
https://sitecorerunner.com/2018/08/21/adding-rte-richtext-custom-dropdown-list-in-sitecore-9/
sitecore RichTextEditor是一个强大的文本编辑器,它可以让你在sitecore中创建和编辑富文本内容。它提供了很多常用的功能,比如字体、颜色、对齐、插入图片等。但是,有时候你可能需要一些更高级的功能,比如调整文本的行高。行高是指文本行之间的垂直距离,它可以影响文本的可读性和美观性。在sitecore richtexteditor中,你可以通过修改HTML源码来设置行高,但是这样做比较麻烦,而且需要一定的HTML知识。有没有一种更简单的方法呢?答案是肯定的。在本文中,我将教你如何在sitecore richtexteditor中添加一个自定义的下拉列表,让你可以方便地选择和插入不同的行高值。
在Core库中找到Profile , eg: /sitecore/system/Settings/Html Editor Profiles/Rich Text Default/Toolbar 3
创建名称为Line Height
, 模板为 /sitecore/templates/System/Html Editor Profiles/Html Editor Custom Drop Down Button
字段Click
为自定义字符串,下面的JS中会用到,eg: InsertCustomLineHeight
子节点模板为: /sitecore/templates/System/Html Editor Profiles/Html Editor List Item
https://sitecore.stackexchange.com/questions/9763/sitecore-8-2-rich-text-editor-drop-down-items
https://web.archive.org/web/20170407075518/http://www.awareweb.com/awareblog/profilespecificstylesheets
在Sitecore中,我们可以通过修改WebStylesheet设置来为富文本编辑器(RTE)添加自定义的CSS。但是,这种方法只允许我们指定一个CSS文件。如果我们想要使用多个CSS文件,或者我们想要为特定的用户角色或设备类型指定不同的CSS,那么我们需要寻找其他的方法。
我们可以创建一个自定义类EditorConfiguration,该类用于根据Sitecore配置文件设置富文本编辑器。它重写了SetupStylesheets方法,以添加在配置文件的Stylesheets文件夹中指定的CSS文件。
https://github.com/rclone/rclone/wiki/Systemd-rclone-mount#systemd
~/.config/rclone/rclone.conf
)[Unit]
Description=RClone mount of users remote %i using filesystem permissions
Documentation=http://rclone.org/docs/
After=network-online.target
....
Django是一个非常流行和强大的Python Web框架,它提供了很多内置的功能,让开发者可以快速地构建高性能、安全、可扩展的网站。其中一个功能就是国际化和本地化,也就是让网站能够根据用户的语言和地区偏好,显示不同的内容和格式。这样,网站就可以覆盖更多的用户群体,提高用户体验和满意度。
在这篇博客中,我将介绍如何使用Django的国际化和本地化功能,以及一些第三方库,来实现多语言网站的开发。我将以一个简单的博客网站为例,展示如何让它支持英语、法语、西班牙语、越南语、波兰语、泰语、韩语、日语、简体中文和繁体中文这十种语言。我将分为以下几个步骤:
首先,我们需要在项目的settings.py文件中,做一些基本的设置,来启用国际化和本地化功能,以及指定支持的语言和默认语言。具体的设置如下:
# 基本设置
LANGUAGE_CODE = 'zh-hans' # 默认语言,这里我设置为简体中文
#PARLER_DEFAULT_LANGUAGE_CODE = 'zh-hans' # 这是一个第三方库的设置,后面会介绍
TIME_ZONE = 'UTC' # 时区,这里我设置为UTC,你可以根据需要修改
USE_I18N = True # 启用国际化功能
USE_L10N = True # 启用本地化功能
USE_TZ = True # 启用时区支持
# https://github.com/django/django/blob/main/django/conf/global_settings.py#L56
LANGUAGES = ( # 指定支持的语言,这里我设置了十种语言,你可以根据需要增加或删除
('en', ('English')),
('fr', ('Français')),
('es', ('Español')),
('vi', ('Tiếng việt')),
('pl', ('Polskie')),
('th', ('ไทย')),
('ko', ('한국어')),
('ja', ('日本語')),
("zh-hans", ("简体中文")),
("zh-hant", ("繁體中文"))
)
LOCALE_PATHS = [ # 指定存放翻译文件的路径,这里我设置为项目根目录下的locale文件夹
os.path.join(os.path.dirname(os.path.dirname(__file__)), "locale")
]