cl/moss 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 cl/moss 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 37
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-12-04