<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>开源项目 :: 红山开源知识库</title>
    <link>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/index.html</link>
    <description>区块确权 项目画像 开源许可证 项目来客 项目代码质量检查服务codecheck {class=“children children-type-tree children-sort-”}</description>
    <generator>Hugo</generator>
    <language>zh</language>
    <atom:link href="http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>区块确权</title>
      <link>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/01-%E5%8C%BA%E5%9D%97%E7%A1%AE%E6%9D%83/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/01-%E5%8C%BA%E5%9D%97%E7%A1%AE%E6%9D%83/index.html</guid>
      <description>开启贡献确权 后台配置：管理&gt;网站配置&gt;系统配置&gt;全局变量配置&gt;open_blockchain_users&gt;配置用户login&#xA;新建项目 新建项目时，用户勾选“确权”，勾选后需要填写一个初始Token值，token必须为正整数，最大值不超过10000。&#xA;注意：新建项目时输入的token数量，最开始在项目owner下。&#xA;字段 说明 *拥有者 必填，默认为当前登录用户，可选择当前登录用户或当前登录用户具备owner权限的组织； 在组织处新建默认拥有者是组织； *项目名称 必填，长度1-50 *项目标识 必填，项目标识长度2~100，只能包含数字，字母，下划线(_),，中划线(-)，英文句号(.)，必须以数字和字母开头，不能以下划线/中划线/英文句号开头和结尾；不能是系统关键词； 项目简介 选填，长度0-200 .gitignore 选填，单选，数据来源于：管理&gt;开源项目&gt;.ignore文件 开源许可证 选填，单选，数据来源于：管理&gt;开源项目&gt;开源许可证 将项目设为私有 选填，默认不勾选，勾选即认为私有 项目类别 选填，单选，数据来源于：管理&gt;开源项目&gt;分类列表 项目语言 选填，单选，数据来源于：管理&gt;开源项目&gt;项目语言 确权 选填，默认不勾选；勾选后需要输入初始Token值 *初始Token值 勾引“确权”后必填，范围1-10000； Token指本项目的虚拟货币，决定用户在本仓库贡献度的比例，可以通过issue悬赏或在个人主页贡献确权页进行转移。创建项目时，每个项目的Token总量为10000，您可以分配您可获取的Token数量（未分配的Token将保留至项目Token余额） 操作 “创建项目” “取消” 新建Issue设置悬赏金额 前提条件：当前仓库勾选了“加入贡献值激励确权机制”</description>
    </item>
    <item>
      <title>项目画像</title>
      <link>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/02-%E9%A1%B9%E7%9B%AE%E7%94%BB%E5%83%8F/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/02-%E9%A1%B9%E7%9B%AE%E7%94%BB%E5%83%8F/index.html</guid>
      <description>开源项目画像 从以下五个维度生成当前项目画像：&#xA;社区影响力：从项目点赞、关注、fork角度生成评分 ；&#xA;项目成熟度：从项目疑修、合并请求、提交总数量生成评分 ；&#xA;项目健康度：从项目疑修、合并请求、许可证完成度生成评分 ；&#xA;团队影响度：从项目团队稳定性、新人增长率生成评分 ；&#xA;开发活跃度：从代码提交、疑修及合并请求等开发活动频率生成评分；&#xA;注意：&#xA;导入项目不显示项目画像 –&gt; 在统计commits_log时，导入的项目不会存储数据；projects表中project_type=1表示导入项目，project_type=2表示导入的同步镜像项目，project_type=0表示普通项目，包括个人和组织项目；&#xA;项目数是实时更新的，社区数是存储在redis里面的，每日凌晨更新1次；&#xA;开启项目画像&#xA;后台配置：管理&gt;网站配置&gt;系统配置&gt;全局变量配置&gt; open_portrait_projects&gt;配置project_id&#xA;后台配置了项目拥有项目画像功能后，项目接口（/api/${xx}/${xx} /simple.json）会返回open_portrait字段，true表示项目开启了项目画像功能。&#xA;社区影响力 字段 说明 社区影响力 30*[点赞数/社区最高点赞数]+30*[关注数/社区最高关注数]+40*[fork数/社区最高fork数] 点赞数 SELECT praises_count FROM projects WHERE id=?; 社区最高点赞 社区最高点赞数指的是平台点赞数最高的项目的点赞数： SELECT praises_count FROM projects WHERE praises_count = (SELECT MAX(praises_count) FROM projects); 关注数 SELECT watchers_countFROM projects WHERE id=?; 社区最高关注数 社区最高关注数指的是平台关注数最高的项目的关注数：SELECT watchers_count FROM projects WHERE watchers_count = (SELECT MAX(watchers_count) FROM projects); 社区最高fork数 社区最高fork数指的是平台fork数最高的项目的fork数： SELECT forked_count FROM projectsWHERE forked_count = (SELECT MAX(forked_count) FROM projects); fork数 SELECT forked_count FROM projects WHERE id=?; 项目成熟度 项目成熟度 30*[pr总数/社区最高pr总数]+30*[issue总数/社区最高issue总数]+40*[commit总数/社区最高commit总数] pr总数 select count(*) from pull_requests WHERE project_id =？; 社区最高pr总数 SELECT p.id, p.name, COUNT(pr.id) AS pr_count FROM projects p LEFT JOIN pull_requests pr ON p.id = pr.project_id GROUP BY p.id, p.name ORDER BY pr_count DESC LIMIT 1; | | issue总数 | select count(*) from issues WHERE issue_classify=&#39;issue&#39; AND project_id =？; | 社区最高issue总数 SELECT p.id, p.name, COUNT(i.id) AS issue_count FROM projects p LEFT JOIN issues i ON p.id = i.project_id WHERE project_id != 0 AND issue_classify=&#39;issue&#39; GROUP BY p.id, p.name ORDER BY issue_count DESC LIMIT 1; | | commit总数 | select count(*) from commit_logs where project_id=？; | | 社区最高commit总数 | SELECT p.id, p.name, COUNT(commits.id) AS commits_count FROM projects p LEFT JOIN commit_logs commits ON p.id = commits.project_id GROUP BY p.id, p.name ORDER BY commits_count DESC LIMIT 1; 项目健康度 注意：</description>
    </item>
    <item>
      <title>开源许可证</title>
      <link>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/03-%E5%BC%80%E6%BA%90%E8%AE%B8%E5%8F%AF%E8%AF%81/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/03-%E5%BC%80%E6%BA%90%E8%AE%B8%E5%8F%AF%E8%AF%81/index.html</guid>
      <description>创建自定义许可证 前提条件：登录用户新建项目时，“开源许可证”为空，可以在项目详情&gt;代码库页面创建开源许可证。 管理员点击“代码库&gt;点击选择许可证(LICENSE)&gt;创建自定义许可证”按钮，跳转到创建文件页面，文件名默认为“LICENSE”不可更改，文件内容为空，可手动输入文件内容并提交变更，创建自定义开源许可证成功； 管理员点击“代码库&gt;点击选择许可证(LICENSE)&gt;具体某个协议&gt;使用该许可证”按钮，跳转到创建文件页面，文件名默认为“LICENSE”不可更改，右侧下拉框选中“创建自定义许可证”，文件内容为空，可手动输入文件内容并提交并提交变更，创建自定义开源许可证成功； 注意：&#xA;当前仓库的开源许可证为自定义类型，代码库详情将不会显示开源许可证名称。 开发者/报告者/非项目成员无新建权限，不可见“点击选择许可证(LICENSE)”按钮； 创建开源许可证 前提条件：登录用户新建项目时，“开源许可证”为空，可以在项目详情&gt;代码库页面创建开源许可证。 管理员点击“代码库&gt;点击选择许可证(LICENSE)&gt;具体某个协议&gt;使用该许可证”按钮，跳转到创建文件页面，文件名默认为“LICENSE”不可更改，文件内容为协议内容，可修改内容后提交或直接提交； 管理员点击“代码库&gt;点击选择许可证(LICENSE)&gt;创建自定义许可证”按钮，跳转到创建文件页面，文件名默认为“LICENSE”不可更改，右侧下拉框选中某个具体的协议，文件内容为协议内容，可手动修改文件内容并提交； 注意：&#xA;当前仓库的开源许可证为系统已有类型，代码库详情将会显示开源许可证名称。 开发者/报告者/非项目成员无新建权限，不可见“点击选择许可证(LICENSE)”按钮； 删除LICENSE文件 前提条件：当前仓库已创建开源许可证。 注意： 开发者/报告者/非项目成员无删除权限，针对LICENSE文件无“删除”按钮； 页面上传/新建文件 管理员通过页面操作，删除仓库默认分支“LICENSE”文件后，项目的字段“开源许可证”被清空，允许用户重新创建许可证。 Git推送 管理员通过Git操作，删除仓库默认分支“LICENSE”文件后，项目的字段“开源许可证”被清空，允许用户重新创建许可证。 上传LICENSE文件 管理员通过页面上传LICENSE或Git推送LICENSE文件，创建自定义许可证。 管理员通过页面上传LICENSE或Git推送LICENSE文件，创建开源许可证。 注意：</description>
    </item>
    <item>
      <title>项目来客</title>
      <link>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/04-%E9%A1%B9%E7%9B%AE%E6%9D%A5%E5%AE%A2/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/04-%E9%A1%B9%E7%9B%AE%E6%9D%A5%E5%AE%A2/index.html</guid>
      <description>项目来客 组织是否开启项目来客功能，由参数project_user_actionable控制 这是是管理员在后台管理&gt;网站配置&gt;系统配置&gt;全局变量配置中进行配置。 参数project_user_actionable的值是组织标识；&#xA;查看项目来客列表 项目管理员点击“仓库设置&gt;项目来客”进入仓库项目来页；&#xA;用户访问仓库发行版页面并提交访问信息，将产生访问记录。 注意：一个用户多次访问，只会有一条记录；&#xA;字段 说明 序号 联系人 联系电话 单位 搜索项目来客 字段 说明 用户名 支持精确和模糊搜索 用户申请访问 用户通过路由访问发行版页面/页面点击访问发行版页面，将弹出“您正在访问项目发行版，请完成基本信息登记”弹窗，输入联系人，联系电话，单位，点击“确定”按钮后，用户提交登录信息成功，可正常访问发行版页面。 用户仅需登记一次，下次访问不需要再次进行登记； 字段 说明 *联系人 必填，长度100 *联系电话 必填，长度100 *单位 必填， 长度100</description>
    </item>
    <item>
      <title>项目代码质量检查服务codecheck</title>
      <link>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/05-%E9%A1%B9%E7%9B%AE%E4%BB%A3%E7%A0%81%E8%B4%A8%E9%87%8F%E6%A3%80%E6%9F%A5%E6%9C%8D%E5%8A%A1codecheck/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/02-%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/05-%E9%A1%B9%E7%9B%AE%E4%BB%A3%E7%A0%81%E8%B4%A8%E9%87%8F%E6%A3%80%E6%9F%A5%E6%9C%8D%E5%8A%A1codecheck/index.html</guid>
      <description>项目代码质量检测流程 1. 确保服务开启 “项目代码质量检查服务”仅对指定用户开启，系统管理员登录并访问管理&gt;网站配置&gt;系统配置&gt;全局变量配置列表，给变量名 open_huawei_check_users 添加需要开启服务的 user_id 。 未开启“项目代码质量检查服务”的用户，在仓库服务tab下不可见“项目代码质量检查服务”。 用户访问仓库服务tab，接口 /api/v1/{repo_owner}/{repo_identifier}/code_checks 返回 true 表示用户开启了“项目代码质量检查服务”。 用户访问仓库服务tab，接口 /api/v1/{repo_owner}/{repo_identifier}/code_checks 返回 false 表示用户未开启“项目代码质量检查服务”。 权限说明：&#xA;仓库管理员/开发者可以访问“服务”tab，已开启 “项目代码质量检查服务”的用户可使用“项目代码质量检查服务”； 仓库管理员/开发者可以访问“服务”tab，未开启“项目代码质量检查服务”的用户不可见且不可使用“项目代码质量检查服务”，不可通过路由直接访问； 仓库报告者可以访问“服务”tab，但不可见且不可使用“项目代码质量检查服务”，不可通过路由直接访问； 非项目成员不可见“服务”tab，且无法通过路由访问； 2. 开始检查 前提条件：仓库未进行“项目代码质量检查服务”</description>
    </item>
  </channel>
</rss>