How does RISE store attached pdf files when exported for web or LMS?

Jan 03, 2023

𝖨'𝗆 𝗂𝗇 𝗍𝗁𝖾 𝗎𝗇𝗎𝗌𝗎𝖺𝗅 𝗌𝗂𝗍𝗎𝖺𝗍𝗂𝗈𝗇 𝗈𝖿 𝗁𝖺𝗏𝗂𝗇𝗀 𝗌𝗈𝗆𝖾𝗍𝗁𝗂𝗇𝗀 𝗍𝗁𝖺𝗍 𝗐𝗈𝗋𝗄𝗌 𝗂𝗇 𝖱𝖨𝖲𝖤 𝗍𝗁𝖺𝗍 𝖨 𝖾𝗑𝗉𝖾𝖼𝗍𝖾𝖽 𝗍𝗈 𝖿𝖺𝗂𝗅 - 𝗮𝗻𝗱 𝘄𝗲 𝗵𝗮𝘃𝗲 𝗻𝗼 𝗶𝗱𝗲𝗮 𝘄𝗵𝘆 𝗶𝘁 𝘄𝗼𝗿𝗸𝘀!!

𝖶𝖾 𝗁𝖺𝗏𝖾 𝖻𝖾𝖾𝗇 𝖾𝗑𝗉𝖾𝗋𝗂𝗆𝖾𝗇𝗍𝗂𝗇𝗀 𝗐𝗂𝗍𝗁 𝗎𝗌𝗂𝗇𝗀 𝖺 𝖲𝗍𝗈𝗋𝗒𝗅𝗂𝗇𝖾 𝖻𝗅𝗈𝖼𝗄 𝗂𝗇 𝖱𝖨𝖲𝖤 𝗍𝗈 𝖿𝗂𝗅𝗅 𝗈𝗎𝗍 𝖺 𝗉𝖽𝖿 𝖿𝗈𝗋𝗆. 𝖶𝖾 𝗁𝖺𝗏𝖾 𝗍𝗁𝖾 𝖩𝖺𝗏𝖺𝖲𝖼𝗋𝗂𝗉𝗍 𝖼𝗈𝖽𝖾 𝗐𝗈𝗋𝗄𝗂𝗇𝗀 𝖿𝗂𝗇𝖾. 𝖮𝗎𝗋 𝖼𝗁𝖺𝗅𝗅𝖾𝗇𝗀𝖾 𝗐𝖺𝗌 𝗁𝗈𝗐 𝗍𝗈 𝗅𝗈𝖼𝖺𝗍𝖾 𝗍𝗁𝖾 𝗉𝖽𝖿 𝖿𝗈𝗋𝗆 𝗍𝖾𝗆𝗉𝗅𝖺𝗍𝖾 𝗂𝗇 𝗍𝗁𝖾 𝖩𝖺𝗏𝖺𝖲𝖼𝗋𝗂𝗉𝗍...

𝖶𝖾 𝖺𝗍𝗍𝖺𝖼𝗁𝖾𝖽 𝗍𝗁𝖾 𝗉𝖽𝖿 𝖿𝗈𝗋𝗆 𝗂𝗇 𝖺𝗇 𝖠𝗍𝗍𝖺𝖼𝗁𝗆𝖾𝗇𝗍 𝖻𝗅𝗈𝖼𝗄 - 𝖼𝗅𝗂𝖼𝗄𝗂𝗇𝗀 𝗈𝗇 𝗂𝗍 𝗀𝖺𝗏𝖾 𝗎𝗌 𝗍𝗁𝖾 𝖴𝖱𝖫 𝗈𝖿 𝗍𝗁𝖾 𝖿𝗂𝗅𝖾. 𝖲𝗈𝗆𝖾𝗍𝗁𝗂𝗇𝗀 𝗅𝗂𝗄𝖾:

𝗁𝗍𝗍𝗉𝗌://𝖺𝗋𝗍𝗂𝖼𝗎𝗅𝖺𝗍𝖾𝗎𝗌𝖾𝗋𝖼𝗈𝗇𝗍𝖾𝗇𝗍.𝖼𝗈𝗆/𝗋𝗂𝗌𝖾/𝖼𝗈𝗎𝗋𝗌𝖾𝗌/_𝗇𝗉𝗒𝗇𝖩𝖢𝖩𝖢𝖢𝗎𝗀𝟪𝗅𝟥𝗊𝗃𝖾_𝗁𝖢𝗑𝖸𝖮𝖬𝖥𝖫𝗇𝗇𝗋𝟢/𝖼𝖪𝖼𝟣𝗏𝖳𝟤𝗇𝖳𝖠𝗋𝖾𝗉𝖹𝗌𝟥-𝖭𝗈𝗍𝖾𝗌𝖳𝖾𝗆𝗉𝗅𝖺𝗍𝖾.𝗉𝖽𝖿

(𝗇𝗈𝗍 𝗍𝗁𝖾 𝖺𝖼𝗍𝗎𝖺𝗅 𝖼𝗈𝖽𝖾𝗌 - 𝖻𝗎𝗍 𝗂𝗍 𝗅𝗈𝗈𝗄𝖾𝖽 𝗅𝗂𝗄𝖾 𝗍𝗁𝗂𝗌)

𝖳𝗁𝗂𝗌 𝗐𝖾 𝗂𝗇𝗌𝖾𝗋𝗍𝖾𝖽 𝗂𝗇 𝗈𝗎𝗋 𝖩𝖺𝗏𝖺𝖲𝖼𝗋𝗂𝗉𝗍 - 𝖺𝗇𝖽 𝗂𝗍 𝗐𝗈𝗋𝗄𝖾𝖽 𝗅𝗂𝗄𝖾 𝖺 𝖽𝗋𝖾𝖺𝗆. 𝖡𝖴𝖳 𝗐𝖾 𝖺𝗌𝗌𝗎𝗆𝖾𝖽 𝗍𝗁𝖺𝗍 𝗈𝗇𝖼𝖾 𝗐𝖾 𝗁𝖺𝖽 𝖾𝗑𝗉𝗈𝗋𝗍𝖾𝖽 𝗍𝗁𝖾 𝖼𝗈𝗎𝗋𝗌𝖾 𝗍𝗈 𝖺 𝗐𝖾𝖻 𝗏𝖾𝗋𝗌𝗂𝗈𝗇 𝗈𝗋 𝖺𝗇 𝗅𝗆𝗌 𝗏𝖾𝗋𝗌𝗂𝗈𝗇 𝗍𝗁𝖾 𝗅𝗂𝗇𝗄 𝗂𝗇 𝗍𝗁𝖾 𝖩𝖺𝗏𝖺𝖲𝖼𝗋𝗂𝗉𝗍 𝖼𝗈𝖽𝖾 𝗐𝗈𝗎𝗅𝖽 𝖿𝖺𝗂𝗅 𝖻𝖾𝖼𝖺𝗎𝗌𝖾 𝗍𝗁𝖺𝗍 𝖴𝖱𝖫 𝗐𝗈𝗎𝗅𝖽 𝗇𝗈 𝗅𝗈𝗇𝗀𝖾𝗋 𝖻𝖾 𝗏𝖺𝗅𝗂𝖽. 𝖳𝗈 𝗈𝗎𝗋 𝗌𝗎𝗋𝗉𝗋𝗂𝗌𝖾, 𝖻𝗈𝗍𝗁 𝗍𝗁𝖾 𝗐𝖾𝖻 𝗏𝖾𝗋𝗌𝗂𝗈𝗇 𝖺𝗇𝖽 𝗅𝗆𝗌 𝗏𝖾𝗋𝗌𝗂𝗈𝗇𝗌 𝗐𝗈𝗋𝗄𝖾𝖽 𝗉𝖾𝗋𝖿𝖾𝖼𝗍𝗅𝗒.

𝖨'𝗆 𝗇𝗈𝗍 𝖼𝗈𝗆𝗉𝗅𝖺𝗂𝗇𝗂𝗇𝗀, 𝖨 𝖺𝗆 𝗃𝗎𝗌𝗍 𝖻𝖺𝖿𝖿𝗅𝖾𝖽 - 𝖼𝗅𝖾𝖺𝗋𝗅𝗒 𝖨 𝖽𝗈𝗇'𝗍 𝗎𝗇𝖽𝖾𝗋𝗌𝗍𝖺𝗇𝖽 𝗁𝗈𝗐 𝖱𝖨𝖲𝖤 𝖾𝗑𝗉𝗈𝗋𝗍𝗌 𝗐𝗈𝗋𝗄! 𝖬𝗂𝗇𝖽 𝗒𝗈𝗎, 𝗍𝗁𝖾𝗋𝖾 𝖺𝗋𝖾 𝖺 𝗅𝗈𝗍 𝗈𝖿 𝗍𝗁𝗂𝗇𝗀𝗌 𝖨 𝖽𝗈𝗇'𝗍 𝗎𝗇𝖽𝖾𝗋𝗌𝗍𝖺𝗇𝖽 :)

7 Replies
Alyssa Gomez

Hi there, John! That's a great question!

When you upload a file to an attachment block in Rise 360, that file is stored on our servers. The direct link to the attached file that begins with https://articulateusercontent.com/rise/courses/... is pointing to the file stored on the server, so the link will continue to work even after you publish the file and host it on your LMS or web server. The link will only be broken if you permanently delete the course from Rise 360. 

We also mentioned a similar solution for PDF storage in this article: Make Your PDF Pop in Rise 360

Please let me know if that answers your question! 

John Cooper

Oh wow! That was an eye-opener! Thanks. I LOVE the idea of creating a RISE module that has the pdf template in and then referencing it from another module!

The reason we have been experimenting with the 'pdf-lib' JavaScript library rather than using 'jsPdf' is it's ability to fill out pdf 'forms'. So when creating a pdf for download in Storyline - like a certificate - rather than having to create the pdf in JavaScript and work out where on the page the course title or name or date goes, we can just say - open the form template and fill out the course title, name and date fields - wherever they are in the document. This means we can use the same short segment of JavaScript code to create a whole range of different certificates. 

In Storyline we just reference the pdf template from the root directory and copy the template to that directory after we have published. Re-designing the certificate is a breeze - just edit the template and replace it in the course files.

Now, this gives us the ability to use this approach through Storyline blocks within RISE... OK, editing the template might mean we have to re-link the file to the code - but that's no big deal...

Oh, we have so many ideas on how we can use this to spice up our RISE courses!

Gren Foronda

Hi John!

Thanks for sharing these details, and for your request to store variables in Rise.

Variables aren't supported in RIse 360 yet, but can you tell me a bit more about why you’d like to have that feature?

Would you like to use variables to collect data from learners (such as their names), or would you like to pass variables between the Rise course and a Storyline block? I would love to hear your thoughts so I can share them with the team!

John Cooper

Thanks Gren

If there were a few 'global' variables like the Learner's Name and maybe a dozen text and numeric variables that could be set within a new interactive block type that allowed for text or numeric input - and these variables could be displayed in a text block using some special characters - as is the case in Storyline - then that would add a LOT of extra functionality to Rise developers.

The variable names could be fixed if that would be easier e.g. "RiseTVar1", "RiseTVar2"... etc. 

If those same  variables could then also be made available through a "GetVar" and "SetVar" API in JavaScript from a Storyline module the possibilities would be limitless!

I could create a 10 question Likert scale survey in a Storyline block and pass the results back to Rise to display them - or pick them up again in a later Storyline block and give the learner specific feedback based on their input...

I could create a learning journal allowing the learner to input notes at various points in the course and then pick the notes up in a Storyline block at the end of the course and email or print a pdf version of the journal...

I could build a multi-scene scenario in Storyline where what happened in part 2 was dependent on part 1....

I could...     You get the idea. I would be very excited!!

John Cooper

Thanks Gren...

incidentally as per the post above that Allysa directed me to, we recently created a Likert-style slider based survey using a Storyline block within a Rise course  for a client. The JavaScript code used the 'pdf-lib' JavaScript library and the output of the survey was created using a pdf 'form' template.

Rather than include the pdf template as an attachment in the Rise course with the survey we created a second Rise course and put the template as an attachment there so it was 'hidden' from our client's learners. It worked perfectly. Once we had the URL of the attachment template we found we could use it in any of our Rise courses - Who knew eh!