Skip to content

DesignDocNPLPackageManager

Li, Xizhi edited this page Sep 21, 2016 · 6 revisions

NPLPackageManager文档

NPLPackage Manager 包含一个本地网站(NPL Code Wiki)和官方网站(wikicraft.cn)。

  • NPL Code Wiki 是未来NPLRuntime的启动界面
    • 未来运行npl 无参数localhost:8099下会默认启动NPL Code Wiki提供除了命令行之外用图形化的方式新建,管理NPL项目的方法。
  • http://wikicraft.cn是未来我们产品的主要入口官网。Paracraft的用户和NPL开发者都会注册为会员,拥有自己的作品网站。

NPLPackage Manager的功能类似https://www.npmjs.com/或其他语言的包管理或插件管理平台,例如visual studio gallery。 由于NPL/Paracraft内置了NPL Code Wiki服务器,所以我们可以做到在官网上,只要NPL/Paracraft Server在运行, 通过JS访问localhost:8099的API,一键安装或更新指定的插件到NPL或Paracraft所在目录。 如果NPL/Paracraft没有运行, 我们只需提示用户运行即可。 一般来说用户是先启动了Paracraft或NPL, 再从NPL Code Wiki跳转到官网的NPLPackageManager首页的。

目前在Paracraft中, 我们是通过这个WIKI页面,让用户下载插件的, 十分不方便,见下图。 image

需求

  • 创建NPLPackageManager首页: 显示所有插件,并可以统计下载次数和点赞次数(可查看最近点赞的1000人)。
    • 插件分为两类, 有不同的URL: 一类是纯NPL package插件, 类似npl_package main. 一类是paracraft mod插件。 两者只是分类和安装到的路径不同
  • 查看插件内容: 查看基本信息。 我们不提供插件的存储, 开发者需要自己提供安装下载URL,和图片URL。例如https://github.com/LiXizhi/STLExporter/archive/master.zip
  • 上传页面: 任何人都可以上传插件
  • 插件安装: 支持手工下载,以及一键安装。一键安装需要用户在localhost:8099运行NPL Code WIKI。 插件URL通过Rest API发给localhost:8099上的页面去下载和安装。
  • 管理页面: 管理员可以将某些插件标记为官方推荐

参考

https://www.npmjs.com/ image

UI设计文档

制作下面的页面

localhost:8099/npl_packages

列出本地已经安装的NPL Packages, 当前的Packages目录, 以及安装新Package的按钮。 点击在线安装新Package可以直接访问官网的Rest API,拉数据显示,或者跳转到http://wikicraft.cn/wiki/npl_packages

类似下面是visual studio 本地的插件管理窗口, 可以在没有互联网的情况下访问: image

https://visualstudiogallery.msdn.microsoft.com/是它的插件官网, 也可以从上面安装: image

官方插件管理http://wikicraft.cn/wiki/npl_packages

这里需要优美的展现各种npl_packages和Paracraft Mod (分开两个页面). 这个页面是面向最终用户的。

官方插件Rest API http://wikicraft.cn/api/wiki/models/npl_packages/get

获取插件列表。

本地安装Rest API http://127.0.0.1:8099/ajax/npl_packages?action=install&url=...

可在当前Packages目录安装指定插件

Clone this wiki locally