Elabftw5.2用户使用指南
elabftw作为一款免费开源的电子实验记录系统和实验室管理系统受到越来越多的科研工作者和初创企业的关注,但是由于网络的原因,国内很难访问其官方指南和及时更新,在此将最新版官方指南进行了翻译,也在文末附上视频教程,希望能帮到使用此系统的朋友。同时作为一款免费开源的软件,其安装部署以及数据冗余备份还是有一定门槛和需要耗费一定精力,砺锋汇智在此可以提供协助,让对科研数据有较高要求的朋友可以以较低成本实现数据合规、数据完整性、数据安全和资源管理。有兴趣的可以通过以下链接注册免费试用3个月以了解或者完整体验该系统(如需完整体验请联系管理员开通团队管理员账号)。
简介
eLabFTW 中主要有两种类型的条目:实验和资源。实验由特定用户拥有,而资源则属于某个团队。
尽管相似,但它们在以下方面有所不同:
可以使用调度程序预订资源,但不能预订实验
用户可以创建实验模板,但不能创建资源模板
只有管理员可以创建资源模板
资源和实验都可以包含标签和链接,以及类别和状态。创建和编辑实验条目的许多选项与资源条目的选项相同。
实验
实验条目是 eLabFTW 实验笔记的核心。从页面顶部的菜单栏中选择“实验”,即可显示实验条目列表。
您可以通过单击列出的第一个实验右上角的布局按钮来更改页面布局:
布局按钮
要使条目显示如下内容:
替代布局
默认情况下,该页面会显示您创建的实验以及您团队中其他用户创建的实验。如果您只想查看自己的实验,请点击右侧按钮,使用下拉菜单更改实验范围 :
将范围设置为“ 自身 ”即可仅显示您创建的实验。请注意,“资源”或“模板”页面也允许您使用范围按钮筛选条目,并且系统会记住您的选择。
您可以通过点击屏幕右上角的 “创建” 按钮来创建实验。您可以选择现有的实验模板或使用空白模板。然后,您将看到一个新的实验条目。实验条目有两种不同的模式:“编辑”和“查看”。默认情况下,创建的实验将显示在“编辑”模式下(您可以在 URL 中看到“mode=edit”)。
实验条目可以包含许多不同类型的信息,例如:
标题
ID 和自定义 ID 号码
A 类
A Status 状态
Tags 标签
正文,可以包含图像、表格和链接
步骤
额外字段
其他实验或资源的链接
附件
工具栏
对于实验和资源条目,页面顶部显示一个工具栏,其中包含几个可用的操作,如下所述。
1. 返回
返回索引页。
2. 模式
在“编辑”模式和“查看”模式之间切换。
3. 重复条目
创建一个具有相同标题、标签、文本和链接的新条目,但日期为当天,状态设置为“运行”。系统会弹出一条消息,询问您是否要将附件复制到重复的条目中。标题后会添加一个“I”字符,以表明该条目为重复条目。
4. 时间戳
点击此按钮后,将创建一个时间戳存档。这是一份已签名且具有法律约束力的条目快照,它将与附件一起存储在一个不可变的存档中。为条目添加时间戳需要生成该条目的完整 JSON 导出文件,并创建该数据的加密哈希值。之后,该哈希值将被发送给受信任的第三方:时间戳授权机构 (TSA)。
TSA 确认数据存在,并返回一个签名令牌,作为数据在特定时间存在的证明。此过程遵循 RFC 3161 可信时间戳标准。
带时间戳的数据和相应的令牌随后会以 zip 文件的形式保存在条目的“附件”部分。该文件初始状态为“已存档”,默认情况下处于隐藏状态。要查看已存档文件,请在编辑模式下点击“已上传文件”部分右侧的“显示已存档”按钮:
此时间戳档案是不可变的,不能被修改或删除。
5. 区块链时间戳
此按钮将执行与时间戳相同的操作,但它将使用区块链技术和 Bloxberg 联盟提供的服务。您可以在此处了解更多信息: Bloxberg 网站 。
6. 导出按钮
导出菜单允许您以不同的文件格式保存条目。
ELN 格式是一种基于 RO-Crate 规范的新文件格式。它包含一个特殊的文件(JSON-LD 格式),用于描述数据集(一个或多个实验)的内容。该格式由 ELN 联盟 (ELN Consortium) 设计和推广,该联盟由多家 ELN 供应商组成,就数据集的导出/导入交换格式达成了一致。更多信息,请访问: GitHub 上的 TheELNConsortium 。
7. 置顶
点击此图标将使该条目显示在主页列表顶部(固定条目)。使用此功能可以轻松访问常用条目。
8. 锁定/解锁条目
使用此选项可锁定条目并阻止进一步编辑。只有管理员或锁定实验的用户才能解锁。
9. 省略号菜单
转移所有权:对于您创建的条目,您可以将所有权转移给其他用户
查看修订:查看条目正文的修订
查看变更日志:查看条目的变更日志
存档/取消存档:存档会从默认列表中删除条目,并将其添加到已存档条目列表中
删除条目:对条目执行软删除
日期(开始日期)
日期默认设置为今天的日期。您可以根据需要进行编辑。有效创建时间戳存储在后端数据库的另一个(只读)属性中。
ID
此属性不可编辑,且对应于条目的唯一(对于该实例)不可变 ID。
自定义 ID
选择类别后,此属性(默认为 null
)可设置为数字。当创建该类别的新实验时,自定义 ID 编号将以递增的方式自动分配。您也可以点击“获取下一个”按钮,获取该类别条目的下一个可用自定义 ID。自定义 ID 显示在标题之前。
标题
这是实验的标题。重复的实验创建后,标题后会附加一个“I”字符。
类别
您可以为每个实验分配一个“类别”。只有管理员可以定义可供您的团队使用的类别。类别可以对应于项目、实验类型以及其他用于对实验条目进行分组的策略。您可以在实验主页面按类别轻松浏览实验组。
状态
此功能允许您设置实验的“状态”。默认状态选项如下:
Running 进行中
Needs to be redone 需要重做
Success 成功
Fail 失败
管理员可以通过管理面板修改这些状态选项。
标签
标签允许用户轻松地对实验条目进行分组和排序。您可以将它们视为文件夹,但它们的功能更强大,因为每个实验可以拥有许多不同的标签。因此,标签系统可以实现高效的交叉搜索。您可以通过点击标签或在标签搜索栏中搜索,列出所有带有指定标签的实验。要为实验条目添加标签,请在标签输入字段中输入标签名称,然后按 Enter 键或点击输入字段外的任意位置。您可以添加无限数量的标签。点击现有标签将启动提示,允许您在编辑模式下将其移除。标签对每个团队都是通用的。自动完成功能有利于重复使用现有标签。
权限
“可见性”和“可写入”菜单允许您控制谁可以访问和更改特定条目。点击 “编辑” 按钮可查看、添加或删除权限。
正文
您可以在此自由描述实验设置、步骤、结果以及任何其他您希望包含的研究信息。在这个富文本编辑器中,您可以添加具有各种格式选项的文本、创建表格以及添加图像、链接等。
插入图片
要在正文中插入图片,只需将其拖放到文本编辑器中即可。您也可以通过点击“附件”部分(右上角三个垂直点)中文件图标上的省略号菜单,然后选择“在光标位置插入文本”来插入已上传的图片。
插入模板
在文本编辑器的“插入”菜单中,您可以选择“插入模板”,从现有的实验模板导入文本编辑器的内容。这样您就可以合并多个模板的内容。
使用 Markdown
您还可以使用 Markdown 创建正文。点击主文本框右下角的“切换编辑器”按钮即可切换到 Markdown。如果您想将 Markdown 设为默认选项,请前往“设置”并选择“禁用富文本编辑器并直接使用 Markdown 编写”。
表格
如果将表格添加到文本编辑器,您可能需要动态地对其中包含的数据进行排序。别担心,eLabFTW 可以满足您的需求。当定义了“标题单元格” 并将表格设置为可排序时,排序图标会在“查看”模式下显示。表格的顶行应该有列名。您可以通过将光标放在最左边的单元格上并单击鼠标左键来选择顶行,在按住鼠标按钮的同时,将光标移动到最右边的单元格。松开鼠标按钮。现在顶行应该突出显示。接下来,从文本编辑器菜单中选择«表格»→«单元格»→«单元格属性»。在对话框中,将«单元格类型»从«单元格»( <td>
) 更改为«标题单元格»( <th>
)。最后,您可以通过单击工具栏中的«可排序表格»图标( ) 来激活排序。该图标还将指示所选表格是否可排序。保存更改后(请参阅“保存更改”),您可以进入“查看”模式并对表格进行动态排序。更改后的顺序不会存储在 eLabFTW 中。不支持在顶行/标题行(colspan)和列(rowspan)中合并单元格。
使用 LaTeX
可以在 eLabFTW 中表达数学/化学符号,并且公式在“查看”模式和 pdf 导出中均呈现。
为此,eLabFTW 使用带有 ams 扩展的 Mathjax。
尝试一下(确保它没有粘贴在 <pre> 标签之间!):
$$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$
使用一个 $ 表示内联模式,使用 $$ 表示块模式。
其它
您可以在文本编辑器中使用基本的文本编辑器快捷方式和代码片段来添加突出显示、特殊字符、水平线等……
For a list of text shortcuts see this link: https://www.tiny.cloud/docs/tinymce/latest/keyboard-shortcuts/
有关文本快捷键的列表,请参阅此链接: https://www.tiny.cloud/docs/tinymce/latest/keyboard-shortcuts/
Examples: 例子: ctrl+shift+d : add date/time at cursor
ctrl+shift+d :在光标处添加日期/时间
ctrl+= : subscript ctrl+= :下标
ctrl+shift+= : superscript
ctrl+shift+= :上标
步骤
您可以使用步骤列出与给定实验或资源相关的需要采取的操作。任务完成后,您可以点击相应的复选框来指示该步骤已完成。每个实验或资源的“下一步”将显示在主实验或资源页面(索引列表)中该条目的标题下方。这让您可以轻松查看每个条目的下一步。您也可以点击主页左上角的“待办事项列表”图标来查看实验和资源的下一步。
您还可以在制作模板时包含步骤。
链接资源/实验
您可以将一个资源或实验条目链接到另一个实验或资源条目。只需在文本编辑器、“链接资源”字段或“链接实验”字段中输入要链接的条目名称,就会出现一个自动完成列表。选择要链接的条目,然后按 Enter 键。如果您从文本编辑器链接条目,它将自动添加到“链接实验/资源”部分。链接数量不受限制。
此功能可用于查看与给定条目关联的资源或实验。例如,您可以通过查看该资源条目中的“关联实验”部分来查看使用特定资源的所有实验。
您还可以使用此功能按项目组织条目,类似于文件夹。例如,您可以为给定项目创建一个资源条目,并链接与该项目相关的所有实验和资源。
附加文件
点击此区域即可打开文件浏览器,或将文件拖放到此区域即可将其添加到条目中。文件大小限制取决于服务器配置,但文件类型不受限制。如果您上传图片,则会创建缩略图。您可以附加到实验的文件数量不受限制。
eLabFTW 可以识别多种文件类型:
分子文件,如 cif、pdb、sdf 和 mol 文件:生成的图标将以 2D 或 3D 形式显示分子
DNA 文件,例如 FASTA、gb、ape、dna 和 gff:这些文件将通过功能齐全的查看器显示
png、jpg、gif 和 tiff 等图像文件:这些文件将显示为缩略图图标
pdf 文件:这些文件显示为缩略图图标,可以选择包含在 pdf 导出中
保存更改
要保存对文本编辑器所做的更改,请点击编辑器左上角的软盘图标,或其下方的“保存”按钮。文本编辑器中的更改会在用户停止输入 7 秒后自动保存。
对任何其他字段所做的更改都会自动保存,或者在您点击字段外部时保存。屏幕左上角将显示“已保存”横幅,表示保存成功。
elabid
在实验的右下角,你会看到类似这样的信息:“Unique elabid: 20150526-e72646c3ecf59b4f72147a52707629150bca0f91”。此编号对于每个实验都是唯一的,并且不可更改(永远不会改变)。你可以使用它来引用包含外部数据库的实验。
评论
人们可以在实验中发表评论。并非所有人都可以编辑您的实验,但他们可以发表评论。如果有人评论了实验,实验的所有者将收到一封电子邮件。
模板
为了节省创建实验的时间,eLabFTW 提供了实验模板系统。
建议为经常进行的实验创建模板。您可以将模板视为真实实验的框架。要创建模板,请从“用户”菜单中选择“模板”。
然后,点击“创建”按钮,输入标题,开始编辑模板。满意后,点击“保存”。如您所见,您可以对模板本身以及将基于该模板创建的实验拥有不同的权限。
默认情况下,模板处于“固定”状态,这意味着当您点击“创建”时,它会出现在弹出窗口中,并且还会出现在“实验”页面中“创建”按钮旁边的菜单中。如果您不希望此模板出现在此菜单中,可以点击图钉图标切换其固定状态:
与实验或资源一样,使用范围按钮选择您希望列出的内容:仅您自己的模板( 自我 )或更多。
资源
资源与实验类似,但用途不同:列出和组织实验中使用的东西 。
资源条目上的许多选项与实验条目上的选项相同。
只有团队管理员可以在管理面板中定义资源类别。资源类别包括:
Antibodies 抗体
Microscopes 显微镜
Plasmids 质粒
Drugs 药物
Chemicals 化学品
Equipment 设备
Projects 项目
资源的默认权限允许团队中的任何人编辑它们,但您可以自由地对其进行不同的配置。
查看导入数据部分,了解如何从电子表格文件或通过 API 导入资源。
一旦您的资源存在,您就可以通过输入 #
和它们的标题并选择建议的自动完成功能在实验中提及它们,或者直接使用链接系统将它们链接到实验。
此外,资源可以进行预订,请参阅下面的部分。
预订资源
可以使用团队页面第一个选项卡上的调度程序(日历)来预订资源。
使资源可预订
要预订资源,它必须处于可预订状态(默认情况下不可预订)。为此,请转到该资源,然后点击右上角菜单中带有三个垂直点的“修改预订参数”:
这将显示一个具有各种设置的模式窗口:
设置说明
调整权限
当资源可预订时,会出现一个新的权限:“可以预订”:
默认情况下,它将匹配谁可以读取该条目,但可以进行调整以微调谁有权访问此资源并进行预订。
使用调度程序
全部设置完成后,用户可以点击工具栏中的“预订项目”按钮,或者从调度程序页面中选择它,然后点击日历来拖动预订时段。
单击现有插槽将显示一个模式窗口,允许多个选项,例如将插槽绑定到实验或其他资源,或取消预订,无论是否向用户发送通知。
注:“过去和未来预订此资源的用户”是指过去两个月内预订该资源的所有用户以及未来一个月预订该资源的用户。
化合物
所有团队的所有用户都可以访问化合物数据库,它是实例的公共数据库,存储所有现有化合物的引用。请注意,可见性无法更改。所有有权访问实例的用户始终可以看到化合物。您可以从“工具”菜单访问它。
共享化合物数据库
化合物具有特定属性,例如 CAS 编号或 SMILES/InChI 编码。它们也可能与安全风险相关。一旦化合物出现在本地 eLabFTW 数据库中,即可从实验或资源中引用(链接)。
从 PubChem 导入化合物
您可以从 PubChem 导入化合物。在“化合物”页面中,点击“从 PubChem 导入”按钮,您将看到一个模态窗口:
从 PubChem 导入化合物
您可以指定 PubChem CID(PubChem 中所有化合物的唯一标识符)或 CAS 编号(大多数化合物的唯一标识符)。输入编号(CID 或 CAS),然后点击“搜索”。数据预览将显示在下方。如果化合物信息正确,请点击“导入”。
您新导入的化合物现在显示在列表中。双击该化合物即可进一步编辑其属性。
编辑化合物的属性
在此窗口中,您可以编辑化合物的所有属性。只有“名称”是必填字段,其他所有字段均为选填。
安全部分允许您定义与该化合物相关的健康危害,以及它是否是受控物质,例如药物前体或纳米材料。
编辑化合物的安全信息
现在您的化合物已正确创建,您可以点击此模态窗口顶部的“从化合物创建资源”按钮,创建与该化合物关联的资源。该资源可以看作是存在于此通用共享化合物数据库中的该抽象化合物的实例。
使用资源,您可以设置权限,还可以添加更多信息、附加文件、定义库存以及链接到其他资源或实验。
资源(或实验)可以链接到一个或多个现有的化合物,这允许您创建代表化合物混合物的资源。
手动创建化合物
也许您刚刚创建了一个从未见过的化合物,这意味着您无法从 PubChem 导入它。在这种情况下,请点击“添加化合物”按钮手动添加化合物。请注意,如上所述,新化合物将对实例的所有用户可见。如果您想保密,请不要添加它。
指纹
当您添加定义了 SMILES 表示的化合物时,并且如果实例配置为使用指纹识别服务,则该化合物的指纹将存储在数据库中,从而允许搜索子结构。
化学结构编辑器
自 5.2 版本起,工具菜单中新增化学结构编辑器。它允许用户绘制分子并对其进行操作,例如通过子结构搜索在化合物数据库中搜索相似分子。此功能要求公共数据库中的化合物与指纹相关联,如果指纹识别服务处于活动状态,并且化合物具有定义的 SMILES 表示,则需要与指纹相关联。
使用编辑器绘制、导入或导出分子
OpenCloning
自 5.2 版本起,eLabFTW 集成了由 Manuel Lera Ramirez 开发的工具 OpenCloning。
OpenCloning 在 eLabFTW 内部运行
更完整的文档终究会在某个地方、某个时间出现。现在,你只能靠自己了!;)
设置页面
您可以在“设置”页面调整帐户偏好设置。您可以从右上角的用户菜单中选择“设置”来访问该页面。
常规选项卡
从这里您可以选择一种语言,调整显示设置,更改键盘快捷键,修改 PDF 设置,选择不同的文本编辑器并设置默认权限设置。
账户标签
此页面允许您修改您的电子邮件/密码、激活多因素身份验证以及更改您的姓名或添加您的 ORCID (如果有)。
什么是双因素身份验证?
多因素身份验证 (MFA)(或双因素身份验证 (2FA))是一种进一步保护您账户的机制。使用密码登录后,您需要输入一个每 30 秒更新一次的 6 位验证码。此验证码将通过您手机上的一个特殊应用程序显示。如果您从未使用过此机制,则需要先在手机上安装一个 2FA 应用程序。
如果您已经有 2FA 应用程序,eLabFTW 可以与其配合使用:您无需安装其他应用程序。
安装此应用程序后,在 eLabFTW 页面上,对“使用双重身份验证?”选择“是”,然后点击“保存”。然后,您将看到一个二维码,使用手机上的应用程序扫描并输入二维码。就这样,您的帐户现在已通过多重身份验证保护。
注意 :强烈建议尽可能启用 2FA。
API 密钥选项卡
从此页面为您的帐户创建 API 密钥。API 密钥相当于您帐户的用户名+密码。它允许您通过 REST API 以编程方式与 eLabFTW 进行交互。请参阅 API 文档 。
如何将实验分组到项目中?
有几种选择:
使用类别进行实验:它们由管理员定义并且对团队来说是通用的。
使用标签/收藏标签:用户或管理员定义,取决于团队设置(默认情况下用户可以创建新标签)。
使用“项目”类别的资源和链接系统将实验链接到该项目。
使用链接系统直接将实验链接在一起。
首先,尝试超越分层文件夹的嵌套树状结构。
假设你有一个实验:
关于“蛋白质 MR73”
使用“Western blot”
外部合作
使用“HEK 细胞”
如果该实验是一个文件,您可能想将其存储在“Collaborations > Western Blot > MR73”中。或者“Project MR73 > Collaborations > HEK”?
但是,如果你有另一个实验也使用 HEK 细胞,但与之前的实验没有任何共同之处,该怎么办?你该如何查找所有使用 HEK 的实验?以及所有与 MR73 相关且涉及 Western Blot 的实验?
在传统的文件夹结构中,您几乎需要在每个子文件夹中搜索它。
输入标签 。
标签
标签是一种用定义的关键字标记您的实验(和数据库对象)的方法,您可以拥有任意数量的标签!
现在,实验有了正确的标签,通过不同的搜索角度找到它们就变得轻而易举了!您可以直接从主页搜索一个或多个标签。
收藏标签
随着时间的推移,您将拥有一些成为您最喜欢的标签,因为它们始终是您在一组实验中寻找的标签。
自 4.2.0 版本起,您可以定义“收藏标签”,该标签将显示在条目列表页面的左侧窗格中。这样可以快速概览相关条目。您可以尝试此功能,首先点击屏幕左侧的箭头来切换左侧窗格。点击 + 按钮,然后输入标签即可将其添加到收藏标签列表中。
请注意,如果您使用“收藏标签”过滤器,然后创建实验,它将自动被标记该标签。
使用项目
还有另一种方法可以将实验分组,可以与标签一起使用。它使用“项目”类别的资源。
前往管理面板并创建一个资源类别:“项目”。前往“资源”选项卡,创建一个新的“项目”条目,用于描述一组实验,即一个项目。前往“实验”选项卡并创建一个实验。在“链接资源”字段中,输入项目名称,点击出现的自动完成字段,然后按 Enter 键(或点击外部)。此实验现已链接到该项目。因此,您可以轻松地从实验转到项目描述,但更重要的是,您可以从“项目”条目中点击“显示相关”图标(链接),并显示所有链接到此项目的实验!
确保创建已链接到该项目的实验模板,以便当用户创建实验时,链接将始终在这里。
使用类别
管理员可以定义多个实验类别,供团队中的用户使用。这是一种快速简便的实验分组方法。
To-Do List 待办事项清单
在“实验”或“资源”主页面,按 t
键显示你的“待办事项列表”。你也可以点击屏幕左上角的图标访问“待办事项列表”。
其它
您可以将实验导出为 .zip 文件。如果实验带有时间戳,您将在存档中找到带有时间戳的 PDF 文件以及相应的 .asn1 令牌。
您可以从数据库中导出和导入项目(可以是多个项目)。
在编辑器中,按 Ctrl+shift+d 将今天的日期插入到光标位置。
签名
签名在很多情况下都很重要,例如科学研究。
签名可以证明特定数据已由特定人员认可。它与时间戳的概念不同,时间戳证明特定数据在特定时间存在。
eLabFTW 允许您拥有三种不同类型的签名。
手写签名
在“设置”页面中,勾选“常规”选项卡下“PDF 配置”部分中的“在 PDF 导出时启用法语签名栏”设置。这样,当您生成 PDF 时,底部将有一个专门的区域,用于添加作者和观察员的签名。
简单签名
在经过身份验证的应用程序中(例如 eLabFTW),所有用户都经过识别和审查,签名可以是单击复选框、发表评论或执行锁定实验等操作。
通过使用多因素身份验证,您可以增强与此操作关联的信任级别。
高级加密签名
自 5.1 版本起,eLabFTW 引入了先进的签名机制。它采用高度安全的 Ed25519 公钥签名系统,并与 minisign 兼容。
它是如何工作的?
从高层次来看
每个用户都会获得一个由私钥和公钥组成的密钥对。私钥受密码保护。为了签署文档,用户需要提供密码,然后文档会被加密签名。签名文件与公钥和待签名的文档一起存储。此“签名存档”还包含一个小的 shell 脚本,用于使用 minisign
验证签名。
在签名之前,需要选择一个含义(例如“审阅”、“批准”等)。签名涉及以下几个操作:
创建加密签名文件:它对数据进行签名
该文件存储在存档的 zip 文件中(作为条目的附件)
创建一个不可变的注释,以指示发生了签名
如果文档的任何部分被修改,签名将不再有效。此验证可以在任何时间点进行,无需访问任何外部服务。
关键在于你对密钥对与特定人员之间的关联所能拥有的信任程度。如果你能验证某个人拥有某个私钥,那么用其公钥部分进行的签名验证就完全值得信任。
低层次概述
Warning 警告
此部分适用于加密货币爱好者!
我们使用 Ed25519 创建密钥对。我们还生成 8 个字节的随机位作为密钥 ID,以及长度为 SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES 的盐值。
我们还使用 Blake2 对签名算法、密钥 ID 和私钥进行校验。盐值与密码短语组合成密钥派生函数 (KDF):这使我们能够从该密码短语派生密钥,然后使用该密钥对密钥 ID、私钥和校验和进行异或运算。密钥派生函数 (KDF) 使用 scrypt ( sodium_crypto_pwhash_scryptsalsa208sha256 )。
为了将其保存为人类可读的格式,私钥被序列化为 minisign 格式:
untrusted comment: <arbitrary text>
base64(<signature_algorithm> || <kdf_algorithm> || <cksum_algorithm> ||
<kdf_salt> || <kdf_opslimit> || <kdf_memlimit> || <keynum_sk>)
公钥:
untrusted comment: <arbitrary text>
base64(<signature_algorithm> || <key_id> || <public_key>)
私钥和公钥以这种形式存储在 MySQL 数据库中,并附加到特定的用户。
对于签名,我们根据提供的密码提取私钥,并创建消息哈希值的独立签名(该消息是此处 en 条目的完整 JSON 导出)。这是 Ed25519 的哈希值预处理版本:Ed25519ph(参见 RFC8032 第 5.1 节 )。
我们在签名数据中添加了一条可信注释。这条注释之所以可信,是因为我们可以通过其签名进行验证。它是一个 JSON 字符串,包含签名的元数据(例如,签名者、时间、原因)。签名文件如下所示:
untrusted comment: <arbitrary text>
base64(<signature_algorithm> || <key_id> || <signature>)
trusted_comment: <arbitrary text>
base64(<global_signature>)
一个真实的例子:
untrusted comment: elabftw/50100: signature from key f3690b6554b4f817
RUTzaQtlVLT4F5C81w4VBNIodngF4Kna0RqfOTY3CGIB+6AlzsFeX2BPpm49HyIKVnZHHhUQ8C/osp/uTyhAo0WrCoASqm2d0w0=
trusted comment: {"firstname":"Toto","lastname":"Le sysadmin","email":"toto@yopmail.com","created_at":"2024-03-18T00:48:39+01:00","site_url":"https:\/\/elab.local:3148","created_by":"eLabFTW 50100","meaning":"Approval"}
LvN7bwKzaU3GwjJtEou1aZs2F4jeBJl5kQcblNSmW1mbZlBzL7h0RqfvDZeeIvBS3g6cfnybQAP93QzVFrlfBA==
如您所见,我们提到了 eLabFTW 版本和密钥 ID,这只是关于使用了哪个密钥的提示(我们不能相信这条信息)。
但第三行是可以信任的,它包含元数据。
然后我们捆绑:
该 shell 脚本使用 minisign
来验证数据和签名,允许任何人独立验证 eLabFTW 制作的签名,而无需使用 minisign
以外的外部工具。
它存储在一个不可变的 .zip 文件中,并且向实体添加了一个不可变的注释,以使操作更加明显。
OpenBSD 的 signify
也被考虑过,它使用大致相同的格式,但不支持可信注释,这是一个非常有用的功能。
跟踪变更
在 eLabFTW 中,根据实例配置和变更类型,以不同的粒度跟踪变更。
对于实验或资源,有两个概念:变更日志和修订。修订仅跟踪条目正文的变更。变更日志跟踪除正文内容之外的所有变更,因为正文内容由修订系统单独处理。
您可以通过条目页面右上角的省略号菜单(三个点)访问变更日志或修订版本。修订版本页面允许您比较两个版本或恢复条目的特定版本。
所有管理更改(例如创建新用户、将用户提升为管理员、在团队中分配用户以及更改实例参数)都记录在审计日志数据库表中,并且系统管理员可以从 Sysconfig 面板中的“审计日志”选项卡中看到这些更改。
软删除机制
eLabFTW 对条目使用软删除机制。当您删除实验或资源时,它只会被标记为已删除:其状态会从“正常”更改为“已删除”(另一种可能的状态是“已存档”)。这意味着该条目在后端数据库中仍可作为已删除实体访问。
恢复已删除的条目
目前,只有具有 MySQL 访问权限的系统管理员才能通过将状态改回 1 来恢复条目。
用于恢复 ID 为 42 的实验的 MySQL 查询示例:
UPDATE experiments SET state = 1 WHERE id = 42;
state
的值可以在源代码中找到。
与外部合作者共享
如果您想与外部合作者分享您的结果,您有两种选择:
选项 1:导出并发送
这个选项非常简单,您可以将您的条目导出到 PDF 或 ZIP 档案中,然后通过电子邮件或其他方式发送给您的合作者。
当然,这个选项有其局限性,并且并不总是最适合的方法,但它 100% 有效。
选项 2:允许匿名访问
可以允许匿名用户访问 eLabFTW 安装,但此功能默认处于禁用状态。系统管理员必须从 Sysconfig 面板检查此参数:
然后,用户将有可能从条目底部附近的可见性权限窗口生成一个带有访问密钥的 URL 链接:
共享此链接将授予收件人读取权限。如果取消选中此复选框,之前共享的链接将失效。使用此功能的好处是,收件人可以随时跟踪结果的演变。
为了使此功能正常工作,必须可以从外部网络访问该实例。