Welcome to Yet Adapter. This tool allows you to turn tabular CSV data into xAPI statements that you can send to an LRS. In this tutorial, we will take you on an in-depth walkthrough of using the application.
The application is split into 4 steps, and this tutorial will cover the basic features of all of them.
Step 1 - Select File
In this step, you will select a CSV file to upload that contains data you want to work with.
This step is fairly concise. First, click the 'Select File' button and pick a file from your computer.
By default Adapter assumes that your file will contain column headers. If your data starts right away, then uncheck this option.
Adapter also has support for tab (\t) and pipe (|) separated files in addition to comma (,) separated files. By default, the upload process will use commas.
When you are satisfied with the file you have selected and the attached options, click the 'Upload File' button.
If all went well, the file will be uploaded to the server and you will get a confirmation toast at the bottom of the page.
At this point, click the 'Next' button to proceed to Step 2.
Step 2 - Transform Data
This is the main step in the application where you will spend most of your time. Here, you will work with sample data from your CSV and convert it into an xAPI statement template.
This step has three sub-sections: the preview, xAPI palette, and advanced features.
In the data preview section, you will be presented with up to 10 sample rows of data from your file and some metadata to go along with it. These sample rows are not the first rows from your file. Instead, they are a sampling of rows with the most data and rows with the least data. This is done to provide you with a wide range of sample data.
You will be presented with a total count of rows as well as how many are being shown here for you. The header row in the table will be your primary point of interaction with the data. These header chips are draggable components that you will use to construct xAPI statements. We will cover that interaction in the next section.
Each column has some metadata attached. '# times used' is meant to indicate to you how many times you have used a column as part of a transformation. 'Data density' is an analysis of the raw data itself. It tells you a percentage of rows that a value from that column exists in. For example, 'Actor.Email' is a 100% data density. That means in 100% of rows, this column has a value. 'Activity.Name' on the other hand, has a 97.14% data density. This means there is good coverage, but there are some rows that are blank. Use this piece of metadata to determine if the column will be able to generate a good amount of usable statements. The lower the percentage, the less complete statements you will have.
Directly below the preview table is the xAPI palette. In this section you will be presented with a nested view of an xAPI statement structure. First, notice there are three types of statements you can choose from. The first is the 'Minimal xAPI Statement.' This included only the 3 required properties to create a valid xAPI statement. The other two types increase the amount of properties, as the 'Complete xAPI Statement' contains nearly every property.
For now, we will only concern ourselves with the 'Minimal xAPI Statement' template. To begin, click the 'actor' property on the palette to expand it. You should see a nested property called 'Mbox'. Every property contains an example for reference and a box on the right where we will construct our template properties.
Now, return to the preview table and drag the 'Actor.Email' chip down to the 'Build Output' box under 'actor' 'Mbox'. It should look like the result below.
Notice the header for 'Actor.Email' is now lit up to indicate it is being used on the template and the '# times used' counter has increased for this column. On the palette, a copy of the chip is present. We have bound the values in this column to this property in an xAPI statement.
Let's continue moving chips down from the preview table and construct a minimal xAPI statement. This means it needs to include and actor, verb, and object.
For the purposes of this intro, we will not cover the advanced content. Please refer to the additional resources at the end of this resource.
Step 3 - Preview Output
This step is used to verify that you have created valid statements.
The left column will show the row number that the preview is associated with. This provides you a point of reference to your preview data in Step 2. The middle column will show you the generated xAPI statements. Finally, the third column will display the statement validation. In the example above all statements are valid.
It is possible that in Step 2 a mistake was made. In that case, the right column will mark the statement invalid and provide a helpful error message. In the example above, we have not included an 'object' in our statement. The error message tells us this much so we can go back to Step 2 and correct this error.
When you have performed all the transformations in Step 2 you want and at least one preview in Step 3 is valid, you can move on to Step 4.
Step 4 - Submit Data
In this step, we will upload our data to an LRS. Simply gather the endpoint, API key, and API secret key.
If you are using a Yet LRS, follow these instructions on how to get your credentials and keys. Take this information and fill out the form on this page.
Click 'Submit for Processing' to send your data to the LRS, and wait as your data appears. Once all of your statements have been processed and sent to your LRS you will be presented with a report telling you how many statements successfully entered your LRS. If there were any errors in a generated statement, that particular statement will be skipped over.
Beta - Next Steps
This application is currently still in beta. That means there will be bugs and some features will not work consistently. Please feel free to use the 'Feedback' button in the lower left hand corner to submit tickets if you encounter any problems, and please be as descriptive as possible.
More features are being added and existing features are being fixed, so please be patient as we improve the usability and ease of use of this application. Thank you very much for helping us through this beta phase to make the best product we can!
Refer to these other resources for more information and advanced features: