cl/moss
Composer 安装命令:
composer require cl/moss
包简介
CourseLib support for MOSS submission analysis.
README 文档
README
This component supports sending submissions to the CourseLib system to the MOSS (Measure of Software Similarity) system for detection of inappropriate copying.
See http://metlab.cse.msu.edu/courselib/moss for more detail on utilizing the cl/moss component.
The MOSS component is dependent on cl/course and adds features to the submission system. To install:
composer require cl/moss
composer run cl-installer
The cl/moss component installs an analysis class that can be attached to an assignment submission. This is an example of how to add MOSS analysis to a submission:
$submission = $assignment->submissions->add_program("project2program", "Project 2 Program");
$moss = $submission->add_analysis(new \CL\MOSS\MossAnalysis());
$moss->type = "zip";
$moss->user = "123456789";
$moss->language = "cc";
$moss->include = "#CanadianExperience/MachineLib.*\\.(cpp|h)$#i";
$moss->exclude = "#(App|MainFrm|stdafx|targetver|XmlNode|" .
"resource|initialize|DoubleBufferDC|MachineLib|" .
"Machine|MachineFactory|MachineStandin|MachineDlg|" .
"Actor|ActorFactory|AnimChannel|AnimChannelAngle|AnimChannelPoint|".
"CanadianExperience|HaroldFactory|ImageDrawable|Picture|" .
"PictureFactory|PictureObserver|PolyDrawable|RotatedBitmap|" .
"SpartyFactory|Timeline|TimelineDlg|ViewEdit|ViewTimeline|" .
"HeadTop|Drawable|Polygon|WAVFileReader|WavChannel|WavPlayer)\\.(cpp|h)$#i";
// $moss->limit = 3;
#Parameters
##$moss->type
The type property sets the submission type. The only type currently supported is 'zip', where the assignment is submitted in .zip format.
##$moss->user
This is a user ID assigned by MOSS. MOSS id's are usually assigned to departments or units and you should check with your system administrator to see if a MOSS ID is already available. See the MOSS home page for details on how to request a MOSS ID. The MOSS ID is usually a 9-digit number.
##$moss->language
The language property indicates the computer language for the submissions. Note that not all MOSS languages appear to work, but the specified list is:
"c", "cc", "java", "ml", "pascal", "ada", "lisp", "scheme", "haskell", "fortran", "ascii", "vhdl", "perl", "matlab", "python", "mips", "prolog", "spice", "vb", "csharp", "modula2", "a8086", "javascript", "plsql", "verilog"
##$moss->include
The include property is set to a regular expression that specifies the files that will be sent to MOSS. Since projects often contain files other than source code, this expression is often used to select out the appropriate files based on the file extension.
##$moss->exclude
The exclude property is set to a regular expression that specified files that will be excluded from sending to MOSS. This is a useful tool for excluding provided code files or automatically generated files. Exclusion is done after inclusion.
##$moss->limit
The limit property limits the number of submissions that will be sent to MOSS. Setting this limit to a small number is extremely useful when first getting the settings correct, since it allows a smaller number of files to be parsed and sent until the include and exclude settings are correct.
#Additional properties
##$moss->atLeast
By default, the MOSS analysis link is only available to Member::INSTRUCTOR or better. This can be changed by using the atLeast property. This is useful if the task of running MOSS is delegated to a teaching assistant:
$moss->atLeast = Member::TA;
##$moss->experimental
The experimental property, if set to true, will specify the MOSS experimental server, which is indicated as having the latests version of the analysis software, though perhaps with additional bugs.
#Suggestions
MOSS can sometimes become unresponsive due to load and may reject large numbers of submissions or just fail on large numbers of submissions. The first request to MOSS will return either 'yes', 'no', or an empty string. Only a response of 'yes' will allow the analysis to proceed. A 'no' response usually indicates that the language specified is not supported. An empty string is an indicator of general unavailability.
License
Copyright 2016-2018 Michigan State University
Cirsim is released under the MIT license.
Written and maintained by Charles B. Owen
cl/moss 适用场景与选型建议
cl/moss 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 37 次下载、GitHub Stars 达 0, 最近一次更新时间为 2018 年 12 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 cl/moss 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 cl/moss 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 37
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-12-04