以下zblog應用中心審核規范是官方wiki里提供的,如果你真的要成為一個開發者,不管是模板、插件開發者最好把下面文字大概看一下,然后去zblog論壇發布主題和插件,再獲得審核,即可成為正式開發者,然后會被邀請入群,加入開發者QQ群,即可得到其它所想知道的開發者信息!
注意
在應用中心上傳應用,均需遵守此規范。規范如有改變,會通過郵件等方式通知開發者。
違反以下規范,視情節輕重可能有以下處罰:
拒絕上架應用,或下架已上架應用;
在Z-Blog官方網站各處通報;
降低開發者權限;
關閉開發者收費應用發布權限;
封禁開發者,并下架所有應用。
并非完全滿足以下標準即可保證上架,當遇到收到版權投訴等特殊情況時,不能保證上架。
制定標準
保證應用的可用性與兼容性;
大部分情況下,保證剛會使用 Z-Blog 的初級用戶可方便的使用;
大部分情況下,保證不會網站制作、圖片制作的用戶可方便的使用。
應用強制認證標準
違反以下規則之一,完全不可上架到應用中心。
不涉及編碼轉換等情況必須使用UTF-8編碼,并確保文件不帶BOM頭;
沒有安全漏洞(包括SQL注入、跨站腳本攻擊、跨站請求偽造等);
不存在主觀故意可能給用戶造成損失的惡意代碼;
在用戶未明確知悉的情況下,嚴禁對其它應用進行任何的干擾或修改,除非該應用自行提供了公共接口;
不含有.DS_Store、thumbs.db、_notes、.idea等無用文件或文件夾,不含有隱藏文件。
非應用本身功能所必須的第三方接口本身不再能使用等情況,不得在任何情況下干擾用戶的正常使用;
主題
必須引用c_html_js_add.asp或php。
帶有Z-Blog版權標識(允許使用文本、圖片、JavaScript等,但需要能讓用戶感知)。
指定頁面編碼為UTF-8(<meta charset>)。
標題等長度過長不會導致變形。
類似網站Logo等每個站點都不同的配置項,必須提供插件以便用戶進行配置,或是利用系統的側欄進行管理。
滿足對應平臺的應用認證標準。
PHP應用
移除了所有的UTF-8 BOM頭;
文件名大小寫正確,無404頁面;
在主流的操作系統(Windows 2003 SP2 / 2008r2 / 2012、Ubuntu 12.04 LTS / 14.04 LTS、CentOS 5 / 6 / 7)和服務器軟件(IIS 6 - 10、Apache 2、nginx 1.4 - 1.12、Kangle 3)下可正常運行。
在應用支持的最低版本以上的PHP版本均可正常運行。
權限判斷
管理頁面等使用$zbp->CheckRights,而不是$zbp->User->Level來判斷權限。
數據庫
必須使用$zbp->db->xxx執行SQL語句;
涉及到表的時候必須用$table調用;
建表必須在$datainfo和$table內注冊;
不使用$zbp->db->sql而自行拼接SQL語句,需同時支持MySQL和SQLite數據庫;
不對系統的數據表的結構作任何修改。
不得使用MySQL的ORDER BY rand()
ASP應用
需要在Windows 2003 SP2及以上版本、IIS 6.0及以上版本可正常運行。
ASP主題要求
非特殊情況,必須使用側欄管理標簽(<#template:sidebarX#>)。
統計必須調用AddViewCount和LoadViewCount函數。
b_article-single.html 必須包括統計代碼(可隱藏)。
命名標準
在include.asp內include的其它文件,所有的全局變量、函數、類等,全部以“插件ID_XXX”或“XXX_插件ID”命名;
如需創建數據表,必須以blog_plugin_插件ID為開頭命名表;
如需使用配置類,配置名必須以插件ID開頭。
如需使用Meta存儲附加數據,字段名必須以插件ID開頭。
數據庫
對系統數據庫操作時,SQL語句必須同時支持Access(*.mdb)和SQL Server 2000。
允許針對SQL Server開發更多的擴展功能,但是必須做好版本判斷,保證在不受支持的SQL Server版本下不使用新版本特性。
非強制認證標準
非強制代表不建議違反,并且被查出也會有拒絕上架的可能,但如有必要可解釋說明及報備后違反。
Microsoft Edge(Windows 10 10586以上)、Firefox 40+、Chrome 45+、Safari in OS X 10.10+瀏覽器下不錯位,可正常使用所有功能;
Internet Explorer 11、Firefox 30+、Chrome 31+瀏覽器下不錯位,隱藏不可正常使用的功能;
不改動任何的系統文件和語言文件,不對非應用本身創建的文件進行任何修改;
ASP及PHP代碼不得經過任何形式的對可讀性造成影響的加密、混淆;
JavaScript在提供混淆版本的同時需在同一目錄提供Source Map或未混淆版本;
原則上不得利用任何方式引用外站任何資源,引用需要在應用中心頁面寫明引用了哪些資源;
在Chrome最新Stable版本打開Developer Tool,在Console不顯示任何Error;
主題
除非主題需要兼容低版本Internet Explorer,否則不要引用html5shim等為低版本瀏覽器提供支持的腳本;
解決W3C認證時發現的以下問題:
Stray end tag(未閉合標簽)
Duplicate (something)(重復的ID、屬性等)
Element (someElement) is missing a required instance of child element (someElement)(缺少子元素)
No element (someElement) in scope but another end tag seen(發現多余的閉合標簽)
Z-BlogPHP 1.5以下需要遵守標準
非特殊要求,勿自帶jQuery(系統自帶1.8.3)。
Z-BlogPHP 1.5以上需要遵守標準
使用zblogphp.js,棄用common.js。
響應式主題
保證Android 4.4及以上版本默認瀏覽器、iOS 9.0及以上版本Safari、Windows 10 Mobile Build 10586及以上版本Microsoft Edge出現兼容性問題,可正常使用全部功能。
保證以下設備對應的分辨率可正常瀏覽:
iPad Air;
iPad Mini;
iPhone 5;
Samsung Galaxy S4;
Lumia 1520。
命名標準
在include.php內require或include的任何PHP文件內,所有的全局常量、變量、函數、類等,原則上全部以“應用ID_XXX”或“XXX_應用ID”命名;
如需創建數據表,原則上必須以%pre%plugin_應用ID為開頭命名表;
如需使用配置類,原則上配置名必須以應用ID開頭;
如需使用Meta存儲附加數據,原則上字段名必須以應用ID開頭;
如同一開發者欲在自己的應用下使用公用配置,需向Z-Blog官方報備后方可使用。
數據庫
必須使用$zbp->db->xxx執行SQL語句;
涉及到表的時候必須用$table調用;
建表必須在$datainfo和$table內注冊;
不使用$zbp->db->sql而自行拼接SQL語句,需同時支持MySQL和SQLite數據庫;
不對系統的數據表的結構作任何修改。
不得使用MySQL的ORDER BY rand()
收費應用要求
開發者需在3個工作日內,對用戶的詢問進行處理,已向官方報備并在應用詳情頁面明確告知的除外。
如涉及取消用戶授權等直接影響正常使用的問題,直接交由Z-Blog官方,不得私自處理。
應用本身必須提供完備的配置項,功能不可過于簡單。
優先審核標準
原創主題;
響應式主題;
HTML標簽已經語義化的主題;
W3C驗證首頁和文章頁無任何提示的主題;
使用語言標簽的主題;
應用上架自檢
- AppChecker是Z-Blog應用中心上架檢測工具。開發者在發布應用至Z-Blog應用中心前,應自查所開發的應用是否符合以上規范,并使用AppChecker工具自檢無誤后再發布。