Try our conversational search powered by Generative AI!

Daniel Ovaska
Jan 8, 2014
  8933
(4 votes)

Example addon for presentations

I took a trip to London in November to hold a small presentation about developing addons for EPiServer at the EPiServer developer track. But what better way to describe developing addons than to do the actual presentation as an EPiServer addon? Why not create your presentation directly in your favorite tool EPiServer instead of the boring Powerpoint and have it up and running online directly for all to see, including slides with movie clips etc. Every slide is a page in EPiServer as below for my demo presentation:
ExamplePresentationTreeStructure


This new presentation addon supports

-Every slide is stored as a page in EPiServer
-Multiple themes for the presentation
-Custom theme if you want to add your own company logos, colors etc
-Separate window for speaker notes where you can view your personal notes, the current slide, the next slide and a timer
-Supports Css 3 transitions between slides for visual effects
-Able to add your own background images, colors for each slide
-Possible to support multiple languages, add support google analytics, facebook likes etc by including custom scripts. Eat that Powerpoint! Ler
-Add youtube clips or simlar to your slides easily
-Navigate and get an overview of your slides
-Having each slide as an EPiServer page of course gives you version handling, publication expiration etc automatically. Why not use visitor groups to display targeted content in your presentation as well?
-Try open the presentation in an Ipad or Iphone and slide slide slide between your slides. It’s fun! Ler

                                                                     

PresentationResponsiveView

                             

Try it out yourself by installing the addon and importing an example presentation which is done in 30 seconds on a demo alloy site. Check out download section to download addon package, demo presentation and full source for those interested.

           

Example features:

1. Press ‘S’ to get speaker notes in a separate window. This will allow you to have your speaker notes on laptop and having the presentation on projector for instance. Switching page will automatically update your speaker notes to show the correct slide (and next slide)
SpeakerNotes

2. Press ‘ESC’ to get overview of slides
OverviewOfSlides

                         

3. Navigate between slides using ‘space’ or arrow keys. Arrows in lower right display navigation options from the current slide. Slides can also be nested to allow for ‘optional’ slides that can be easily skipped for shorter presentations.

4. Fragmented slides. Add the css class ‘fragment’ to all items on a slide to get them to pop up one at the time when pressing space. You can also add a custom css file to make this easy for editors. Second image below show the setting needed to add the fragment style option for editors. This CSS path setting is found on the MainBody property in admin.
FragmentedViews

                   

FragmentSettings

     

5. On the slide root page it’s possible to both specify a default theme as well as making a custom css for your presentation if you want to customize it. Added a custom theme to demo presentation as an example with Mogul colors.

6. For those that really want to dive in and customize it there is also a property called “Custom page id” that can be set per slide. This can be used to identify slides to target them for both css and javascript per slide. The Custom page id is set as a class on the html element when a slide is active as well as throwing a javascript event that can be used to add custom behaviour like starting a video, adding custom animations etc. Below is an example of writing a log message when the slide with id = “specialpage” is active. There are properties available to insert whatever you like to both header area and at the end of body area to let creative developers modify what ever you like.
ReactingToJsEvent

     

7. Of course it’s possible to easily use youtube clips in your slides by copy / pasting the embed code from youtube into your slides.
YoutubeVideo

8. Try alt-clicking to zoom in on an element on a slide! Use alt-click to zoom out again…

9. Of course you can add nicely styled code blocks to your presentation. Copying code from images isn’t very fun…just use the “code” html tag in html view of content and the javascript will take care of the rest. Check out demo for example slides with code blocks
Codeblocks

This presentation addon is built around the reveal.js javascript framework. Check it out for more detail and thanks to Hakim El Hattab for sharing it.

                    

The demo presentation is about common pitfalls and similar when developing addons and also about SEO and the SEO manager addon in specific.

    

Check out download section to download addon package, demo presentation and full source for those interested. I’ve tested it for both EPiServer 7 and 7.5 (content import will warn slightly about importing files but will also work). Installed on public demo sites without any problems.

Hope it helps someone either with holding a presentation or coding an addon. Maybe use it to add documentation for editors for your new site? Ler
Happy coding everyone!

Daniel Ovaska

PS
Do you know what’s the difference between a Sharepoint developer and an EPiServer developer btw?
The smile on the EPi-developers face…
DS

Jan 08, 2014

Comments

Petter Klang
Petter Klang Jan 8, 2014 01:22 PM

Nice!

valdis
valdis Jan 15, 2014 05:52 PM

Really nice! :)

Jan 21, 2014 01:39 PM

Liking it a lot! Well done.

Please login to comment.
Latest blogs
Anonymous Tracking Across Devices with Optimizely ODP

An article by Lead Integration Developer, Daniel Copping In this article, I’ll describe how you can use the Optimizely Data Platform (ODP) to...

Daniel Copping | Apr 30, 2024 | Syndicated blog

Optimizely Forms - How to add extra data automatically into submission

Some words about Optimizely Forms Optimizely Forms is a built-in add-on by Optimizely development team that enables to create forms dynamically via...

Binh Nguyen Thi | Apr 29, 2024

Azure AI Language – Extractive Summarisation in Optimizely CMS

In this article, I demonstrate how extractive summarisation, provided by the Azure AI Language platform, can be leveraged to produce a set of summa...

Anil Patel | Apr 26, 2024 | Syndicated blog

Optimizely Unit Testing Using CmsContentScaffolding Package

Introduction Unit tests shouldn't be created just for business logic, but also for the content and rules defined for content creation (available...

MilosR | Apr 26, 2024

Solving the mystery of high memory usage

Sometimes, my work is easy, the problem could be resolved with one look (when I’m lucky enough to look at where it needs to be looked, just like th...

Quan Mai | Apr 22, 2024 | Syndicated blog

Search & Navigation reporting improvements

From version 16.1.0 there are some updates on the statistics pages: Add pagination to search phrase list Allows choosing a custom date range to get...

Phong | Apr 22, 2024