Lesson 1 : Your working environment


The Plan


  • Getting to know our Editor, Eddie as we call it.
  • Learning about the Ibis console.


Introducing Eddie

Eddie is an online code editor based on Codemirror, which has been instrumental in a multitude of browser editor implementations. For example the developer tools in Chrome and Firefox have a Codemirror based editor, or Adobe Brackets, that also uses CM. In the spirit of the IAF, Codemirror is open source. Besides its editing functionality Eddie displays information about framework classes in its Navigator section, and insert those in the editor. Its third main capability is that it can send its files to an Ibis, thereby creating a back-end service. You can find Eddie at this url  . Eddie is tested in Chrome so any ‘strange’ behaviour could be solved by switching browsers.






The editor part has some basic functionality under the hood. As we will mainly be working with xml there is basic syntax checking and tag validation. Errors in your xml tags will result in red error markups. With focus on the editor a press on ctrl-space will toggle autocompletion and show dropdowns with options for the tag you are making. Matching tags are highlighted and in the linenumbergutter you can fold your code with the small triangles.  The Tag Library displays all the IAF building blocks. These are roughly divided in Pipes, Receivers, Snippets and General tags. Toggle the radio buttons to view your selection. Choosing an item will display the general information of this item, as well as the available properties. You can select and modify these properties with the check- and inputboxes . The insert button lets you add this snippet to your code.


Eddies File Browser displays the files and folders you are working on. Click on the file to start editing it. Your filename will be displayed in the navbar above the tabs. Your work is automatically saved in the local browser storage. Closing your browser will keep your files, they are kept safe in your local storage. Files and directories can be dragged and dropped.


Sends your current working tree to the Ibis. Succesful upload will give you a green dot here, in case of failure you will get a red dot.  
Save your current work onto the hard drive. This will be the default download location of your browser, usually the ‘Downloads’ folder.
Load a configuration into the file browser. You need a file with .zip extension. This can overwrite your current structure, but you are also allowed to merge a zip file with your current documents. Lastly you can choose to download the config that is currently running in your Ibis.  
This button lets you insert the chosen item into the editor window. In the tag library you can modify this item, view which properties are available , and give them values. Snippets will give you complete pieces of code, while general gives you miscellaneous tags.
Formats your code.
Erases your current  file.
In the filebrowser: Change a file- or directoryname with the pen icon; confirm with “Enter” or clicking somewhere on the screen. Delete a file with the cross; careful : no confirmation is asked!
Add a new blank file. This will get a default name which you can change of course.
Add a new folder. You can drag and drop folders and files.

The Ibis console

An integral part of an Ibis is its console. It is a visual tool that gives feedback about the working of  the Ibis. Since an Ibis is all about incoming and outgoing messages we can find information about how much messages have been processed, the content of those messages, their processing status, operations speed, etc. Keep in mind that we are dealing with a tool that can process thousands and thousands of messages. That makes it vital to monitor and test our messages. You can reach the console at this url



  The status window shows the general health of the adapters in the Ibis. Red, green and orange coloring give the user an intuitive grasp of where the attention should go. An Ibis usually has some built in adapters, for example those that manage interaction with the database. Adapters are ordered into tab-groups. For the purposes of this course, you have an own tab, in this case the user should look under the Ibis9 tab.  In the example on the right you see a possible error message. For a discussion of those look at our troubleshooting page.
  The configuration window shows you the code of all the adapters that reside in your Ibis. Under the subtab “manage configurations” you can download the configuration that is currently active. This will give you the same zip file that you will get in Eddie via the load configuration button.
Under this tab you can test a specific adapter. In the input field you can enter the message. Usually you will enter some xml or json but you can also upload a different file. The response as it comes back gives you an error or a success message.
In Ibis4Education you could need the scheduler. It is a functionality that does things that have to be done on a regular basis. You could think of cleaning up the database. These tasks run automatically. In our Ibis there’s a running task “CheckReload”, that reloads the Ibis when its configuration has changed. This happens every minute, so it could happen that you’ve uploaded your configuration and nothing happens. You can wait then for a minute, or trigger this task by hand.
The database can be reached under the tab “jdbc”, standing for Java Database Connectivity. You can browse a table here, or do a query, like creating a table, inserting a document, or inspecting a table. The used sql dialect here is MySql.
When you need more detail of a pipeline you can consult the Ladybug tool under the testing tab. You can see the exact flow of events here. The scenario you’ll definitely encounter is that things go wrong and you want to know why and how. The troubleshooting page explains you more about Ladybug.


Leave a Comment