ramnathv / slidify

Generate reproducible html5 slides from R markdown
http://www.slidify.org
844 stars 339 forks source link

How to host a deck on a web server ? #303

Open stla opened 10 years ago

stla commented 10 years ago

These interactive slides by Ramnath are hosted on glimmer.rstudio.com. How to do that please ?

patilv commented 10 years ago

The slides can be published to github, rpubs, gist or can be kept as standalone html file. These can possibly be embedded in an iframe on glimmer. See also: https://github.com/ramnathv/slidify/issues/280

-------- Original message -------- From: stla notifications@github.com Date:11/15/2013 7:10 AM (GMT-08:00) To: ramnathv/slidify slidify@noreply.github.com Subject: [slidify] How to host a deck on a web server ? (#303)

These interactive slides by Ramnath are hosted on glimmer.rstudio.com. How to do that please ?

— Reply to this email directly or view it on GitHub.

stla commented 10 years ago

These are not only slides, this is a "deck" (runDeck()), containing some shiny apps. I was under the impression that the shiny apps are running in Ramnath's slides. I cannot check because the link seems not to work right now.

ramnathv commented 10 years ago

Yes @patilv is right. This was developed using runDeck and then some customizations that I have not generalized. The interactive console in the slides was wired to OpenCPU, since Shiny is not secure. However, OpenCPU recently pulled down their legacy server, as they move to a newer version, and I still haven't rewritten the part of the wiring that will make it compatible.

Given that there is some interest in such slides, I will see if I can create a more robust wrapper that will allow Shiny + Slidify generated slides to be automatically deployed on a Shiny Server.

LechMadeyski commented 10 years ago

Any progress/recommendations with respect to hosting a slidify deck on a web server?

ramnathv commented 10 years ago

@LechMadeyski are you referring to hosting a slidify deck on a shiny server?

LechMadeyski commented 10 years ago

First of all, thank you very much for slidify and rCharts! It is a great pleasure for me to switch to interactive presentations incl. R analyses. With regard to your question I have a slidify presentation including rCharts (ext_widgets: {rCharts: [libraries/nvd3, libraries/Leaflet]}) as well as shiny and interactive widgets (widgets : [mathjax, bootstrap, quiz, shiny, interactive]) and would be happy to host my presentation (web application run using runDeck() available at http://127.0.0.1:port/) somewhere and to allow other people to open my presentation slides on their own computers (perhaps two modes would be possible: 1) at the same pace as me during my presentation and/or 2) independently in a convenient time). Your recommendations how to achieve the goals are welcome.

ramnathv commented 10 years ago

Given that you have shiny applications in your deck, you will need to host it on a shiny server. RStudio has been working on making it easier to include shiny apps in the deck. I will post back with an example.

LechMadeyski commented 10 years ago

Thank you for your prompt answer and I am waiting for your example.

happyshows commented 9 years ago

@ramnathv Could you provide an example for deploying a slidify deck on a private shiny server? It's not ideal to force admin to login R IDE to trigger runDeck() Would it be possible to allow user to manage a deck from existing app on shiny server? For example, users are on a landing app, first user decide to load deck A to http://intranet/slidify, after a week, user decide to refresh data and load deck B to http://intranet/slidify. I don't know how shiny server would pick up a change for slidify Rmd, while shiny server pickup regular index.Rmd automatically.

ramnathv commented 9 years ago

@happyshows this is more complicated than I had initially assumed. I think the best way forward is for me to make slidify compatible with interactive rmarkdown documents. This requires a fundamental rethink of my code, so it will be a while before I get this implemented. Meanwhile, note that the rmarkdown package also supports the io2012 slide format. So you could use that to deploy yours slides on the shiny server.

If I find a short hack to accomplish this easily, I will let you know. I am keeping this issue open for that reason.

happyshows commented 9 years ago

@ramnathv I found a work around on rmarkdown exactly as you mentioned. I see a greater potential in business realm If the new architecture allow users to deploy a deck/template through web interface to load/unload data on on-premise shiny servers. I do appreciate your good work on slidify (and also rcharts) and look forward to your new solution.

ramnathv commented 9 years ago

@happyshows would you be interested in discussing this idea a little further. I would like to understand the business use case in more detail so that I can keep that in mind as I develop solutions.

happyshows commented 9 years ago

@ramnathv sure, around my working environment, lots of people are doing 'reporting' on weekly basis if not more frequent, the final output is a ppt or an excel, the only difference in those reports are: slightly updated dataset (because we're on a new work week) and emerging problems in this week. The format almost never changes and people has to copy/paste from data sources and put up some comments if necessary. Worst part are: screen shots doesn't allow you to drill down a problem; you may need to create 10 slides for same template because each slide represent a segment/factor.

I'm currently working on a self-service BI platform to allow people upload/transform/visualize data. Imagine if people can just repull data from datasource, send it to a RMarkdown/Slidify template, edit comments if necessary, generate a slidify/webpage/pdf report, and finally use a permanent link mapped to the slot dynamically to share the report - this could save quite a lot of time. I asked the question as I'm considering how to scale up the model so everyone in my organization could use it, since we don't want to host decks that are outdated and no one is looking at.

I am thinking in my platform I will create a lease app, users can check the available slots (for slidify) and lease for 1 week, the lease app will move the dataset and template from self-service BI to one of the many report apps. The report app should automatically detect an index.Rmd and run it (currently shiny only do rmarkdown::run on index.Rmd, which does not work on slidify deck with shiny components in it). Once lease expires, a scheduler app will wipe the contents in report app and mark it available so that other users can lease it.

ramnathv commented 9 years ago

@happyshows this sounds very interesting. would you be open to getting on phone/skype with me sometime to discuss this a little further? my email is in my github profile.

happyshows commented 9 years ago

@ramnathv just sent you an email from my company mailbox and let me know when you're available to talk...