box_save()
, setting default environment for evaluating dots (#255)update with internal helper for Box ids. (#90)
update minimum version of rio package to reflect newer treatment of JSON files. (#261)
remove unused internal function, removing dependency on httpuv package. (#259)
update superseded function-calls from gargle, used in testing. (#251)
default branch switched from master
to main
. (#252)
refactor to use withr functions to handle temp files. (#183)
activate tests for box_save()
, box_load()
(#255)
update documentation to reflect updates to rio package. (#242, @chainsawriot)
update maintainer's email address. (#248)
update to use inherits()
(vs. string-comparison) to determine class-membership. (#246)
harmonizes the default location for tokens.
Now, ~
resolves to the home directory for all platforms.
A patch is applied offering to move tokens from "old" locations.
(#219 w/@danielruss)
adds and updates GitHub Actions for testing and coverage. (#206, #247, #256)
adds vignette("design")
to sketch out the different design philosohies that appear in boxr functions. (#170)
deprecates the x
argument to box_write()
in favor of object
. (#187)
some return objects can be printed as tibble (vs. data-frame). To enable this behavior, set options(boxr.print_tibble = TRUE)
(perhaps in your .Rprofile
).
new tools to manage collaborations:
box_dir_invite()
is deprecated in favor of box_collab_create()
.box_collab_create()
, which supports file and group based collaborations.box_collab_get()
to check existing collaborations, and box_collab_delete()
to delete.box_collab_create()
and box_collab_get()
each return the (list-based) response from the Box API.
If you prefer to work with data frames, these return-objects each have as.data.frame()
and as_tibble()
methods.box_previous_versions()
is superseded in favor of box_version_history()
:
version_no
(numeric) and version_id
, rather than version
(character) and file_version_id
.box_version_api()
, if you are interested in the unparsed content of the response from the API.new function box_version_number()
returns the current version of a file; this number is consistent with the version_no
argument used by functions such as box_dl()
.
new functions box_read_rds()
and box_save_rds()
to work with RDS
files directly on Box.
new function box_browse()
to open a browser window directly to a given folder or file on Box's web app.
new functions box_comment_create()
and box_comment_get()
to create or get comments on Box files. These functions return specially classed lists
of the API response, on which you can use as.data.frame()
or as_tibble()
.
uses httr::RETRY()
for API requests to handle momentary issues with network connectivity. Thanks @jameslamb and @chircollab!
box_ls()
provides the current version_id
by default. (#185, @alexbrodersen)
box_file_delete()
and box_folder_delete()
each now return invisible(NULL)
. (#197)
box_auth_service()
more resilient to bad-request failures. (#166)
box_auth()
longer throws error if {usethis} not installed. (#168, @malcombarret)
...
is now passed to write_fun
in box_write()
. (#144)
box_ls()
is more robust for remote folders that contain links. (#140)
box_previous_versions()
fixed for "no-previous-versions" case. (#139)
adds automatic-retry to authentication functions, box_auth()
and box_auth_service()
. (#131)
adds box_auth_service()
to support OAuth2.0 using JWT, also adds box_dir_invite()
to invite a collaboration on a Box folder. This makes it easier to authenticate to box.com from remote computers (e.g. RStudio Cloud, RStudio Server) (#23)
modifies box_source()
: adds ...
argument to pass other arguments to source()
.
modifies box_write()
, box_dl()
:
filename
argument in favor of file_name
.modifies box_auth()
(#96):
write.Renv
argument.Renviron
fileinvisible(NULL)
upon successdeprecates box_auth_on_attach()
(#96)
adds a logo (#92, @nathancday)
converts pagination method from offset to marker-based paging (#79, @awong234)
adds option to return specified fields
in box_ls()
(#72, @awong234)
adds updated screen shots (pngs in images/
) and description for creating a Box App with the new Box Developer Console UI. Also added reference for box_auth_on_attach
in step 4 'And you're done'. (#57, @nathancday)
box_pagination()
refactored to employ marker-based paging instead of offset-based paging, avoiding a hard limit of 300,000 offset (#74, @awong234)
~~fixes bug in box_pagination()
to enforce integer for offset (#71, @awong234)~~ Deprecated, pagination now uses marker-based paging.
box_ls()
now has an upper limit of 1,000, as opposed to 100box_push
's ignore.dots
parameter now includes directories (65acef7)
Broader validation that users are correctly authenticated (47b16b5)
Minor improvements to S3 classes (9a64aa0)
More prominent troubleshooting section in README (8ccdaa5)
Updated author email address (a23acc0)
box_previous_versions
unreliable (693f5a2)This release contains some minor changes for compatibility with httr v1.1.0
(boxr's major dependency).
Some code to work around bugs in the previous versions of httr
has been
removed
Some minor tweaks for compatibility (mainly changes in reporting http status codes)
box_search
(and convenience functions box_search_files
,
box_search_folders
, box_search_trash
) allow use of box.com's superb
searching facilities to find files and folders. Various parameters can be set to
search filenames, file contents, and to limit searches to certain file types.
Results are summarised by default, can be coerced via as.data.frame
. They can
also be passed in place of a file_id to other boxr functions (e.g. box_dl
) to
perform an operation on the first result.
box_read_excel
Finally support for everyone else's favorite way to store
data!
box_write
A convenience function to convert R objects to common file types
(e.g. .json, .csv, .tsv, .xlsx, etc.), and upload to box. Using the default
write function (rio::export), the file type can
be determined automatically from the filename provided.
box_add_description
A simple way to add a description to a file on box.com.
These are a useful way to describe the contents of a file, and can also be used
like commit messages on GitHub, to describe recent changes made.
box_fresh_auth
A convenience function for users having trouble
authenticating -- it will delete existing tokens (which are by default hidden
files) for a fresh authentication process
S3 classes for files, folders, and object lists
Objects of class boxr_object_list
can be passed directly to functions in
place of a file_id string
Objects of class boxr_object_list
now have an as.data.frame
method
Example of usage with magrittr
pipes is added to the README.
box file/folder id's are now validated locally before requests are sent
Filenames are now validated locally, with helpful/informative error messages
box_read
now accepts a user specified read function, which is now by default
rio::import
box_read
will now try and do the right thing for files without an extension
by considering the MIME type of the API response
S3 classes and methods have been consolidated into three basic types, and
functions now use them in a consistent manner. Now documented for those
interested (?boxr_S3_classes
)
Print methods: Prettier and more informative
box_getwd
no longer logs an uninformative message
Documentation / collaboration improvements (improved function documentation,
variable naming conventions (R/README.md
), and a code of conduct)
Improved tests
options(boxr.progress = TRUE)
is now respected consistently
Fix for spurious warnings coming from the latest version of httr
(see
jeroenooms/curl#30 and hadley/httr#252)
Fix for weird reporting for certain valid API queries, which return exactly 0 results
Note: Skipped a version increment for CRAN iterations
Now up on CRAN:
r install.packages("boxr")
~/.boxr-oauth
This release contains small changes to help new users get started (especially those who don't get to see the GitHub README).
The package vignette (vignette("boxr")
) is now more oriented towards getting
new users up and running (fc931cd), providing much of the same information as at
?box_auth
, but with screenshots and friendlier formatting
Upon loading boxr, users are now provided with the GitHub issues
URL for bug reports. If it looks like
the user hasn't used boxr before (!file.exists("~/.boxr_oauth")
), the code to
generate the Getting Started vignette is presented (e18864d)
R help 'homepage': ?boxr
now takes the user to a summary of the package,
which links back to the Getting Started vignette (#31)
Continuous integration now covers Windows via appveyor (08925e5), and for useRs coming from GitHub, there's a few more visual aids in the README to help them evaluate/grok the package (1c574c2, 593101d, 670487b)
boxr v0.2.6 is on CRAN, the following will do the trick:
r install.packages("boxr")
LO!
http://cran.r-project.org/web/packages/boxr/
json is now parsed consistently by box_read()
and box_read_json()
box_getwd()
and box_setwd()
now write to the correct options vars (e.g.,
work properly again) (#27)
General CRAN policy stuff
Improved tests (f6cc01c, 55d6581)
Several new wrapper functions for box_read
have been added (#25):
box_read_csv
box_read_tsv
box_read_json
box_previous_versions
allows you to query previous versions of a file
box_dl
can now download specific versions of a file, via either the
version_no
or version_id
parameter (#21)