CHANGELOG teuton v 2.1¶ ↑
Done¶ ↑
1. Export grades on csv file using Moodle format¶ ↑
-
Automaticaly exports
moodle.csv
file with all cases grades, using adecuate format so it could be imported directly into Moodle platform. -
We need to configure some params like this:
--- :global: :cases: - :tt_members: ... :tt_moodle_id: User Moodle Identity
2. readme keyword¶ ↑
We currently use the “teuton readme pry-folder” command to export README file from the challenge.
-
This example shows how to use readme keyword to add group description or target description:
group "GROUPNAME" do readme "Description for this group" target "target1" readme "Description for this target" goto :host, :exec => 'id root' expec_one 'root'
Working¶ ↑
Remote temp folder¶ ↑
Modify send keyword so it could works with all OS. Now only work with GNU/Linux. So we need to detect remote OS, then choose remote teuton folder where uploading files.
-
First goto open new session to remote host. And then:
-
Detect remote OSTYPE: (a) GNU/Linux and MAC using “uname -a”, (b) Windows using “ver” command.
-
Create teuton remote uploading folder: (a) /tmp/teuton for GNU/Linux and MAC, (b) %windir%/temp/teuton for Windows.
-
-
Every time we send files to remote host we will use this remote folder.
Readme
¶ ↑
-
Pass usefull information into README.md:
readme do title ... intro ... author ... requirements ... tags ... end
Pending¶ ↑
moodle.csv and save partial grades.¶ ↑
-
Before play challenge read previous moodle.cvs. Then play challenge and when creates new moodle.csv… we could preseve old cases(grades) 100% for example.
expect keyword¶ ↑
-
expect_equal "camaleon"
, same asexpect result.equal "camaleon"
. -
expect_not_equal "lagarto"
, same as not expect equal. -
expect regexp("val1|var2")
, regexp function creates regular expresion from String. -
expect result.ok?
, result from previous goto exec. -
result.exit_code
, exit code from previous goto exec.
get keyword simplification¶ ↑
-
Simplify getting and setting params process. For example:
_username
, may be alias forget(:username)
. Then
target "Create user _username" goto :host1, :exec => "id _username" expect_one _username
Same as
target "Create user "+get(:username) goto :host1, :exec => "id "+get(:username) expect_one get(:username)
-
Review docs and replace
"id #{get(:username)}"
by something line"id "+get(:username)
.
Reports and export keyword¶ ↑
-
Work on more output formats: CSV, HTML, XML.
-
export :format=>:html, :prefix => IAN
-
export :format=>:xml, :prefix => IAN
-
export :format=>:csv, :prefix => IAN
-
-
Improve RESUME report or create stat-report, with stat information:
-
the worst target/task/case,
-
the best target/task/case,
-
the slowest target/task/case,
-
the fastest target/task/case, etc.
-
Related targets: group of targets that always have the same state in every case.
-
File extension¶ ↑
-
Change “.rb” file extension by “.tt” for example. To avoid users think on ruby when using teuton files.
-
So move “ruby language” documentation to other section like “expert mode”…
-
Change “start,rb” or “play.rb” name to “run.tt”.
loop keyword¶ ↑
-
Create keyword to do loops without using ruby style:
“` loop i: 1..5 do puts i end
loop :a => [3,5,7] do puts a end
“`
Teuton
web server¶ ↑
-
It coud be posible read students credential directly from config.yaml information..
Feedback¶ ↑
Add new features to DSL
* feedback or advise "Some usefull information"
provide this information when studends demand help.
Installation process¶ ↑
-
Use Bundler to install gems instead of rake.
-
It will be usefull use sysadming-game as gem? And install it with
gem install teuton
. -
Vagrant: test how to use vagrant machines as case hosts.
— Info sobre novedades de la versión 2.1 1. Teuton
readme y dsl readme 2. Macros de define macro 3. Export yaml y html 4. Teuton
–no-color 5 teuton run –case 6 teuton run –cname 7 teuton run –cpath 8 actualizar formatos de salida 9 instalación mediante gemas 10 teuton panel 11 teuton client y server 12 nuevos nombres de comandos… 13 cambio de goto a run .…
-
config -> host_port
-
teuton run into
-
txt format -> remove conn_errors when errors = 0