Thật vậy, không có hỗ trợ cấu hình GenericSetup bao gồm trong plone.session
; hiện tại không có gì sẽ xuất nó cho bạn, cũng như không có gì để nhập các cài đặt.
Thay vào đó, bạn phải viết một bước thiết lập và định cấu hình plugin phiên theo cách thủ công.
Thêm một bước nhập vào tập tin configure.zcml
cấu hình của bạn:
<?xml version="1.0"?>
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
<genericsetup:importStep
name="yourpackage.a_unique_id_for_your_step"
title="Configures the plone.session plugin"
description="Perhaps an optional description"
handler="your.package.setuphandlers.setupPloneSession"
/>
</configure>
và thêm tập tin văn bản một trống 'trọng điểm' vào thư mục cùng một cấu hình tên youpackage.setup-plonesession.txt
sau đó thêm một mô-đun setuphandlers.py
để gói của bạn (những gì handler
trỏ đến trong ví dụ trên):
def setupPloneSession(context):
if context.readDataFile('youpackage.setup-plonesession.txt') is None:
return
portal = context.getSite()
plugin = portal.acl_users.session
# Configure the plugin manually
plugin.path = '/'
plugin.cookie_name = '__ac'
plugin.cookie_domain = ''
# Set up a shared auth_tkt secret
plugin._shared_secret = 'YourSharedSecretKey'
plugin.mod_auth_tkt = True
Lưu ý tha t trước tiên chúng tôi kiểm tra xem tệp tin gửi có hiện diện hay không; nếu bạn sử dụng lại thiết lập gói của mình ở nơi khác, bước thiết lập có thể chạy nhiều lần nếu bạn không thực hiện việc này.
Bạn cần phải tham khảo plugin source để biết ý tưởng về những gì bạn có thể định cấu hình, tôi e ngại.
Nguồn
2012-08-31 09:29:53
Đó là câu trả lời tuyệt vời nhờ Martijn! –
Bạn không bao giờ nên sử dụng import_steps.xml vì nó tạo bước nhập liên tục sẽ phá vỡ trang web của bạn nếu bạn xóa phần bổ trợ. Bạn phải sử dụng zcml để khai báo các bước nhập: http://collective-docs.readthedocs.org/en/latest/components/genericsetup.html?highlight=import%20step#custom-installer-code-setuphandlers-py – toutpt
@toutpt : điểm tốt, điều chỉnh câu trả lời của tôi. –