Отправляйте/делитесь конфиденциальной презентацией R slidify по электронной почте или другим безопасным способом

Я хотел бы отправить кому-то еще презентацию, которую я создал с помощью R и slidfy, но она содержит конфиденциальную информацию, поэтому разместить ее на github pages с помощью ветки gh-pages, а затем отправить URL-адрес на самом деле не вариант, так как все github страницы являются общедоступными, как предлагается здесь.

Проталкивание его на блестящий сервер также кажется немного небезопасным ... (в идеале я хотел бы сделать это бесплатно, поэтому настройка сервера для размещения одной презентации кажется немного громоздкой и излишней для моих целей)

Я не думаю, что Dropbox будет работать, поскольку любая URL-ссылка, которая создается, если кто-то другой вводит ее в адресную строку, вероятно, сможет загрузить ее и просмотреть конфиденциальную информацию...

Есть ли способ отправить презентацию (по электронной почте или другими способами), содержащую все необходимые файлы для ее работы, чтобы человек, не использующий R, мог легко ее открыть и просмотреть. (т. е. без необходимости отправлять им zip-файл со всеми файлами (т. е. папки assets, libraries и figure и т. д.), прося их распаковать его, а затем открывая файл index.html)?

Изменить

Я забыл упомянуть, что презентации также включают графики nvd3 и morrisjs, что затрудняет перенос всех файлов за один раз...

Изменить2

Учитывая, что все используемые библиотеки являются публичными библиотеками, есть ли способ ссылаться на URL-адрес вместо локального диска?


person h.l.m    schedule 12.09.2013    source источник
comment
Насколько чувствительны? От кого ты это скрываешь? И не обращайте внимания на эти черные вертолеты, приземляющиеся у вас во дворе.   -  person Carl Witthoft    schedule 12.09.2013
comment
Предыдущие два вопроса серьезны — то, как вы что-то шифруете, зависит от того, как с этим нужно обращаться. Кажется, вы смешиваете вопросы о безопасности с вопросами о создании пакета (например, zip) всех файлов, которые вы хотите передать.   -  person Carl Witthoft    schedule 12.09.2013
comment
Он содержит идентифицируемую пользователями информацию об их покупательских привычках... это не та информация, которую вы/мы хотели бы сделать общедоступной...   -  person h.l.m    schedule 12.09.2013
comment
В этом случае он никогда не должен покидать ваш стол без предварительного тщательного шифрования.   -  person Carl Witthoft    schedule 12.09.2013
comment
Вот и весь смысл... я просто хочу зашифровать файл презентации и отправить его надежному человеку, который сможет его расшифровать... и открыть/запустить презентацию...   -  person h.l.m    schedule 12.09.2013
comment
У Slidify есть отдельная опция, которая обслуживает все ресурсы, связанные со слайдами, из CDN, преобразует цифры в URL-адреса данных и, по сути, позволяет вам поделиться одним файлом index.html. Подвох в том, что они все еще должны быть в сети, чтобы просмотреть файл. Я приготовлю пример, который покажет вам, как это работает.   -  person Ramnath    schedule 12.09.2013


Ответы (3)


Вот как это можно сделать с помощью Slidify. Есть две хитрости.

  1. Укажите mode: standalone во вступительной части YAML. Это гарантирует, что все ресурсы JS и CSS, связанные со слайдами, будут обслуживаться из онлайновой CDN, а также что все статические изображения будут преобразованы в URL-адреса данных.

  2. Используйте n1$print('mychart', include_assets = TRUE, cdn = TRUE) при печати диаграммы в блоке кода Knitr. Это гарантирует, что все ресурсы, связанные с диаграммами, включены и обслуживаются из онлайн-CDN. Обратите внимание, что для каждой библиотеки вы должны использовать include_assets только один раз, чтобы не дублировать.

  3. Этот подход не очень надежен, так как вы ссылаетесь на несколько JS-библиотек в одном файле, и в результате могут возникнуть конфликты. Например, MorrisJS плохо работает с Google IO2012, так как Google IO2012 использует requireJS и по какой-то причине вызывает конфликты.

Вы также можете использовать те же фрагменты кода в презентациях RStudio и сохранять их как отдельный HTML. Вот та же презентация в формате RPres.

---
title       : Standalone Presentation with Slidify
author      : Ramnath Vaidyanathan
mode        : standalone
---

## Plain Text

This is a slide with plain text

> 1. Point 1
> 2. Point 2
> 3. Point 3

---

## R Plot

```{r message = F}
require(ggplot2)
qplot(wt, mpg, data = mtcars)
```


---

## NVD3 Plot

```{r results = 'asis', comment = NA, message = F, echo = F}
require(rCharts)
n1 <- nPlot(mpg ~ wt, data = mtcars, type = 'scatterChart', group = 'gear')
n1$print('chart2', include_assets = TRUE, cdn = TRUE)
```

<style>
.rChart {
  height: 500px;
}
</style>


--- 

## Another NVD3 Plot

```{r results = 'asis', comment = NA, message = F, echo = F}
require(rCharts)
n2 <- nPlot(mpg ~ cyl, data = mtcars, type = 'scatterChart')
n2$print('chart3')
```
person Ramnath    schedule 12.09.2013
comment
Я хочу добавить, что подход со слайд-папкой работает лучше с точки зрения безопасности, поскольку вы можете зашифровать его. Использование общедоступных скриптов в сети позволяет кому-то внедрить вредоносный код javascript, который может скомпрометировать вещи. Я до сих пор не понимаю, почему разархивировать папку и нажать на файл так сложно, ведь большинство людей делают это постоянно. - person Ramnath; 13.09.2013
comment
Спасибо, @Ramnath! Я не знал о возможности include_assets = TRUE, cdn = TRUE аргументов. Есть ли какая-либо документация или какой-либо более простой способ узнать об этом, используя str? или что-то без необходимости задавать вопросы на SO или на странице ваших проблем? - person h.l.m; 13.09.2013

Другой вариант -

1) Open the HTML file in Chrome, 
2) Choose the option to print 
3) Save it as .pdf. 

Это не идеально для всех случаев, но, безусловно, достойный вариант для рассмотрения.

person marbel    schedule 22.12.2013

Я думаю, что ваш последний метод является самым безопасным.

Вы действительно хотите использовать slidify? В последней (предварительной) версии Rstudio вы можете создавать презентации HTML5 на лету. И это намного проще, чем скользить. Чтобы распространять слайд-шоу, вам просто нужно отправить по почте отдельный выходной HTML-файл (если вы не используете причудливые вещи, такие как nvd3 или латекс). Вот еще информация. ссылка1 ссылка2 ссылка3

person Jonas Tundo    schedule 12.09.2013