Giter Club home page Giter Club logo

i-tee's People

Contributors

aovtsinn avatar dependabot[bot] avatar karlerikounapuu avatar keijokapp avatar magavdraakon avatar matoom avatar tiiatanav avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i-tee's Issues

idea: create tutorials site

There is an idea to create tutorials site, e.g. using current GitHub repository wiki page. There would be good to collect all tutorials, manuals, etc documents that are appropriate of I-Tee.

idea: changed labs announcement for user

When labs choices are changed then somewhere in the i-tee web interface corner would be appear dynamically appropriate announcement about added, removed labs. Could be solved also as pop-up but should be configurable through preferences. Then the student knows about new labs and can refresh tehe view in order to access these new labs. Currently there should be announced in other ways in order to announce about new labs and this could cause unnecessary waiting which could be used for lab activities, especially in case when lab access time is limited.

idea: bring the list of VMs to top of page

When starting lab, webpage will be refreshed. Whenever the lab description is a bit longer, refreshing the page brings the first part of that. Scrolling to the end for copying the remote management link is quite annoying.
The idea would be to bring the list of VMs to top of page so refreshing would NOT raise the need of scrolling page to the end. Yes, there is an end key on keyboard but you should then also make a click on website in order to activate it to ensure the end key will work there.

idea: "primary" -> "open in browser automatically"

the idea is to change the wording in lab settings "Virtual machines in this lab" from "primary" to "open in browser automatically". The question is whether there would be possible to start multiple VMs with flag to start automatically also in web browser

proposal: router public key in server

Sometimes students will delete a router public key from /root/.ssh/authorized_keys file. Here would be a proposal to create the CRON job to ensure the key will be copied back once it is deleted to ensure the router can check the progress in server. This applies to all learning spaces using vTA.

idea: automatically create snapshots

There is an idea to automatically create snapshots whenever the are not yet created. The last check would be when "Start lab" button is pressed - if then still there are no snapshots then they would be created automatically from all VMs involved into lab. There could be e.g. checkmark (e.g. "create snapshot automatically") when creating a lab that is default checked but for future needs there is possibility to also uncheck it - e.g. if template is still yet updated snapshots are created later manually). The last check would be when "Start lab" button is pressed.

idea: FreeRDP link next to existing one for MS Windows, macOS

There have been some issues especially in MS Windows with too high resolution, layout rendering, etc.
One idea would be to offer in case of MS Windows and macOS also the FreeRDP link at lab where RDP links are generated. In case of Linux there is xfreerdp link which could be apply also in case of macOS. In case of MS Windows there should be wfreerdp link, which is almost same, just first letter should be replaced. This in turn requires the FreeRDP to be installed in machines - it would be good to mention, e.g. with footnote that whenever needed, from http://www.freerdp.com/ there is possible to download, install the FreeRDP. Announcing to partner IT managers about FreeRDP installation requirement on classroom computers would be also appreciated. Prebuilt binaries are here https://github.com/FreeRDP/FreeRDP/wiki/PreBuilds
E.g. in case of MS Windows there is suggested to take
https://www.cloudbase.it/downloads/wfreerdp_nightly_build.zip as it would be newer 2.x and more nowadays version than old 1.x one. After unpacking and copying the wfreerdp.exe to %systemroot%\System32\ folder there would be enough to have ability use almost same command like under Linux is xfreerdp - just replace "x" with "w" in the beginning - wfreerdp:
cmd wfreerdp --plugin cliprdr -g 90% -u username -p password server.itcollege.ee:xxxx
powershell .\wfreerdp --plugin cliprdr -g 90% -u username -p password server.itcollege.ee:xxxx
Also macOS is using old CoRD (last release 2012 https://sourceforge.net/projects/cord/files/cord/) by default and FreeRDP would be also here a good improvement. Here would be even easier as the same xfreerdp command from Linux applies here too.
In GNU/Linux there is since Ubuntu 17.10 available the package freerdp2-x11. For older Ubuntu versions there is Styrion repository for FreeRDP 2.x versions or also freerdp-x11 package (which is v1.x) can be used.

Installation done but no Login credentials to the dashboard

Hey sir I managed to install successfully the platform but I can't access the dashboard due to lack of login credentials. I tried to look into users table from database(MySQL) but no initial user in it. any help will be highly appreciated!!!.

Connection strings with passwords containing dash character doesnt work

If the auto-generated server passwords (pwd) contain a dash character (-), the auto-generated connection strings like Linux (rdesktop) and Linux (xfreerdp) does not work, probably because the CLIs think it is another parameter.

My system:

  • Arch Linux with latest rdesktop and freerdp packages
  • Guake, XFCE app finder and bash terminals

Possible solutions are:

  • Encapsulating password inside some quotes
  • Excluding dash character in password generation

idea: create automated check library

There is an idea to create automated check library - bash commands library to check certain task.
E.g.:
task: create a user with password, shell, home folder
check: there is needed to check 4 things: whether the user has been created with required name, shell, home folder and password.
There would be brainstorming needed to map all the administrative tasks in Linux and create checks in bash for them which is common shell nowadays Linux. Certainly there are other shells as well whether they would be used by Linux distros in teaching.
Actually there is needed to change the checking command in appropriate script. The library could be a collection of these checks that could be e.g. easily browseable through web interface.

filtering machines do not work

  1. ITee web interface
  2. Virtualization
  3. Running machines or any other submenu - all of them do not work actually....
  4. Try to set any filter and hit the "Filter" button.
  5. There will be message: "We're sorry, but something went wrong."

idea: suspend state for user

In case of lab management there could be suspend state for user in addition for current add, remove feature. Then teacher could assess the lab but student cannot access. This would be useful when teacher would like to limit the time by accessing lab e.g. in case of test, exam. Currently when removing the user, also lab will be destroyed and cannot be used in case of later assessment.

idea: limit lab access via scheduled task

There is an idea to limit lab access via scheduled task. This means when lab will be opened and closed for users. Announcement about lab existance could be done through used LMS (Learning Management System). Such feature would be appreciated in case of test, exam and similar where limiting access time would be needed. Users could even see the lab but not access outside limited time. This means that the user state suspended would be used once it has been implemented. Seeing the lab would not be important in case of suspend state - whatever solution would be better in order to achieve access limitation.

keyboard layout choice

There have been issues with keyboard layout, e.g. cannot insert certain characters etc. It would be nice to have at least certain keyboard layouts (Estonian, English, Russian) choices available in i-tee web interface where the remote access link is generated. This choice could be also optional so everyone can choose whether to use it or not.

Solution for Linux
In Linux would be solutions in case of Estonian keyboard:

  • in case of rdesktop adding -k et would solve the issue:
rdesktop -u<user> -p<password> -k et -N -a16 <server>:<port>
  • in case of xfreerdp adding -kbd 0x00000425 would solve the issue:
    xfreerdp --plugin cliprdr -g 90% -u<user> -p<password> -kbd 0x00000425 <server>:<port>

Not tested whether the keyboard issue persist also in MS Windows, macOS but at least in Linux it exist.

Keyboard layouts can be seen:

  • in case of rdesktop at /usr/share/doc/rdesktop/keymap-names.txt (e.g. Russian language: ru)
  • in case of xfreerdp type in console: xfreerdp /kbd-list, e.g. in case of Russian language:
    0x00000419 Russian
    0x00010419 Russian (Typewriter)

Autodetection
There is sometimes lucky situation where rdesktop or xfreerdp autodetects the same keyboard layout as desktop user but in several cases this automatic keyboard detection does not work and choosing manually is still required.

users importing via CSV

Manage users -> Add users by lab
There is a proposal to add into the CSV section below:

  • max amount of users at once: 50
  • is there certain character encoding required (e.g. utf-8)

By adding users more than ~50 via .csv file, the following CookieOverflow error log while debugging with docker logs i-tee -f --tail 10:
App 162 stdout: ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow): App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/cookies.rb:305:in []='
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/session/cookie_store.rb:64:in set_cookie' App 162 stdout: rack (1.4.7) lib/rack/session/abstract/id.rb:335:in commit_session'
App 162 stdout: rack (1.4.7) lib/rack/session/abstract/id.rb:211:in context' App 162 stdout: rack (1.4.7) lib/rack/session/abstract/id.rb:205:in call'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/cookies.rb:341:in call' App 162 stdout: activerecord (3.2.22) lib/active_record/query_cache.rb:64:in call'
App 162 stdout: activerecord (3.2.22) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in call' App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/callbacks.rb:28:in block in call'
App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:405:in _run__3993529084248354613__call__1056957851308586954__callbacks' App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:405:in __run_callback'
App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:385:in _run_call_callbacks' App 162 stdout: activesupport (3.2.22) lib/active_support/callbacks.rb:81:in run_callbacks'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/callbacks.rb:27:in call' App 162 stdout: rack (1.4.7) lib/rack/sendfile.rb:102:in call'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/remote_ip.rb:31:in call' App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/debug_exceptions.rb:16:in call'
App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/show_exceptions.rb:56:in call' App 162 stdout: railties (3.2.22) lib/rails/rack/logger.rb:32:in call_app'
App 162 stdout: railties (3.2.22) lib/rails/rack/logger.rb:18:in call' App 162 stdout: actionpack (3.2.22) lib/action_dispatch/middleware/request_id.rb:22:in call'
App 162 stdout: rack (1.4.7) lib/rack/methodoverride.rb:21:in call' App 162 stdout: rack (1.4.7) lib/rack/runtime.rb:17:in call'
App 162 stdout: activesupport (3.2.22) lib/active_support/cache/strategy/local_cache.rb:72:in call' App 162 stdout: rack (1.4.7) lib/rack/lock.rb:15:in call'
App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:140:in forward' App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:147:in pass'
App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:159:in invalidate' App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:74:in call!'
App 162 stdout: rack-cache (1.7.0) lib/rack/cache/context.rb:51:in call' App 162 stdout: railties (3.2.22) lib/rails/engine.rb:484:in call'
App 162 stdout: railties (3.2.22) lib/rails/application.rb:231:in call' App 162 stdout: railties (3.2.22) lib/rails/railtie/configurable.rb:30:in method_missing'
App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:97:in process_request' App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:160:in accept_and_process_next_request'
App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:113:in main_loop' App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/request_handler.rb:416:in block (3 levels) in start_threads'
App 162 stdout: passenger (5.1.12) src/ruby_supportlib/phusion_passenger/utils.rb:113:in block in create_thread_and_abort_on_exception'

idea: copy-paste from-to virtual machines

It would be good to have convenient way to copy-paste from-to virtual machines. Possibly using ssh-proxy if directly not possible. Then a short tutorial would be appreciated how to set up the ssh-proxy for certain virtual machines (e.g. all VMs among one teacher labs or similar, possibly better solution). Whether it would be possible directly - also tutorial would be appreciated.

proposal to change the check file location

Here would be proposal to change the check file location:
/tmp/checkfile -> /var/tmp/checkfile

This will affect those checks that depend on previous step, e.g. SSH login, etc. Once the server has been shut down by script, the check file will be deleted and other depending checks won't work even the check mark is already green. This applies to all learning spaces using vTA.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.