Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Tips

Tips

Site Tips
Plone QuickStart
針對入門學習 Plone 的步驟建議
Member Properties
會員預設可以設定許多屬性值,包括個人資料夾的目錄位置、地理空間資訊、編輯器種類等。
Archetypes QuickStart
Archetypes 是 Plone 建置內容型別的框架之一,也是預設內容型別的基礎。
Maps and GeoSpatial Packages
安裝 GIS 功能的擴充模組之後,使用者能在地圖上選定座標資料,為內容項目標記地理資訊。
Dexterity QuickStart
Dexterity 是 Plone 的內容型別建置架構,它在 Plone 5 之後,取代 Archetypes 的功能和角色,成為預設的型別建置工具。
Hiding Components
有些用不到的功能或欄位資料,在編輯或顯示時,可以依照需求決定是否出現。
Archetypes SchemaExtender
archetypes.schemaextender 能夠用來動態調整 Archetypes 的 schema 內容,最常見的用法,是擴充 Plone 預設內容型別的功能。
Error Messages, Exceptions, Tracebacks
錯誤訊息在 Python 世界裡,被稱為 Exception 或 Traceback,這裡整理常見的原因和可能的處理方法。 https://github.com/plone/Products.CMFPlone/issues/1811#issuecomment-371817703
Performance
Profiling and Server Tuning
View and Template
Plone 使用 View 機制來呈現動態資訊,它通常會包括 Python Class 和 Page Template 兩類程式碼,前者負責處理程式邏輯,後者負責網頁的呈現效果。
Localization and Multilingual
訊息在地化、多國語文切換、多國語文查詢的處理方式,包括 CJK 字元、字型、編碼、翻譯、斷詞的問題。
Configuration Settings
Site Setup 和 Management Interface 是 Plone 管理系統設定值的介面。
Theme QuickStart
Plone 5 預設佈景主題使用 Barceloneta Theme 模組,並搭配 plone.app.theming 和 Diazo 引擎。 http://datakurre.pandala.org/2015/05/customize-plone-5-default-theme-on-fly.html http://map.net.tw/taisugar/ Map Library 新增底圖 Cluster Timeline theme 找 map 範例 https://themeforest.net/licenses/standard https://themeforest.net/licenses/faq#item-end-product-a
User Accounts
https://www.macronimous.com/resources/articles/visitor-log-analysis-for-effective-seo-campaigns
Theme Customization by Example
You have HTML/CSS files from the designer. What's next? This tutorial demos how to make them work with Plone, how to use Page Templates for the first time, and how to build custom theme.
Deployment
系統自動啟動與佈署設定,包括網站伺服器管理、快取伺服器管理、WSGI、ZEO、SSL 等設定。
Social Networking
Facebook 之類社群網站的整合工作,包括帳號認證和資料傳遞的 API 存取服務,是 Meshup 常見的方式之一。
Buildout
Buildout 是 zc.buildout 模組的簡稱,它用來協助 Plone 專案的建置,透過設定檔的管理,開發者可以擁有一致的專案起始環境。
BrowserView and Viewlet
多數使用者介面是由 BrowserView 和 Viewlet 所控制,技術上 Viewlet 再由 Viewlet Manager 管理。
Migration and Upgrade
Plone 核心模組本身附有自動昇級的工具程式,想要無痛昇級內建的型別資料,並非難事,客製模組則要額外撰寫程式來執行移植工作,許多昇級挑戰,都來自於擴充模組。
SQL Connection
常見的方式是利用 Database Adapter 來連接,再透過 Z SQL Method 當介面來傳遞參數存取。 https://medium.com/@katemarielewis/grouping-and-aggregating-data-using-sql-7ac85d654fe4 Prisma
TinyMCE Tips
常見的修改技巧包括 HTML 過濾、URL 轉換、工具列消失的處理。
Working with Excel / CSV Files
Importing and Exporting Excel / CSV Data with Plone.
Listing for Folder and Collection
讀取目錄和選集時,預設可以選擇多種顯示方式,還可以視需要新增自己的顯示方式,包括篩選和排序的條件。
Portlet Management
資訊方框是 Portlet 的翻譯名稱,它們通常位於網頁右側或右側的畫面區塊,用來顯示摘要資訊或執行特定功能,例如最新消息、行事曆、全文搜尋等。
Integration
Plone 可以整合其他程式語言、資料庫、社群平台、雲端系統、行動裝置。
Installation Details
除了 Unified Installer 之外,開發人員也可以自行指定 Python 等工具的執行路徑,從頭打造開發環境。
Pluggable Authentication Service
Plone 使用 Pluggable Authentication Service (PAS) 機制來管理帳號,預設的模組軟體稱為 PlonePAS,而且能夠延伸使用 SQLPAS 之類的模組。
Sessions and Cookies
Session 在連線期間維護識別碼,它可以透過 Cookie 儲存或是經由 URL 傳遞。Plone 的 session 由 session_data_manager 工具程式管理,它能處理帳號登入、失效時間,搭配 mod_auth_tkt 可以管理單一帳號登入等功能。
SEO Tips
Search Engine Optimization Tips
Data Access Tips
介紹批次存取各式欄位資料的技巧
Video Installation
JavaScript Tips
Programming Paradigm: Funcational Programming (closures, first class functions, lambdas) Prototypal Inheritance (prototypes, OLOO)
Photo Gallery
與 Carousel, Slider, Popup Window 有關的模組與技巧
AutoComplete Widget
AutoCompleteWidget 常被用來處理通訊錄之類的選單,這類選單項目數量多,動態篩選才能提供更容易操作的介面。
Useful Variables
Versioning
啟用內容的版本管理功能後,可以查詢文件修改的歷史記錄,比對不同時期的內容差異。
Hosting
DNS, AWS, Azure, HTTPS Name-based virtual host 不支援 SSL功能?
AJAX Tips
通常是指客戶端的 JavaScript 特效功能,常見模組像是 jQuery 或 KSS 等。 https://dev.vast.com/jquery-popup-overlay/
Form
透過網頁選單或是檔案系統的程式碼,可以建立獨立執行的表單,常見的工具包括 PloneFormGen EasyForm 或是 z3c.form 函式庫等。
Page Hit or View Counting
http://www.cmexsolutions.com/blog/setting-a-plone-portal-property-portal_properties
Transmogrifier
內容型別的資料移植,通常有三種方式,一是將內容匯出成檔案再匯入,二是利用 JSON 資料來移植,三是利用 Funnelweb 來移植。 https://shapeshed.com/jq-json/
File Uploading and Handling
Image 和 File 檔案處理的相關功能,包括上傳、下載、線上顯示等。
Faceted Navigation
Facet 是視覺化的查詢工具,讓使用者容易地設定查詢條件,互動而即時地呈現查詢結果。
Django Tips
https://stackoverflow.com/questions/25394381/django-implementing-simple-vistor-log https://www.facebook.com/groups/pythontw/permalink/10160985074018438/ cache
HTML and URL Transforms
惡意標籤的過濾或網址轉換,包括內容的 Search Replace 功能。
Diazo Theme Engine
Plone 佈景主題的開發方式,傳統是以 Skin 為中心,新的方式則是利用 Diazo 工具,依照 HTML 和規則檔的設定值,動態產生佈景主題和內容,甚至可以建立數個 microsite 網站。
ZODB
Plone 預設使用 Zope Object Database (ZODB) 儲存內容資料和設定值,ZODB 屬於物件導向資料庫,支援交易和版本管理功能,能夠有效地管理 Python 物件,進階用法是利用分散式架構提昇延展性,或是介接傳統的 SQL 資料庫。
Backup and Restore
除了高成本的即時備援系統之外,結合本地端與遠端的工具,執行定期自動的備份和復原工作,則是常見的低成本系統管理方式。
Paster
Plone 使用一組稱為 Paste 的工具,協助開發人員建立網站專案。 paster 是 Paste 裡的小工具,常被用來建立網站專案的骨架程式碼。
Grok Framework
Grok 扮演 Zope 3 的 wrapper 角色,它簡化 component 註冊流程,提供存取 Zope 3 的 API 功能。從 Plone 3.3 開始,可以透過 five.grok 使用 Grok 功能。但從 Plone 5 開始,Grok 或 collective.fastview 不再是預設推薦的機制。
Content Type
Content Type 稱為「內容型別」,或以 Type 和「型別」簡稱之,它以表單形式模擬日常工作的流程。對程式員而言,它是內容管理系統的核心工具,善用內容型別的特性,能夠處理多數的實務工作。
Display / View Methods
每種型別可以擁有多種顯示方式,但都會有一種預設的顯示方式,在擁有一種以上的顯示方式時,具備權限的使用者可以從「顯示」下拉選單,指定想要的顯示方式,這種功能稱為 Dynamic View。
GenericSetup
GenericSetup 在 Plone 世界裡的縮寫是 GS,它是系統或擴充模組用來管理設定值的機制和工具,基本的管理方式包括 import 和 export 設定值的內容,比較不同版本的設定結果。 Stack overflow: profiles/default/actions.xml calling an adapter from url_expr
Acquire
設定工作流程權限時,會看到 Acquire permission settings? 的設定選項,勾選的話,除了特定目錄的設定值之外,還會沿用上層目錄的設定值。
Image Scaling
上傳大尺寸圖檔到 Plone 之後,它會主動建立 400x400 或 200x200 不同尺寸的縮圖備份,開發者可以視需求呼叫原圖或是想要的縮圖。
Web Framework
網站開發框架 (Web Framework) 目的是為了簡化開發過程的常見工作,包括提供 template、caching、security、database access、Object-Relational Mapping、URL mapping、AJAX、Web services 等。
External Method
Zope 提供 External Method 機制,用來透過網頁執行 Python 程式,並能處理檔案系統層面的資料。
Theme Resource
視覺設計工具及資源 ThemeForest 或 Bootstrap 樣版實例 Kaptastech.com
View Component
View 是 Plone 負責顯示功能或處理表單內容的元件機制,在功能上可以完整取代舊的 Skin Layer 機制,不過在 Plone 3 到 Plone 4 時期,View 和 Skin Layer 同時存在運行,在 Plone 5 之際預設已取消 Skin Layer。
Python Script
Web Services
API 設計方式主要有三種: REST, XML-RPC, SOAP 資料格式常見 JSON, XML。 The Web Services API for Plone (wsapi4plone) is a Zope 2 package that provides an XML-RPC Application Programming Interface (API) for the Plone.
Fields and Widgets
Fieldset https://github.com/plone/plone.formwidget.hcaptcha/issues/4 https://github.com/plone/plone.formwidget.hcaptcha/pull/5 Adding the adapter to supermodel.py allows adding the field [plone/plone.formwidget.hcaptcha] EasyForm requires field to provide IFromUnicode (Issue #4)
Security and Workflow
Plone 權限與工作流程緊密相關,牽涉的項目包括角色、群組、狀態等。
Vocabulary
分成 Static Vocabulary, Dynamic Source, Parameterised Source, Named Vocabulary 不同類型,系統透過 plone.app.vocabularies 提供常用的辭典集。 @vocabularies restapi endpoint for anonymous to access
Search, Query
Plone 的搜尋功能主要是由 portal_catalog 工具提供,它的機制包括索引、預設顯示的資料、辭彙表,並可以應用在參照資料上,建立 reference_catalog 之類的資料,達到雙向參照的效果。 https://github.com/zopefoundation/Products.ZCatalog/blob/master/src/Products/ZCatalog/tests/test_catalog.py#L607
Collection
依照使用者定義的條件,選集 (collection) 會產生搜尋結果的列表,並支援多種顯示方式。
Content Rules
Grid System
讓使用者透過拖拉方式就能自製表單,是 Plone 發展的長期目標,但短期之內先完成 Tile、Block 之類的基礎工具,藉由 collective.cover 這類簡化版本的模組讓人開始上手。
MicroSites
MicroSites 又稱為 SubSites,是指一個主網站內,有數個子網站。
Zope Component Architecture
通常簡稱為 ZCA,是 Zope 3 的架構基礎,Plone 3 開始採用。
Package Skeleton
mr.bob 是 Zope 和 Plone 建立程式碼骨架的工具程式,用來協助開發者管理專案目錄和初始程式碼,它取代了舊版 Paster 或 ZopeSkel 或 Templer 扮演的角色和功能。 Re: [plone/Products.CMFPlone] addPloneSite() causing error with plone.subrequest with old-style jsregistry.xml in Plone 5.0.5 (#1731) https://github.com/plone/Products.CMFPlone/issues/1731#issuecomment-462143355
Newsletter
電子報
Layers
Behaviors
Default behavior is static and only per content type
Cascading Style Sheets
介紹 CSS 控制技巧
Advanced Issues
Single Page App
網頁應用程式如果全部由 Client 載入執行,所有流程在單一網頁裡完成,稱為 SPA 或 One Page App。
Administration Management
Compatibility
Issues to be taken care of among Python, Zope and Plone.
Solr ElasticSearch
進階搜尋引擎功能,包括外部搜尋服務的整合。
DevOp
DevOp Container Docker Kubernetes
Robot Captcha
Redirect
內容網址的轉換或 Alias
Survey Poll
Rapido
rapido.plone 透過 Theming Tool 來快速客製化表單或小型程式,甚至搭配 Diazo 嵌入到需要的 Layout 位置。
Discussion
Control Panel
基本的管理設定,像是會員管理、模組管理、語系設定、佈景主題設定等。
Ubuntu Linux
Unix Utilities https://www.facebook.com/groups/pythontw/permalink/10160952703533438/ run as admin https://dotblogs.com.tw/swater111/2016/12/06/164005 poshgui powershell https://medium.com/@bajcmartinez/the-best-vs-code-extensions-for-python-developers-for-2021-748b2ce16eee
Default Content Types
plone.app.contenttypes
Actions
portal_actions
Resource Folders
Icon Image 之類的資源,在註冊之後,可透過 ++resource++my.pkg/my-icon.png 網址來存取,用來取代 Skin Layer 功能。
Resource Registry
Resource Registry 簡化 JavaScript 和 CSS 的開發和設定,讓 Plone 5 提供更符合 JavaScript 主流演化的路徑,也可透過網頁介面來執行設定和編譯的工作。
Web Mapping Tools
整理 OpenLayers, Leaflet, Mapbox 等的使用範例和技巧
Content Quality
One way is to set standards on all content about to be published
Browser Extensions
Data Analysis
Pandas, Numpy, Scientific Stack https://medium.com/@bratanic-tomaz/turn-a-harry-potter-book-into-a-knowledge-graph-ffc1c45afcc8 https://medium.com/@cran2367/17-rules-of-thumb-for-building-a-neural-network-93356f9930af https://www.learndatasci.com/tutorials/python-pandas-tutorial-complete-introduction-for-beginners/ https://medium.com/@hugojdolan/a-guide-to-pandas-and-matplotlib-for-data-exploration-56fad95f951c https://www.fastcompany.com/90334451/27-incredibly-useful-things-you-didnt-know-google-sheets-could-do
Sunburst Theme
Sunburst
Archetypes Migration
透過 @@atct_migrator 和 @@custom_migration 可以昇級 Archetypes 成為 Dexterity
Diazo Practice