I'm working in Storyline and have found that it does not display slide numbers. I've looked around on some of the other blogs about this and have come to the conclusion that it is not an easy task. Can anyone advise me on how to insert slide numbers without having to put a text box into every single slide? My projects are over 150 slides and that is just not feasible.
I do this using the master slide and a couple of variables. This does require a trigger on each slide to modify the current slide number value but once you get it setup it's really fast to add them.
I create a text field on my master slide that contains this:
%currentSlide% of %totalSlides%
Then I create two variables to contain values:
currentSlide - number variable default 0
totalSlides - number variable default to the number of total slides
I add a trigger to each slide to modify the currentSlide value. When the timeline starts change variable value to X. I copy this trigger and paste it to each slide in Story view.
While still in story view, I can select the value on each slide and change it based on the slide sequence (1, 2, 3, etc..) It seems like a lot of work but it's really not too bad. I can number a 150 slide story in under 10 minutes.
Erin, tx for Q. Steve, tx for A. Agree the conversations, in my head are getting a bit mucked up around this question. Nice, clean, easy response. Got it!
The issue I see with your method is that it adds 1 to the CurrentSlide variable. If you view slide 1, then 2, then go back a page, it adds 1 to the first slide and makes it 3. Not sure what could be done to correct that.
I'm setting absolute values for each slide. I don't really like the add method. As you say, it's easy to lose track. I usually set three values per slide:
slideNumber
slideTitle
slideID
I use the slide ID (storyboard number) to display a unique ID for each slide during development to reconcile feedback. A slide number could conceivably appear twice in a module (lesson 1, 2, and 3 may each have a slide 1; depending on how the client prefers to set it up)
Other than avoiding having to create a text box on every page (I assume its on a slide master) it seems like Steve's method doesn't really save much developer effort in the way of hard coding. You still have to touch every page manually and deal with the annoyingly small Trigger interface palette. and God forbid if teh Instructional designer or SME decide to add or remove a page or reorganize the course!
It seems to me that SL has all the code it needs internally to track a user's position in the course so I can see no reason why they don't expose that information to the developer (as a read only variable) I am going to propose that the add the following functionality in the product feedback:
for stories:
%storySlideCount%
for scenes:
%sceneTitle%
%sceneNumber%
%sceneSlideCount%
%includeSceneSlideCountInTotal% - a boolean property to indicate whether to include a scene's pages in the storySlideCount
Absolutely, Randall. Please submit those through the feature request link. It's **really** similar and identical in most cases to the feature requests myself and a few others have put in. The more the better!
The method shown here is one way to work within the methods exposed in the current tool. I'd much rather have these features exposed through a "player variable".
Thanks, Steve. I forgot about being able to edit triggers in story mode; that would make it easier. I wonder why they don't allow developers to attach triggers to the previous button? That would at least make it simple for linear courses with no menu (or other "jump-to: triggers). I smell another function request!
I would also like to see a slide count function in the player. It doesn't seem like it really belongs in the content area of my slides, since previous, next, and other global course functionality are in the player. It would be great if I could switch on slide counting in the player as an option.
Does anyone know how feature requests are processed and if there is any way to know whether one is being considered?
Does anyone know how feature requests are processed and if there is any way to know whether one is being considered?
Thanks!
Hi Catharine!
Our feature requests are seen directly by our development team and play a key role in determining what gets included in future versions. We don't currently have a publicly available list of what's in store for the future, but that in itself is a popular feature request
Steve's original answer to Erin described a text field modification to the master slide. Could anyone take me through his solution in a bit more detail - i'm struiggling to implement his suggestion.
If you go to view tab, then slide master of that slide, insert a text box with desired format settings, then paste Steve's code "%currentSlide% of %totalSlides%" and then exit the slide master, go to trigger wizard using the 3 dots create 2 variables totalSlides and currenteSlide, and then select your new totalSlides variable and set a value (Drop-down, select value) that is total to the amount of slides in your storyline project, and press OK. Then create another trigger via the wizard selecting the currentSlide variable you just created and add a value again but this time this value you change for every slide number so start with 1, and so on, and press OK. Then in story view you can copy and paste these 2 triggers just changing the currentSlide trigger to match the slide you are in (Right side of screen, Slide Trigger options), I hope this helps,
Other than avoiding having to create a text box on every page (I assume its on a slide master) it seems like Steve's method doesn't really save much developer effort in the way of hard coding. You still have to touch every page manually and deal with the annoyingly small Trigger interface palette. and God forbid if teh Instructional designer or SME decide to add or remove a page or reorganize the course!
It seems to me that SL has all the code it needs internally to track a user's position in the course so I can see no reason why they don't expose that information to the developer (as a read only variable) I am going to propose that the add the following functionality in the product feedback:
for stories:
%storySlideCount%
for scenes:
%sceneTitle%
%sceneNumber%
%sceneSlideCount%
%includeSceneSlideCountInTotal% - a boolean property to indicate whether to include a scene's pages in the storySlideCount
How would I add a slide number in a scenario where the presentation follows two paths? Some employees will take one path, while other employees would take another path. A true slide count would not be appropriate, and each path has a different number of slides. Also, both paths start out with a series of slides in common. For example, I have a total of 120 slides. The presentation begins with the first 54 slides being the same. When it branches, one path has 12 slides, the other has 6. The presentation then comes back together for a final 48 slides. So one path would has 114 total slides while the other has 108.
If I understand Steve's solution he is manually setting the page number per slide. So on page 1 there is a slide trigger that adjusts the %currentSlide% variable to 1, and slide 2 adjusts the variable to 2, so on and so forth all the way to (in your case) 114 or 108.
Now to Randalls point that is still alot of manual work. Besides easily getting out of sync if you add a page mid project.
To your point if you set the variable to which ever slide you're on then it wouldn't matter the path as each slide sets the variable.
The problem comes about when the branches come back together.
The course goes on for 4 slides then it branches. There are 2 paths.
pathA is 4 slides long.
pathB is 17 slides long.
After each path the course merges back into one path to show another 10 screens.
If you use Steve's method of setting page number by variable then you could easily set the page numbers of the last 10 screens by adding variables together.
Create a new variable called pathLength. Set a trigger on the first slide of each path that sets the variable equal to the number of slides in that path.
When the user gets back to the merged path just add the variable to the page number variable. In this example the first page of the merge path would be equal to 5 + pathLength. So if the user traveled pathA the number would be 9; if they travelled pathB the number would be 22.
First of all, I am in total agreement that Storyline has always suffered from a lack of a variety of internal global variables that would be exposed for our use.
That said, here is another approach to a simple page of page count that would work for linear flow. I always create my own navigation and do not use the player so I can place triggers on my nav buttons. Not going to be of much use for non-linear branching, but it will automatically adjust for the insertion and deletion of pages as long as the last thing you do is update the "totalPages" variable.
I create two number variables - pageCount and totalPages (you could create totalPagesS1, totalPagesS2, etc. to track scenes separately)
Assign pageCount an initial value of 1 and totalPages the number of pages in the program (or given scene).
Then I create a "Next" arrow that has a trigger that jumps to the next slide and a trigger that adds one to the pageCount variable. This latter trigger should be listed first. I create a "Previous" arrow that has a trigger that jumps to the previous slide and a trigger that subtracts 1 from pageCount . The first page of the scene only has the Next arrow and the last slide of the scene only has the Previous arrow.
Pretty down and dirty, for a straight linear flow only, but works OK. An internal page variable would make non-linear flows (and all of this) a lot easier to handle.
Oops, left out the display part. Just need to create or modify a master slide that displays %pageCount% of %totalPages% (or a slide master per scene with %pageCount% of %totalPagesS1%, etc.) at the location on the screen where you want to display your page count.
I'm reading down this thread which is really interesting. I'm looking to add either (1) page numbers or (2) question numbers to Assessments that we are building. Would the above process work for this, especially if there are mulitple question banks, where we want to randomise questions from each QBank and then re-randomise the questions again! We have a standard template we have built for our Assessments, so could we pop some variables into the QBank slide that would support this or not?
There isn't a built in function for page numbers, but it's a popular feature request. In regards to the method Neil shared, if you need to retake the quiz and re-randomize the questions you'll want to include a trigger to reset the variable.
98 Replies
Hi, Erin -
I do this using the master slide and a couple of variables. This does require a trigger on each slide to modify the current slide number value but once you get it setup it's really fast to add them.
I create a text field on my master slide that contains this:
%currentSlide% of %totalSlides%
Then I create two variables to contain values:
I add a trigger to each slide to modify the currentSlide value. When the timeline starts change variable value to X. I copy this trigger and paste it to each slide in Story view.
While still in story view, I can select the value on each slide and change it based on the slide sequence (1, 2, 3, etc..) It seems like a lot of work but it's really not too bad. I can number a 150 slide story in under 10 minutes.
Hi Erin and Jessie,
Erin, tx for Q. Steve, tx for A. Agree the conversations, in my head are getting a bit mucked up around this question. Nice, clean, easy response. Got it!
Hey Steve,
The issue I see with your method is that it adds 1 to the CurrentSlide variable. If you view slide 1, then 2, then go back a page, it adds 1 to the first slide and makes it 3. Not sure what could be done to correct that.
Hi, Michael -
I'm setting absolute values for each slide. I don't really like the add method. As you say, it's easy to lose track. I usually set three values per slide:
slideNumber
slideTitle
slideID
I use the slide ID (storyboard number) to display a unique ID for each slide during development to reconcile feedback. A slide number could conceivably appear twice in a module (lesson 1, 2, and 3 may each have a slide 1; depending on how the client prefers to set it up)
I agree with Steve here, I set the variable when the slide loads for each slide.
the other way is to add slide numbers to your menu through the player options
Other than avoiding having to create a text box on every page (I assume its on a slide master) it seems like Steve's method doesn't really save much developer effort in the way of hard coding. You still have to touch every page manually and deal with the annoyingly small Trigger interface palette. and God forbid if teh Instructional designer or SME decide to add or remove a page or reorganize the course!
It seems to me that SL has all the code it needs internally to track a user's position in the course so I can see no reason why they don't expose that information to the developer (as a read only variable) I am going to propose that the add the following functionality in the product feedback:
for stories:
%storySlideCount%
for scenes:
%sceneTitle%
%sceneNumber%
%sceneSlideCount%
%includeSceneSlideCountInTotal% - a boolean property to indicate whether to include a scene's pages in the storySlideCount
for slides:
%slideTitle%
%slideStoryNumber%
%slideSceneNumber%
%trackSlideNumberInStory% default true boolean property
%trackSlideNumberInScene% default true boolean property
Absolutely, Randall. Please submit those through the feature request link. It's **really** similar and identical in most cases to the feature requests myself and a few others have put in. The more the better!
The method shown here is one way to work within the methods exposed in the current tool. I'd much rather have these features exposed through a "player variable".
Thanks, Steve. I forgot about being able to edit triggers in story mode; that would make it easier. I wonder why they don't allow developers to attach triggers to the previous button? That would at least make it simple for linear courses with no menu (or other "jump-to: triggers). I smell another function request!
Previous triggers have been added since update 1, I believe. But since it's history based, stuff gets wacky if there are jumps
I would also like to see a slide count function in the player. It doesn't seem like it really belongs in the content area of my slides, since previous, next, and other global course functionality are in the player. It would be great if I could switch on slide counting in the player as an option.
Does anyone know how feature requests are processed and if there is any way to know whether one is being considered?
Thanks!
Hi Catharine!
Our feature requests are seen directly by our development team and play a key role in determining what gets included in future versions. We don't currently have a publicly available list of what's in store for the future, but that in itself is a popular feature request
Thanks for the information, Peter!
Steve's original answer to Erin described a text field modification to the master slide. Could anyone take me through his solution in a bit more detail - i'm struiggling to implement his suggestion.
Thanks
Hi Jeremy,
If you go to view tab, then slide master of that slide, insert a text box with desired format settings, then paste Steve's code "%currentSlide% of %totalSlides%" and then exit the slide master, go to trigger wizard using the 3 dots create 2 variables totalSlides and currenteSlide, and then select your new totalSlides variable and set a value (Drop-down, select value) that is total to the amount of slides in your storyline project, and press OK. Then create another trigger via the wizard selecting the currentSlide variable you just created and add a value again but this time this value you change for every slide number so start with 1, and so on, and press OK. Then in story view you can copy and paste these 2 triggers just changing the currentSlide trigger to match the slide you are in (Right side of screen, Slide Trigger options), I hope this helps,
Mark
Oh yes, the sooner the better pls.
How would I add a slide number in a scenario where the presentation follows two paths? Some employees will take one path, while other employees would take another path. A true slide count would not be appropriate, and each path has a different number of slides. Also, both paths start out with a series of slides in common. For example, I have a total of 120 slides. The presentation begins with the first 54 slides being the same. When it branches, one path has 12 slides, the other has 6. The presentation then comes back together for a final 48 slides. So one path would has 114 total slides while the other has 108.
Dawn,
If I understand Steve's solution he is manually setting the page number per slide. So on page 1 there is a slide trigger that adjusts the %currentSlide% variable to 1, and slide 2 adjusts the variable to 2, so on and so forth all the way to (in your case) 114 or 108.
Now to Randalls point that is still alot of manual work. Besides easily getting out of sync if you add a page mid project.
To your point if you set the variable to which ever slide you're on then it wouldn't matter the path as each slide sets the variable.
Hope that helps.
The problem comes about when the branches come back together.
The course goes on for 4 slides then it branches.
There are 2 paths.
pathA is 4 slides long.
pathB is 17 slides long.
After each path the course merges back into one path to show another 10 screens.
If you use Steve's method of setting page number by variable then you could easily set the page numbers of the last 10 screens by adding variables together.
Create a new variable called pathLength. Set a trigger on the first slide of each path that sets the variable equal to the number of slides in that path.
When the user gets back to the merged path just add the variable to the page number variable. In this example the first page of the merge path would be equal to 5 + pathLength. So if the user traveled pathA the number would be 9; if they travelled pathB the number would be 22.
First of all, I am in total agreement that Storyline has always suffered from a lack of a variety of internal global variables that would be exposed for our use.
That said, here is another approach to a simple page of page count that would work for linear flow. I always create my own navigation and do not use the player so I can place triggers on my nav buttons. Not going to be of much use for non-linear branching, but it will automatically adjust for the insertion and deletion of pages as long as the last thing you do is update the "totalPages" variable.
I create two number variables - pageCount and totalPages (you could create totalPagesS1, totalPagesS2, etc. to track scenes separately)
Assign pageCount an initial value of 1 and totalPages the number of pages in the program (or given scene).
Then I create a "Next" arrow that has a trigger that jumps to the next slide and a trigger that adds one to the pageCount variable. This latter trigger should be listed first. I create a "Previous" arrow that has a trigger that jumps to the previous slide and a trigger that subtracts 1 from pageCount . The first page of the scene only has the Next arrow and the last slide of the scene only has the Previous arrow.
Pretty down and dirty, for a straight linear flow only, but works OK. An internal page variable would make non-linear flows (and all of this) a lot easier to handle.
Thanks for sharing Neil!
Oops, left out the display part. Just need to create or modify a master slide that displays %pageCount% of %totalPages% (or a slide master per scene with %pageCount% of %totalPagesS1%, etc.) at the location on the screen where you want to display your page count.
I second the need for some slide counts that are built in!
Hi Mark,
Did you share your thoughts in the form of a feature request as well?
I'm reading down this thread which is really interesting. I'm looking to add either (1) page numbers or (2) question numbers to Assessments that we are building. Would the above process work for this, especially if there are mulitple question banks, where we want to randomise questions from each QBank and then re-randomise the questions again! We have a standard template we have built for our Assessments, so could we pop some variables into the QBank slide that would support this or not?
Hi Julia,
There isn't a built in function for page numbers, but it's a popular feature request. In regards to the method Neil shared, if you need to retake the quiz and re-randomize the questions you'll want to include a trigger to reset the variable.
This discussion is closed. You can start a new discussion or contact Articulate Support.