扩展 Fresns

Fresns 虽小,五脏俱全。事实上 Fresns 自带的大多数功能,都以扩展的形式实现。

这使得 Fresns 具有高度的可定制性。用户可以随时禁用任何不需要的功能,或者安装其他扩展程序,打造完美的社区论坛或者其他形式的产品。

为了实现这种可扩展性,Fresns 已经构建了丰富的 API 和扩展点,你只要掌握一些编程知识,就可以利用这些 API 来添加几乎所有你想拥有的功能。

版本说明:

当前 Fresns 属于「开发者测试版」,已提供框架、API、开发者文档等资料。接下来我们会用两个月时间开发一个网站引擎,提供一个网页端模板规范标准,然后面向所有人推出「正式版」,时间预计在 10 月上旬。

我们提供的「模板引擎规范」仅供开发者参考,开发者可以不遵守规范,完全根据自己的意愿开发网站前端,相当于自己独立发展前端。独立发展前端也能和其他插件兼容,并且不影响主程序同步升级,不会因为前端分叉了就脱离了主程序轨道,所以请开发者放心遵循自己的业务场景开发。

结构介绍

Fresns 主程序不会拥有所有功能。她更像是一个脚手架、一个框架,为扩展程序打好坚固可靠的基础,只含有身为社区不可或缺的基本 API 功能,比如帖子、评论、用户、用户角色和通知等。

内置扩展又称原生扩展,是与主程序打包到一块、默认启用的。它们和其他扩展一样,可以被禁用或卸载。我们的想法是使其具有良好的通用性、可配置性,以满足大多数人的需求,因此,内置扩展无法满足一切使用需求。

第三方扩展由他人开发,Fresns 团队也不会提供官方支持。他们大多用于解决特定的需求。

如果你想要解决核心或现有内置扩展的 Bug 或功能缺陷,我们建议你直接为对应的项目贡献代码,这要比分散精力去开发一个新的第三方扩展更合适一些。你可以在 Fresns 社区open in new window发帖与 Fresns 开发者交流有关事宜。

扩展类型

控制面板:管理主程序功能和用户内容的后台,分别有集成模式和独立部署模式。独立部署模式等于一个独立网站或 App 或微信小程序,独立运行在主程序之外,通过 API 对主程序数据库进行操作,所以独立部署的控制面板,通常需要配套安装一套管理功能 API 扩展插件。

网站引擎:基于主程序 API 开发的网站功能,分别有集成引擎和独立引擎。独立引擎等于一个独立网站,独立部署和运行在主程序之外,等同于移动应用(App),通过独立部署,可以实现一套数据在不同功能形式上运行,实现差异化运营的目的。

主题模板:依附在网站引擎的前端界面,根据所选引擎的模板标准开发的 UE&UI 界面。

移动应用:基于主程序 API 开发的移动在外的应用程序,可以是独立网站、App、微信小程序、快应用等各类形式。如果主程序 API 不满足需求,可以安装或开发扩展插件来新增 API,或者管理移动应用的相当配置,所以移动应用可能会开发一个插件,安装在控制台“移动应用”频道,用于增强移动端功能和管理。

功能插件:增强并丰富主程序功能的扩展,例如扩展一个频道、自定义注册流程或编辑器、增强管理功能、内容安全检查等等。

安装说明

  • 为了安全性和延伸性的考虑,无论是插件、引擎、主题,全部采用统一安装流程;
  • 通过主程序根目录 /extensions/ 文件夹进行安装前预备目录;
  • 安装过程中,主程序会对文件的安全和规范进行扫描;
  • 确认无误后,会将信息入库并分发文件到对应的执行位置。

本地安装

  • 将安装文件放置在主程序根目录 /extensions/ 文件夹中,然后在主程序控制台输入「文件夹名」执行安装。

远程安装

  • 在后端控制台输入“安装码”,主程序会从 Fresns 应用商店下载安装包并解压到 /extensions/ 文件夹中,然后再执行安装。