Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Appsilon/shiny.collections
This project is deprecated and no longer supported. (Google Docs-like live collaboration in Shiny)
https://github.com/Appsilon/shiny.collections
Last synced: about 2 months ago
JSON representation
This project is deprecated and no longer supported. (Google Docs-like live collaboration in Shiny)
- Host: GitHub
- URL: https://github.com/Appsilon/shiny.collections
- Owner: Appsilon
- License: other
- Created: 2017-03-16T16:48:14.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T17:39:53.000Z (about 1 year ago)
- Last Synced: 2024-08-04T03:03:58.865Z (5 months ago)
- Language: R
- Homepage: https://appsilon.github.io/shiny.collections/
- Size: 327 KB
- Stars: 76
- Watchers: 35
- Forks: 16
- Open Issues: 5
-
Metadata Files:
- Readme: README.Rmd
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-shiny-extensions - shiny.collections - Google Docs-like live collaboration in Shiny with RethinkDB. (UI Components / Advanced Interactivity)
README
---
output: html_document
params:
website_url: http://appsilon.com
logo_url: https://cdn.rawgit.com/Appsilon/website-cdn/gh-pages/logo-white.png
repo_name: shiny.collections
repo_url: https://github.com/Appsilon/shiny.collections
demo_url: http://appsilon.com/demo
chagelog_url: https://github.com/Appsilon/shiny.collections/blob/master/CHANGELOG.md
escape_script: false
---`r params$repo_name`
===========Google Docs-like live collaboration in Shiny
**shiny.collections** adds persistent reactive collections that can be effortlessly integrated with components like Shiny inputs, DT::dataTable or rhandsontable. The package makes it easy to build collaborative Shiny applications with persistent data.Source code {.darkslide}
-----------This library source code can be found on [Appsilon Data Science's](`r params$website_url`) Github:
[`r params$repo_url`](`r params$repo_url`)```{r, echo = F, results='asis'}
if (params$type == "web") {
cat(paste0('
document.write(\'<div class="logo"><a href="', params$website_url, '"><img alt="Appsilon Data Science" src="', params$logo_url, '"/></a></div>\')
'))
}
```How to install?
---------------
**Note! This library is still in its infancy. Api might change in the future.**At the moment it's possible to install this library through [devtools](https://github.com/hadley/devtools).
```
devtools::install_github("Appsilon/`r params$repo_name`")
```To install [previous version](`r params$changelog_url`) you can run:
```
devtools::install_github("Appsilon/`r params$repo_name`", ref = "0.1.0")
```Example {.darkorange}
-------Before running an example make sure that your RethinkDB is set-up and running. For installation and running guidelines you can visit [RethinkDB docs](https://www.rethinkdb.com/).
```
library(shiny)ui <- shinyUI(fluidPage(
actionButton("click", "Add one"),
DT::dataTableOutput("cars_data")
))connection <- shiny.collections::connect()
server <- shinyServer(function(input, output) {
cars <- shiny.collections::collection("cars", connection)observeEvent(input$click, {
shiny.collections::insert(cars, list(name = "Sample name", value = sample(1:100, 1)))
})
output$cars_data <- DT::renderDataTable(DT::datatable(cars$collection))
})shinyApp(ui = ui, server = server)
```Talk
----We are proud that **shiny.collections** gained a lot of interests at **useR!2017** in
Brussels. Here you can see a talk by [Marek Rogala](https://github.com/marekrogala)
presenting two interesting use cases: https://goo.gl/mD1KfV .How to contribute?
-----------------
If you want to contribute to this project please submit a regular PR, once you're done with new feature or bug fix.**Changes in documentation**
Both repository **README.md** file and an official documentation page are generated with Rmarkdown, so if there is a need to update them, please modify accordingly a **README.Rmd** file and run a **build_readme.R** script to compile it.
Troubleshooting {.darkslide}
-----------------
We used the latest versions of dependencies for this library, so please update your R environment before installation.However, if you encounter any problems, try the following:
1. Up-to-date R language environment
2. Installing specific dependent libraries versions
* shiny
```
install.packages("shiny", version='0.14.2.9001')
```
3. Make sure you open the connection _outside_ the `server` function.Future enhacements
------------------
* CRAN release
* More methods (allowing for batch insert, update, delete, etc)
* Publications and subscriptions allowing to sync only part of the data in each Shiny sessionAppsilon Data Science {.footer}
------------------```{r, echo = F, results='asis'}
if (params$type == "web") {
cat(paste0('
document.write(\'<div class="logo"><a href="', params$website_url, '"><img alt="Appsilon Data Science" src="', params$logo_url, '" /></a></div><div class="subheader"> We Provide End-to-End Data Science Solutions </div> \');
'))
}
```Get in touch [[email protected]]([email protected])
```{r, echo = F, results='asis'}
if (params$type == "web") {
cat(paste0('
document.write(\'<a href="', params$repo_url, '"><img style="position: absolute; margin: 0; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>\');
'))
}
```