As the names suggest we can use the first to *run* one of our available lab instances, the second to *enter* a created labroom, and the third to *execute* scripts. +
Lets look at the options one by one. +
For the purpose of this walkthrough 'testmpi2' and 'test 18' were created. +
Since the console is explained along with the first area we dont feel there is a need to have seperate walkthrough.
To request more info about the lab we use the info icon image:images/run/info_icon.png[] and the trashcan image:images/run/trash_icon.png[] deletes the lab (forever). +
To do so we have to go through a series of steps, but lets first understand some basic things about how swarmlab works...
TIP: Every swarmlab lab instance resides in a git repo created inside link:https://git.swarmlab.io:3000[our git^] and owned by the lab creator. This repo then serves as a 'home' for all the work inside that lab. +
So for us to create and run a lab we have to link a service to a git repo. +
Asuming we have an account (using the same email as our swarmlab account!) all our repos should be shown on the list in the top left corner. +
To search for any public repo we can use the search bar. +
We can use any repo we like, but we will be able to commit only to those that we have access to. +
If we wish to edit or contribute to the development of a project we are not part of we can use the clone option as usual! +
Now we have to select the service that our lab will be using. We just select the desired one from the list on the right and it will be automatically linked to the project. +
image::images/bootstrap/service_select.png[]
Finally we have to save the lab instance by filling in the required info at the bottom. +
Here we can see a list of all the labrooms programmed to run today. Again like in the run tab we can distinguish open from closed ones by color (green/orange). +
We can also get info using the info icon image:images/for_tutors/info_icon.png[] or delete the labroom using the trashcan icon image:images/for_tutors/trash_icon.png[] . +
Here we can select the desired (existing!) lab instance that will be used to create the labroom using the plug icon image:images/for_tutors/plug_icon.png[]. +
Now using the searchbar that follows (you HAVE to search for students for them to come up) we search and select (image:images/for_tutors/plug_icon.png[]) the students that we want to invite to the lesson. +
A LO Notebook *is a reusable web-based interactive chunks of e-learning* designed to explain a stand-alone learning objective, which can be used, reused or referenced during technology supported learning.
- *Learning objects are a new way of thinking about learning content*. Traditionally, content comes in a several hour chunk. Learning objects are much smaller units of learning, typically ranging *from 2 minutes to 15 minutes.*
- Are *self-contained* – each learning object can be taken independently
- Are *reusable* – a single learning object may be used in multiple contexts for multiple purposes
- Can *be aggregated* – learning objects can be grouped into larger collections of content, including traditional course structures
- Are *tagged with metadata* – every learning object has descriptive information allowing it to be easily found by a search
"A digital self-contained and reusable entity, with a clear educational purpose, with at least three internal and editable components: content, learning activities and elements of context.".footnote:[Learning Technology Standards Committee (2002), Draft Standard for Learning Object Metadata. IEEE Standard 1484.12.1 (PDF), New York: Institute of Electrical and Electronics Engineers, retrieved 2008-04-29]
[quote, Wikipedia]
"learning object any entity, digital or non-digital, that may be used for learning, education or training".footnote:[https://en.wikipedia.org/wiki/Learning_object#Definitions]
* *Built for collaboration.* - Swarmlab.io notebooks are easy to collaborate with using version control systems (git). The YAML index file makes it extremely easy to tell where things belongs to.
** Providing hands-on walkthroughs of new library modules, visualization techniques, and strategies for attacking existing problems. They allow someone to mostly follow along while allowing them space to try out new things right in-line.
Get familiar with "The Creative Commons copyright licenses".
‘About the Licenses'.footnote[http://creativecommons.org/about/licenses]
Creative Commons is an international nonprofit that offers flexible copyright management tools for creative work. Many learning objects have CC licences.
<6> A Swarmlab service is an dockerized microservice. It receives code snippets to execute, runs these code snippets, and returns the result and output of the execution (Click on Field [Service] will show all available services to use).
Text can be added to swarmlab.io Notebooks using https://asciidoctor.org/docs/[Ascidoctor]
[NOTE]
====
Asciidoctor is a fast text processor and publishing toolchain for converting AsciiDoc content to HTML5, DocBook 5, EPUB3, PDF and other formats. Asciidoctor is the leading implementation of the AsciiDoc syntax, first introduced and implemented in the Python-based AsciiDoc project.
====
===== Why AsciiDoc?
* Standardized format
** The formatting of Asciidoc is standardized so there is only one 'flavor' unlike in Markdown. The definitive user guide is http://asciidoctor.org/docs/asciidoc-writers-guide/[here]
* Asciidoctor can convert directly to HTML or DocBook.
AsciiDoc is about being able to focus on expressing your ideas, writing with ease and passing on knowledge without the distraction of complex applications or angle brackets.
AsciiDoc works because:
- It’s readable
- It’s concise
- It’s comprehensive
- It’s extensible
- It produces beautiful output (HTML, DocBook, PDF, ePub and more)
AsciiDoc is easy to write and easy to read (in raw form). It’s also easy to proof and edit. After all, it’s plain text, just like that familiar e-mail.
Best of all, it only requires a text editor to read or write.
===== AsciiDoc vs Markdown
The defacto lightweight markup language is Markdown. (At least, that’s what you call it at first). *The main advantage of Markdown lies in its primitive syntax:* its manual and cheatsheet are one and the same. *But this advantage is also its greatest weakness.*
As soon as authors need something slightly more complex than basic prose (e.g., tables, cross references, footnotes, embedded YouTube videos, etc.), they find themselves *resorting to embedded HTML* or seeking out more feature-rich implementations. Markdown has become a maze of different implementations, termed “flavors”, which make a universal definition evasive.
[NOTE]
====
The IETF has declared “there is no such thing as "invalid" Markdown.” https://tools.ietf.org/html/rfc7763#section-1.1[See This Is Markdown! Or: Markup and Its Discontents.]
====
Here’s how the story inevitably goes.
- You start out with Markdown.
- Then it’s Markdown + X.
- Then Markdown + X + Y.
- And down the rabbit hole you go.
*What’s worse, X and Y often require you to sprinkle in HTML, unnecessarily coupling content with presentation and wrecking portability. Your instinct to choose Markdown is good. There are just better options.*
===== Code
The Swarmlab Services offers an easy place to run your Source code.
you can create, run and share your live code right away without worrying about the system that's running
[NOTE]
====
Swarmlab Learning Object Notebooks are language agnostic
====
[NOTE]
====
As you see it's really easy to create a LO you may not even need the "Bootstrap LearningObject" menou.
Follow the instructions given in the "yaml-index" file and you'll be ready to start.
You can allways create a prototype LO from the menu and edit it later on.
Swarmlab.io is a open source project born to support interactive Virtual Labs and interactive Learning Objects across all programming languages and systems. i
We invite anyone to come and participate in the creation of Swarmlab.io. Regardless of your skillset, we’re sure there is something you can add to our community and project.
Security reports are greatly appreciated and we will publicly thank you for it, although we keep your name confidential if you request it.
=== Reporting other issues
A great way to contribute to the project is to send a detailed report when you encounter an issue. We always appreciate a well-written, thorough bug report, and will thank you for it!
Check that our issue database doesn’t already include that problem or suggestion before submitting an issue. However, if you have ways to reproduce the issue or have additional information that may help resolving the issue, please leave a comment.
Also include the steps required to reproduce the problem if possible and applicable. This information will help us review and fix your issue faster. Don’t forget to remove sensitive data from your logfiles before posting (you can replace those parts with “REDACTED”). Quick contribution tips and guidelines
contributions can make a docker-compose prototype
=== Develop swarmlab services
All developers already familiar with docker-compose and that have already set up interesting stacks that may be useful to others, are highly encouraged to add them to the repository and share them. Improvements on the current samples are also very much appreciated!