51mon
(Simon)
1
你好
很久以前我是一名技术人员,但现在不是了。我在其他地方说过,我对数字社区的设计感兴趣。用技术构建的社会学
我不知道话语的架构是什么,但我知道它有主题和插件。如果还有其他我不知道的部分
帮帮我 
我尝试过用各种方式搜索这对术语,但没有返回任何表明“这是关于什么/为什么的 101 指南。例如:有一个表示层、一个存储层以及两者之间的选择过程,它使用此信息来建立上下文,以便将一个信息选择到另一个信息中。开箱即用,您将获得x y 和 z。插件是……任何在目录中的插件都将在服务器进程(或其他什么)启动时加载,它们通过……钩入 UI/后端/前端等,现有的插件是……,主题会影响开箱即用的表示层(?)以及插件,方式如下……”
是否有人能为我指明这样的描述,让我能够从 0 到有足够的理解力,从而找到当前存在的东西,并有足够的理解力进行一些富有想象力的思考
因为
然后我就可以将它们用作设计不同目的社区的概念构建块。
我感兴趣的是……:
话语是否可以“加固”以满足#医疗级标准——不,我现在还不知道任何特定司法管辖区的标准,但我知道为了我感兴趣的目的,这将是必要的,并且在不同地区会有所不同。
我对与器械化康复工具接口以及为匿名数据提取(gdpr 合规)的进展和疗效指标进行编码感兴趣,以改进研究数据。
我感兴趣的是,如何让最好的帖子像奶油一样浮现到顶部,这样新用户就不会面对一个话语用户体验,在这个用户体验中,他们在一个他们刚刚发现有迫切需求的主题中感到陌生,而面对的是成千上万的帖子和主题,只有一种学术而非切身体会的层次结构……
层次结构通常在可以先深吸一口气进行搜索的情况下,更容易筛选出潜在感兴趣的主题,但通常只支持深度优先搜索模式——Discord 似乎就是一个例子——在那里,假设一个人已经知道了主题——标签可能会稍微缓解这种情况,这是我阅读待办事项列表中的另一个主题。
也许一些人工智能机器人可以弥合差距?另一个待办事项…… 
我还在通过 @jonobacon 的博客观看一些视频,也许在看完后能问出更明智的问题。
为了在话语的背景下进行创造性思考,我需要更多地了解存在哪些组件和接口。
你能帮我指明方向吗 
提前感谢
2 个赞
浏览现有的插件、主题和主题组件,可以让你对可定制性有所了解:
6 个赞
Lilly
(Lillian Louis)
3
@51mon 您好 - 如果您对 Discourse 论坛开发感兴趣,这里的信息 可能会让您感兴趣。 
2 个赞
51mon
(Simon)
4
谢谢 
我认为您只是给了我一本字典,而我却希望得到关于如何阅读的指导!- 您是否有更温和的介绍,说明这些东西是什么以及它们如何工作,而不是它们做什么?
您的链接中有很多内容,但概述中没有任何内容说明 Discourse 的架构是什么 - 我目前不太关心插件等提供的功能 - 我仍在试图弄清楚它们到底是什么。
2 个赞
51mon
(Simon)
5
谢谢,我会看看 :-)\n\n我有点犹豫,因为它们标题是“正在开发中……”,而我不想写代码——我想了解架构。\n\n我会看看,因为目前还不清楚这些文本是否能满足我的需求(祝我好运)。\n\n我会告诉你——当然,除非你有什么其他建议 :)。?
1 个赞
51mon
(Simon)
7
还没 
谢谢
“
[[编辑]]
哎呀!第一个链接把我带到了 15 个主题的标题
第二个和第三个链接是销售页面,但至少它们只有一个页面 - 它们是功能列表,而不是架构描述。
而且哎呀,我甚至不确定最后一个链接是什么,除了它是一个登录到 try.discourse.org 的邀请,该网站有超过 100 个条目的主题,外加一个超过 1,000 个条目的主题 -
没有地图。这可能有点像库克发现澳大利亚然后花了好几天沿着海岸航行
编辑
功能列表
该页面列出了很多东西。其中一些东西是概念性的。当一个名称指的是一个未被描述的概念时,它只会告诉你这里有一个东西,但不会传达任何理解或这个东西是什么 - 所以我知道从功能上看有很多东西
但我无法理解许多命名功能可以做什么。
有利于确定广度,对于那些已经知道的人来说是一个很好的记忆辅助工具,但对于寻求理解的人来说很难获得理解。
此外,我从这个功能列表中不知道它们是插件、主题、开箱即用、discourse 特有还是每个平台都常见
在这个阶段,我并不是说我应该为那个页面做些什么,我只是在做笔记,因为我有一个大陆要去探索。我的 OP 问的是从月球拍摄的地球照片,到目前为止,我甚至还没有爬到 HMS Endeavor 桅杆的顶端 
第三个链接“什么是 discourse”是销售宣传和其他东西的混合体。它也没有给出架构 - 我并不是说它应该,但既然它没有,它就不是我想要的。
它对我来说也不太真实 - 例如,它声称 discourse 摆脱了复杂性,然而 UI 中使用的红色会根据点赞数与帖子的数量而变化。这是 UI 中一个非常晦涩的元素。此外,无论你是在未读帖子列表中点击标题、回复数还是第三个字段,我都不知道如何命名,你都会被带到主题中的不同位置。这些都是直观的、未宣布的、未显示的 UX 变化,直到你知道它们存在于 UI 中,它们都会令人困惑。
2 个赞
老实说 @51mon,我不认为我理解你的问题。你能用简单的语言提问吗?我会尽力给你一个答案。
8 个赞
51mon
(Simon)
9
这是一种友好的接触@JammyDodger - 我会在可以的时候这样做,但目前我做不到。
我认为我最初的帖子已经说得很清楚了,但显然它没有清楚地传达给你的耳朵(眼睛!)。
让我们试试这个
如果我们都站着看一辆车,我们可以进行这样的讨论:“你可以坐在里面,它会带你去超市或海滩”。或者我们可以进行这样的对话:“它有轮子和由汽油或电池驱动的发动机,以及一个转向装置和一个制动装置”。
关于刹车和指示灯,以及室内灯是否自动打开和关闭的对话是开发人员的对话。关于去海滩和早上送孩子上学的对话,以及是否可以将轮椅放进后座或拖挂房车的对话是面向用户的讨论,接近技术层面。要拖挂房车,你需要安装一个挂钩,因为这不是开箱即用的。当你买车时,你可以选择白色、灰色、黑色或蓝色。这些是一次性的选择——在讨论的背景下,它们可能是管理主题。
现在,我感兴趣的方面之一是,我是否可以用讨论来驱动一个社区,其中信息存在于管理和贡献者帖子以及用户 ID 等等之间,可能需要符合医疗级别的法规,以保护数据 CIA(机密性、完整性、可用性)。但如果我不知道底层架构是什么,我就无法评估这个问题。
如果这还没有让事情更清楚,你只能等到我读完人们给我提供的所有资源,这样我才能提出一个能让那些能够回答的人理解的问题,因为目前我无法更好地提出问题。
谢谢 - 
这是一次发现之旅,我很满意它需要一些时间。当我做出我需要的发现后,我很可能会写下来并捐赠给这里的社区,希望它们能帮助到未来的其他人。
恐怕这并没有让事情更清楚。
希望其他人能介入并给你你所需要的东西。
你是否已经创建了一个论坛来玩耍?这也许能帮助你探索你的想法并感受一下可能发生的事情。
5 个赞
Heliosurge
(Dan DeMontmorency)
11
您好 @51mon。
我怀疑问题的一部分在于隐喻。作者通常会理解他输入的内容。但是其他人可能会难以理解。
所以……开始了:
Discourse Meta 的核心设计是一个基础社区框架。
它提供了一个基础……开箱即用的朴素。
以您和我这个年龄段,您可能参与过或了解过 DOS 电子 BBS。
相当一部分是 Telegard BBS(又名 Telegard Hacks)的衍生品。(跑题了……)
回到正题。
所以您想为……构建一个 Discourse Meta 论坛。
这是您的起点……坐下来,构思一个关于您的社区宗旨以及您希望它提供哪些功能和特性的想法。
然后退一步。
为了更清楚地了解您可以去哪里。探索一下已经在使用 Discourse 的社区列表。我现在没有链接。查看现有社区可以帮助您了解可以实现什么……以及一些社区在范围和功能上有多么相似或截然不同。
从这里,您可以记下您想要在您的社区想法中包含的不同社区所拥有的功能。
您可以决定是想要付费托管,这可以使生活质量更轻松,还是完全控制并自行托管,以完全控制您想要的任何插件的强大可扩展性。但这需要您自己维护 VPS。
无论哪种方式,您都需要研究一下您需要什么才能拥有可用的功能和特性来设计您的社区。
所以,从这里开始,让我们做一个思想实验。提供一个社区示例。我们甚至可以采用一个现有社区,并询问我们需要什么 Plugin(如果需要)、Theme 和 Theme component 来实现这个社区所拥有的东西?
1 个赞
51mon
(Simon)
12
你好 @Heliosurge
忘记那些 BBS 了,我记得 UKC 在坎特伯雷通过 300 波特的拨号线路运行的 newsnet,我还记得像 freeagent 这样的 NNTP 服务和客户端
我完全同意,类比,甚至更广泛地说,句子中的词语往往只是作者理解的封装。即使它们在别处产生了理解,也不能保证是相同的!
我们来试试这个
我理解 discourse 有一个服务器端,其中包含帖子和用户的数据库,帖子和用户都有属性并相互链接。它托管在某个地方,主机可能是虚拟的,内容分发网络等
我理解客户端有一个表示层,它使用帖子、用户身份验证凭据和访问权限以及链接来创建提要。我看到在哲学上,许多使用的结构是分层的。这种层次结构被许多交叉链接机制所掩盖
我推测——我认为是安全的——客户端使用的配色方案等是在执行时绑定到一个可以替换的主题,以便后续执行绑定到一个新主题,而不改变内容,但会改变外观,甚至可能改变一些功能性的导航风格组件,但这一点我有点模糊和猜测
我知道主题组件的存在,我目前脑海中有一个模型,认为主题组件的组合构成了一个主题,但在这方面我还是有点不确定。我对主题组件的作用没有具体的例子
我对插件的理解较少。我理解它们是服务器端的架构部分,因此位于提供内容的运行实例中。我不太明白主题和插件之间的交互。我猜想如果你扩展了服务器端的功能,那么你必须扩展客户端的表示,但这部分是不确定中的不确定。
我也不知道完整的架构模型是否由:服务器、服务软件、客户端应用程序/浏览器、主题组件和插件组成,或者是否有其他组件
我有一些问题,例如“一个标准的 discourse 社区不设付费墙或其他货币化机制,可以添加一个吗?”数据存储在一个具有一定程度的 CIA——保密性、完整性和可用性——的系统中。这能加强到所需的标准吗?跨越大西洋的医疗保健互操作性标准
后一个要求将对话引向伦理学和软件如何支持法律、道德、文化关切,我认为这与本论坛的主题有关。架构理解是解决方案设计的前提,也是确定塑造被认为是可取、必需和不受欢迎/不可接受/应受谴责的设施的哲学原则,以及应如何处理谴责。
1 个赞
Heliosurge
(Dan DeMontmorency)
13
好的,你明白了。核心数据库中的主题按类别分组,并用标签进行组织,例如在此处。
有两种主题:
- 基础主题:仅修改 Discourse 的基本外观。
- 全面主题:修改外观,并预打包了一些主题组件,以通过组件改变其功能。
这张图。调出侧边栏菜单
在底部我用箭头高亮的地方,展开它。你有一个从基础到全面的主题集合。尝试选择一个,看看 Meta 在外观和感觉方面是如何改变的。
尝试几个不同的主题并进行探索。我认为这将有助于更好地理解主题在有或没有组件的情况下可以做什么。
例如,Air 主题是一个带有预装组件的全面主题。
2 个赞
51mon
(Simon)
14
谢谢
我认为这个回复表明主题被加载到服务器端,并且客户端在启动时查询可用的主题,然后通过每次检索要呈现的数据(或会话实例化?)来提供一个主题 ID,服务器然后使用该 ID 来编码将转发到客户端以显示的 HTML 元素。
另外,您说应用程序需要重建。我猜那是一个链接编辑过程?至少您描述的是一种静态机制,而不是动态链接库?
我仍然不清楚服务插件可能提供什么,以及主题如何交互,除了将我的图标从圆形更改为方形,这似乎在我选择您命名的那个时发生了,是它叫 air 吗?
Stephen
(Stephen)
16
与旧的论坛平台(vBulletin、phpBB)不同,Discourse 不是由一系列独立的服务器端脚本(php)和一个单独的数据库组成的。
Discourse 由两部分组成:一个位于 Docker 中的后端,以及一个提供给客户端设备的服务端单页 JavaScript 应用程序。
任何需要后端更改的操作都会影响到 Docker 容器,在最基础的安装中,这需要少量停机时间。这就是人们所说的“应用程序需要重建”的意思。控制容器构建的配置文件(一个 yml 文档)需要被编辑,然后通过 SSH 向启动器发出重建命令。安装插件意味着需要重建,而对 SMTP 的简单更改则更像是重启。
引入新的主题和主题组件实际上是在运行的 Web 应用程序中完成的前端更改。它们不会导致任何停机时间,因为底层应用程序和数据库实际上没有改变。
1 个赞
51mon
(Simon)
17
谢谢 Steven 
我有一些技术上的不足。我的实际操作经验比 Docker 早了一代!事实上,我记得高斯林(Gosling)将 Java 称为一种轻量级语言的论证是当月最热门的出版物——那时我还在使用 K&R C,接触 ingres 和 oracle,并且是系统管理员和数据库管理员。
我想我注意到“前端”和“后端”这两个词被用作在服务器上运行的进程,而不是服务器端和客户端,是这样吗?
我们是否有共享内存或管道等进程在服务器上协同工作,然后通过 TCP 封装的消息流将东西发送到运行客户端软件的 IP 地址?
有人画过这个架构的东西的框图吗?
我认为这已经明显偏离了#community
让我们将其移至#dev,因为它更多地是关于技术元素。
1 个赞
Tris20
(Tristan)
20
此主题似乎混合了两个想法:
- “一个高层次的概述/图表将有助于我设计我的 Discourse 实例”
- “我正试图将 Discourse 的功能与我的需求进行比较,但找不到某些信息”。
关于架构的第一点已经讨论过一些,但不幸的是,仍然缺少顶层图。希望有人能更好地理解,并使用 mermaid 在这里为我们绘制一些东西,不过我至少可以(希望)为您的原始需求提供一些指导。
Discourse 能否满足医疗/政府/汽车行业的信息安全要求和标准?
您需要更具体地说明这些要求到底是什么。但是,考虑到医疗和汽车行业相差不远,我可以分享我的经验,希望能有所帮助。作为背景,我在德国一家大型汽车供应商那里运行一个内部开源实例。这在法律上很麻烦,但只要有朴素的毅力、愚蠢的韧性和极其乐于助人且耐心的法律团队,就可以实现。说真的,对你的法律团队好一点 
您需要回答的最大问题是:
- 谁在访问信息?
- 平台将包含哪些类型的信息?
- 仅限公众?
- 公众和内部信息的混合?
- 机密?-- 请注意,一旦您计划在此平台上托管,事情就会变得困难得多
- 它托管在哪里?
在我们的例子中,我们仅限内部(员工),仅包含内部信息(即,共享非机密的公司信息),并且最初是自托管的,后来迁移到 Discourse 进行托管。
在 Discourse 托管方面,我们的信息安全办公室在我们选择迁移时没有发现任何重大问题。
我们还将在多个国家/地区分发此信息:中国、印度、德国、罗马尼亚、美国、法国等。中国有点麻烦,但 Discourse 的团队在解决我们遇到的 CDN 问题方面做得非常出色。
请注意,第三个问题:“它托管在哪里?”是回答您大多数数据保护和安全问题的关键。
登录和授权
对于登录,您可能需要依赖 SAML。如果您是 Discourse 的企业客户,Discourse 团队会帮助您进行设置。我们的 IDP 仅在您位于公司 VPN 后面时才能访问,这为我们增加了额外的安全层(即,除非您在我们的网络上,否则您甚至无法加载登录屏幕)。
SSH
此外,标准安装将提供 SSH 加密。我不是 CIA 的人,所以我不知道他们是否需要更多。(
据称)
将 Discourse 与其他工具集成
依赖 API
对于接口,Discourse API 是您的朋友。您可以使用 API 密钥和一些 Python 来获取和设置数据。
这里有一组很棒的示例:Discourse REST API comprehensive examples
匿名化用户数据以符合 GDPR
就 GDPR 而言,您可以从平台中提取数据并在运行数据探索器查询的源点省略用户。
这与使用 Discourse API 不同,Discourse API 的 JSON 响应通常包含有关帖子的完整信息,例如:
- 帖子内容(已烹饪的 HTML 和原始 Markdown)
- 帖子 ID
- 它所属的主题 ID
- 发帖人的用户名
- 帖子在主题中的编号
- 帖子的创建和最后更新时间戳
- 点赞、回复、引用等的数量。
如何获得热门帖子和熟悉的 UI?
您可能没有注意到,但您可以结合使用此主题:
与以下内容结合:
3 个赞
在美国,根据《健康保险流通与责任法案》(HIPAA),对于任何类型的医疗记录数据,执业医师可以与患者选择的家人/朋友/护理人员以及其他任何人共享,前提是他们签署了官方信息发布表格。这些表格通常只有几个月或几年的有效期。
一个简单的示意图如下:所有医疗数据都存放在一个巨大的上锁的金库中,除非紧急服务人员签署了患者的书面文件,否则在任何紧急情况下都永远无法打开。
除非:患者昏迷不醒,特别是长期昏迷或神志不清,以及/或被法院和法官裁定无能力处理自己的事务,在这种情况下,可以指定其他人来处理。
这两种情况中的任何一种都可以用一把可以打开金库的钥匙来表示,然后将一些医疗数据移到一个只有特定人员才能访问的二级金库中。
我认为,在大多数情况下,这可能是一群人,但他们必须被单独命名才能被授权访问医疗数据。
https://www.cdc.gov/phlp/publications/topic/hipaa.html
1 个赞