我知道编辑这个网站吗?
the ImageJ2 platform本页介绍与 the ImageJ2 platform 相关的内容。点击徽标查看详情。

如何设置和填充更新站点

简介

本教程解释了如何设置一个网站来分发您的插件。它假设您的插件已正确安装在本地ImageJ2设置中。

基本原理

请参阅第 Distribution 页面,了解更新站点的好处以及它们如何适应插件开发。

创建托管更新站点

向其他用户提供宏、脚本和插件,让他们以最方便的方式保持最新状态的最简单方法是在托管于 LOCIsites.imagej.net 服务器上设置update site

There are some minimal Terms of Service for hosted update sites. See the Hosted Update Site Terms of Service for details.

请使用this thread on the Image.sc Forum请求新的更新站点和/或上传帐户。

您还可以要求:

  • 添加或删除特定用户对特定站点的上传者权限;
  • 重置您的上传帐户的密码。

要开始使用您的更新站点,在 ImageJ2 中,以 HelpUpdate 开始 Updater,然后单击 Manage Update Sites 按钮: Manage sites

指定您的网站

单击Add Unlisted Site按钮。 Add update site 1 使用上面获得的 hostedself-owned 网站的 URL 和上传用户名,在 URL 列中输入您网站的完整 URL,并在 主机 列中输入 webdav:<upload-username>。或者,您可以编辑本地昵称的名称列来标识您的站点。 Add update site 2

专用插件更新站点

强烈建议为社区可能感兴趣的每个插件设置专用的更新站点,而不是为许多插件设置一个更新站点。
这样的专用更新站点可以有一个更直观的名称。
给定的上传帐户可以拥有多个更新站点。要为您的用户帐户请求新的更新站点,请在论坛上发布您的请求(请参阅related post)或ImageJ Gitter

群组更新站点

除了hosted update sites之外,多人还可以共享更新站点。

要创建此类更新站点,请在 Image.sc Forumimagej Gitter channel 上发帖,请求在 sites.imagej.net 上创建站点,包括所需的站点名称,以及要授予组更新站点上传权限的上传用户。然后,管理员将创建站点框架并授予这些用户上传新站点的权限。

在您自己的服务器上添加更新站点

如果您有自己的服务器或具有 WebDAV、SFTP 或 SSH 访问权限的 Web 空间,您也可以在该 Web 空间中创建一个目录并将其初始化为更新站点。只需使用 HelpUpdate 调用更新程序,然后单击 Manage update sites 按钮: Mamed 3 现在按 Add 按钮,提供更新站点的昵称、网络空间的 URL 以及上传信息

上传信息取决于可用于上传的协议:

协议 主持人 主机上的目录
网络DAV webdav:, 或 *webdav:* .
SFTP *sftp:@* **
SSH *ssh:@* **
     

如果您想使用 SFTP/SSH 服务器,它必须有一个空的、公共 Web 可访问的文件夹,您打算在其中发布更新。 ImageJ 更新程序不会创建该空文件夹。

💡

A note about SSH and known_hosts: For ImageJ to connect to your server over SSH, you must have configured your SSH credentials as normal—i.e.: $HOME/.ssh/known_hosts must contain the host key, and optionally $HOME/.ssh/config may contain the host configuration/credentials. We recommend that the given host be specified in $HOME/.ssh/config and equipped with a private key.

Note that you need to connect with command-line ssh first, to record the finger-print of the host. It might be necessary to call ssh-keyscan test.imagej.net >> $HOME/.ssh/known_hosts to ensure the correctly formatted key appears in your configuration file. There is an issue with newer SSH servers offering host keys in ecdsa-sha2-nistp256 format, but the JSch library wanting them in ssh-rsa format instead. If you receive the error com.jcraft.jsch.JSchException: UnknownHostKey then you might be bitten by this discrepancy; try using the ssh-keyscan invocation above. If you still have trouble, please write to the Image.sc Forum to troubleshoot further.

示例: 假设您可以通过 SFTP 访问互联网上名为 imagej.example.org 的计算机,并假设您有一个用户帐户 myself,该帐户对通过 http://imagej.example.org/my-update-site/. 提供服务的该计算机上的路径 /var/www/my-update-site/ 具有写入权限,那么您需要添加的行可能如下所示:

名称 网址 主持人 主机上的目录
我的更新站点 http://imagej.example.org/my-update-site/ 我自己@imagej.example.org /var/www/我的更新站点/
       

如果更新站点尚未初始化(即,如果没有其他人初始化该站点),您将看到如下对话框:

How to setup a plugin distribution site 6a

只需单击确定,然后让更新程序上传一个空文件索引(它存储在文件db.xml.gz 中,在更新程序的文档中也称为数据库)。

将文件上传到您的更新站点

注意:您不能简单地将文件复制到您的网络空间;更新者会错过各种重要信息,从而拒绝接受该更新站点。您需要让更新程序处理文件上传。

启动updater并检查您的更新站点

首先,启动updater

How to setup a plugin distribution site 1

单击 Manage Update Sites 按钮并验证:

  • 您的更新站点已存在并已启用
  • 更新站点的 Host 列包含您的用户名,格式为:webdav:

例如: Personal update site 7 如果缺少此信息,请参阅Specifying your site。设置登录信息后,您可以Apply and Close Manage Update Sites 窗口。

准备要上传的文件

填充更新站点的一般原则是将感兴趣的文件添加到本地斐济安装,构建所需的工作状态,然后同步到远程更新站点。

请注意,根据文件类型,有一些关于这些文件的放置位置的准则:

  • .jar 库:用于其他库或插件使用的文件,但不直接存在,例如在 Plugins 菜单中,它们位于 jars 文件夹(或子文件夹)中。如果该文件是特定于平台的,则它位于 jars 文件夹的相应平台子目录中(例如 jars/win64)。
  • .jar 插件Plugins 菜单的新增内容属于 plugins 文件夹(或子文件夹)。不要忘记在名称中包含下划线 (_)!
  • .dll、.dylib 等…:本机库属于 lib 目录的特定于平台的子文件夹(例如 lib/win64)。
  • .ijm 宏:文件应位于 plugins 文件夹或其适当命名的子文件夹中。它们的父文件夹将成为 Plugins 菜单中的条目名称。
  • .py 脚本:它们可以位于 jars/Libscripts 文件夹(或任何子文件夹)中。

If you are uploading platform-specific files you will also need to edit the metadata!

在这些文件夹中,更新程序可能看不到它们,或者它们可能无法正确加载。

要在更新程序中查看您的插件或文件,请单击Advanced Mode按钮并设置视图选项:

  • 如果您从未上传过插件,请选择查看仅限本地的文件
  • 如果您要上传插件的新版本,请选择仅查看本地修改的文件

在此示例中,我们要上传的插件包含在 A_Jolly_Useful_Plugin.jar 中。

选择要上传的文件,在统计/操作列下单击,或右键单击(在 macOS 上,⌃ Ctrl +  Left Click)任何列中的上下文菜单,然后选择*上传到<更新站点名称>*。 Upload to update site

The Upload to <update site name> option is only available if you entered your upload credentials and no other changes are pending. This is to avoid potentially corrupting your ImageJ installation. If the Upload option is not available, select the View changes view and resolve any pending changes - e.g. by updating or reverting to Keep as-is.

编辑元数据

在高级模式下选择文件后,详细信息面板将变为可用。这允许手动编辑重要的元数据。 How to setup a plugin distribution site 15

The Details panel can only be edited if you have entered upload credentials for the appropriate update site. After modifying the Details panel you can mark the jar for upload, even though the jar contents itself has not changed.

平台特定文件

更新站点中的某些文件可能仅适用于特定平台(例如 Mac、Windows、Linux):例如,dlldylib 文件。在这种情况下,Platform 字段可以用作“分类器”,这样更新程序将仅在其平台值与 ImageJ 运行的当前平台匹配时下载给定文件。这允许您将所有平台的特定于平台的二进制文件上传到单个更新站点。 Change platform 请注意,该字段必须具有以下值之一:

  • macOS
  • WIN32
  • 赢64位
  • linux32
  • linux64

Platform values other than those in this list will cause your file to never be matched, so it will not show up for any follower of your update site.

修改依赖关系

插件的依赖项,例如ij.jarsomeJarOrOther.jar 由更新程序自动确定。因此,如果您的插件需要第 3 方包,您可以将它们放入 ImageJ 的 jars 文件夹中,更新程序会自动将它们上传到站点。

Sometimes the updater will mis-detect your dependencies. This may prevent you from uploading to your update site! If a dependency is wrong, you can manually add or delete dependencies from the Details tab to correct the problem. Please let us know when this happens so we can try to improve the updater

上传你的文件

最后,单击应用更改(上传)将您的插件上传到服务器并允许其他人访问它。如果您的依赖项不属于 ImageJ,更新程序会询问您是否也想上传该 jar。最后,系统将再次要求您提供登录凭据,并且文件将上传到服务器。

通过选择“[此处为您的站点名称]”站点视图选项的查看文件,检查您的插件现在是否已注册为 ImageJ 插件: Updaterfinalscreen 就是这样 - 你已经完成了。现在,任何想要您的插件副本的人只需通过您指定的 URL add your update site 到更新管理器,您的插件就会像标准 ImageJ 插件一样在其 ImageJ 安装中下载和更新。
为了获得更高的可见性和实用性,您可以要求将您的更新站点列在斐济更新程序中(请参阅下面的部分)。

从更新站点删除文件

有时,您的更新站点可能不再需要某些库或资源。请按照以下步骤删除不需要的文件。

卸载(本地)

ImageJ 更新站点本质上只是基本 ImageJ 发行版的更改/修改的记录。我们总是从本地安装填充更新站点,删除也不例外。第一步只是物理删除不需要的文件。

在更新程序的Advanced Mode视图中,您可以选择任何已安装的文件,并使用Uninstall按钮或下拉菜单条目来标记要删除的项目。然后,当您Apply Changes时,所选项目将从您的本地文件系统中删除。 Uninstall 这在功能上相当于从文件系统中手动删除这些文件;请在启动 ImageJ 应用程序之前随意执行此操作。

标记为过时(更新站点)

删除不需要的文件后,返回更新程序的Advanced Mode视图并找到已删除的文件。使用“仅查看已卸载的文件”视图选项可以在此处提供帮助 - 如果您的文件“未”显示在此视图上,则说明某些内容已关闭:仔细检查该文件在本地不存在。

当您找到已卸载的文件时,您可以单击其状态/操作并将其更改为标记为过时(xxxxx)。此选项应始终具有关联的更新站点名称;验证它是否与您要从中删除文件的更新站点匹配。 Markobsolete 将文件标记为过时会将其状态更改为 删除它,并将操作按钮更改为 Apply Changes (Upload)

上传更改

现在您可以继续上传,就像adding new files时那样。

这将在更新站点的元数据中记录删除情况,因此您可以随时验证将来发生的情况。

发布您的更新站点

如果您希望您的更新站点列在 ImageJ 更新管理器中,请按照本页的说明进行操作:list of update sites

进一步阅读

有关更新站点维护的常见主题的更多信息,请参阅update site FAQ

故障排除

如果您遇到任何问题,请let us know