ckanr 0.9.0
BUG FIXES
- Refresh the DataStore DBI and dbplyr integration for the dbplyr 2nd-edition interface. Use
dplyr::tbl()with aCKANConnectionas the primary interface. The connection remains read-only (#187, #240). - Mark
median()andquantile()as unsupported DataStore translations. Add execution tests for joins, semi-joins, set operations, wrapped queries, and the supported custom aggregate translations (#188). -
revision_list()andpackage_revision_list()no longer crash when the CKAN version is unknown. An unknown version passes through to the API call (#200). -
parse_version_number()returnsNAwith no warning for short or missing input. -
ping()validates theasargument.as = "logical"returnsFALSEon failure.as = "json"signals an error on failure. - Availability checks (
ckan_action_available(),activity_email_notifications_enabled()) no longer cache transient failures. -
read_session()stops with a clear error for unsupported file formats instead of returningNULL.ckan_fetch()rejects a missing format before any download. -
resolve_group_or_org_id()returns the name for name-only lists, matching the sibling helpers. - The
related_*()helpers stop with a clear message when the CKAN instance lacks the related API. - Startup resets an empty
CKANR_DEFAULT_URLto the default. Docs name the correct default URL. - Add
ds_upsert()for inserting or updating records in an existing DataStore resource (#98). - Requests now stop early with a clear message when the CKAN URL is empty or does not start with
http://orhttps://(#154). - HTTP API calls now report a clear error when CKAN or a proxy returns a non-JSON response instead of exposing a JSON parsing error (#92).
- CSV downloads that trigger
EOF within quoted stringnow use a base R fallback that preserves the remaining rows without adding a dependency (#180).
DOCS
- Rewrote package prose (help pages, README, vignette, NEWS) in plain language. No facts changed.
- Added
ds_search()examples for selecting fields and filtering several fields (#101). Added migration guidance for deprecatedds_create_dataset()users (#214). - Added guidance for
package_patch()with ckanext-scheming custom fields (#233), thanks @sboots. - Added a vignette example for listing all datasets in an organization (#183).
MAINTENANCE
- Replaced the
magrittrdependency with the native R pipe (#213). - Added support for external resource URLs in
resource_update()andresource_patch()(#232). - Added the remaining CKAN 2.11 and 2.12 API wrappers (#238).
ckanr 0.8.1
MAINTENANCE
- Change the default CKAN URL to https://demo.ckan.org/
- Update servers(), thanks @nn-at (#176)
- Replace the deprecated
lazyevaldependency withrlang. Update dplyr tests and development tooling. Contributors need only the modern tidy-eval stack (#93)
ckanr 0.8.0
NEW FEATURES
This release adds the remaining endpoints of the CKAN 2.11 API.
- Add dataset collaborator helpers
package_collaborator_list(),package_collaborator_list_for_user(),package_collaborator_create(), andpackage_collaborator_delete(). - Add membership utilities
member_list(),member_create(),member_delete(),member_roles_list(),group_member_create(),group_member_delete(),organization_member_create(),organization_member_delete(),user_invite(),group_list_authz(), andorganization_list_for_user(). They manage user access across groups and organizations. - Add relationship management wrappers
package_relationships_list(),package_relationship_create(),package_relationship_update(), andpackage_relationship_delete(). They accept S3 inputs. - Add dataset maintenance helpers
package_revise(),package_resource_reorder(),package_owner_org_update(), anddataset_purge()for automation workflows. - Add the
ckan_resource_viewS3 class with wrappers forresource_view_list(),resource_view_show(),resource_view_create(),resource_view_update(),resource_view_reorder(),resource_view_delete(),resource_view_clear(),resource_create_default_resource_views(), andpackage_create_default_resource_views(). They manage CKAN previews from R. - Refresh the follower/followee helpers:
dataset_*,group_*, anduser_*functions now expose counts, lists, follow/unfollow flows, and “am I following” probes, plus followee dashboards (followee_count(),followee_list(),dataset_followee_*(),group_followee_*(),user_followee_*()). Organization helpers stay unavailable because CKAN 2.11+ no longer exposes those endpoints. - Add activity-stream helpers
group_activity_list(),organization_activity_list(),recently_changed_packages_activity_list(),dashboard_new_activities_count(),dashboard_mark_activities_old(),activity_show(),activity_data_show(),activity_diff(),activity_create(), andsend_email_notifications(). They skip when theactivityplugin is disabled. - Add sysadmin-only vocabulary helpers (
vocabulary_list(),vocabulary_show(),vocabulary_create(),vocabulary_update(),vocabulary_delete()) plustag_autocomplete(). They complete the tag discovery toolkit. - Add the admin and operations toolkit: task-status maintenance (
task_status_*()), term translations, runtime config editing, Redis/RQ job controls, API token lifecycle helpers, and diagnostic wrappers forstatus_show()/help_show().
TESTS
- Add integration coverage for collaborator and membership endpoints. Tests skip when the target CKAN instance lacks the relevant feature flags.
- Cover the new relationship and dataset maintenance helpers. Opt-in purge coverage runs behind the
CKANR_ALLOW_PURGE_TESTSgate. - Exercise the resource view lifecycle (create/list/show/update/reorder/delete) plus default view helpers when the
text_viewplugin is available. Tests skip otherwise. - Expand the follower tests to follow/unfollow datasets, groups, and users. Tests verify the followee dashboards and clean up temporary relationships.
- Add skips keyed off
status_show()for all activity and dashboard tests. Tests use the new helpers when theactivityplugin is available. - Cover the new vocabulary lifecycle and
tag_autocomplete()helpers. Tests skip when the configured CKAN user lacks sysadmin rights. - Exercise the admin/ops helpers with sysadmin-gated tests. They verify task-status roundtrips, term translations, config changes, job management, API tokens, and diagnostics. Tests skip when the test key lacks sufficient privileges.
ckanr 0.7.1
NEW FEATURES
-
ckan_fetch(),read_session()andfetch_GET()now support parquet files, thanks @hannaboe (#217)
ckanr 0.7.0
CRAN release: 2023-03-17
NEW FEATURES
-
resource_update()allows update of resource extra fields by making thepathparameter optional (#175) thanks @nicholsn
ckanr 0.6.0
CRAN release: 2021-02-03
NEW FEATURES
-
resource_create(),package_update(), andpackage_patch()gain parameterhttp_method. It passes toas.ckan_package()internally, but it does not affect the HTTP request for the main point of the function (#163), thanks @hannaboe - gains new function
organization_purge()to purge an organization (which requires sysadmin) (#166) thanks @nicholsn
MINOR IMPROVEMENTS
- update URLs for known CKAN instances behind the
servers()function (#162) (#167) (#170) - .Rbuildignore README.md and vignettes (#171)
-
extrasnow passed in HTTP request inpackage_create()as a top level part of the request body rather than as a namedextraselement (#158) thanks @galaH -
ckan_fetch()returnsNArather thancharacter(0)when a zip file has a subdirectory (#164) - The
...parameter inckan_fetch()passes additional parameters toread.csv,xml2::read_xml,jsonlite::fromJSON,sf::st_read(),read.table(), orreadxl::read_excel(#165). It no longer passes curl options to the http request - updated docs for
package_create()andgroup_create()- changegroupsparameter description to explain what kind of input is expected (#168) - updated docs for
package_update()andresource_update()- illustrate possible data loss when updating with incomplete package metadata (#108)
ckanr 0.5.0
CRAN release: 2020-07-30
NEW FEATURES
-
package_create()gains parameterprivate(boolean) (#145) - add support for resource extras.
resource_create()andresource_update()gain new parameterextras, whileresource_patch()function doesn’t change but gains an example of adding an extra (#149) (#150) thanks @nicholsn -
package_patch()gainsextrasparameter (#94) see also (#147)
MINOR IMPROVEMENTS
- replace httr with crul throughout package (#86) (#151)
- use markdown for docs (#148)
-
package_patch(),package_show(),package_activity_list(),package_delete(),package_update(), andrelated_create()now pass onkeyparameter value toas.ckan_packageinternally. The same holds forresource_create()andresource_show(), but passed toas.ckan_resource()(#145) (#146) -
servers()gains two additional CKAN urls (#155) -
package_show()callsas.ckan_package()within it, which callspackage_show(). This is fixed (#127)
BUG FIXES
- Fix
resource_search()andtag_search. They allow a query of length more than 1 (#153) - Fix
print.ckan_package. It handles results frompackage_search()with a named list of locale specific results (#152)
ckanr 0.4.0
CRAN release: 2019-10-11
NEW FEATURES
-
ckan_fetch()gains parameterkeyfor a CKAN API key. If given, the API key is now included in the request headers (#133, #122), thanks @sharlagelfand -
ckan_fetch()gains ability to read xls/xlsx files with multiple sheets (#135), thanks @sharlagelfand
MINOR IMPROVEMENTS
-
ckan_fetch()now setsstringsAsFactors = FALSEwhen reading data (#141) (#142) thanks @LVG77 @sharlagelfand - in
ckan_fetch(), usebasename(x)instead ofgsub(paste0(tempdir(), "/"), "", x), to get file path (#140), thanks @sharlagelfand - in
package_search()handle better cases where the CKAN version can not be determined (#139) and fix logic for whendefault_schemaandinclude_privateparameters are included based on the CKAN version (#137), thanks @sharlagelfand -
ckan_fetch()works with more zip files. Old behavior works only with zip files with shp files. It now works with other files, for example a zip file with a csv file (#132), thanks @sharlagelfand - Fix
ckan_fetch()examples that were not working (#134), thanks @sharlagelfand - Fix parsing of CKAN version numbers with new internal fxn
parse_version_number(). It parses CKAN version numbers with patch and dev versions (#136), thanks @sharlagelfand
ckanr 0.3.0
CRAN release: 2019-07-23
NEW FEATURES
- new package author Sharla Gelfand !!!
- new functions for users:
user_create()anduser_delete()(#82) -
package_show()gainskeyparameter to pass an API key (#97) -
package_search()gains new parameters:include_drafts,include_private,use_default_schema, andfacet.mincount(#107) - function
fetch()changed tockan_fetch() - gains function
organization_delet()to delete an organization (#83) - gains function
ckan_version()to get version info for a CKAN instance - gains methods for creating a CKAN remote instance as a dplyr backend: gains
src_ckan()and its s3 methodstblandsrc_tbls,sql_translate_env. In addition gains the S3 methodsdb_begin,db_explain,db_has_table,db_insert_into,db_query_fields,db_query_rows
MINOR IMPROVEMENTS
- fix some tests (#62)
- fix to
ds_create()to properly format body with json data (#85) thanks @mattfullerton - tests added for
ckan_fetch()(#118) thanks @sharlagelfand -
ckan_fetch()gainsformatparameter if the user knows the file format (useful when the file format can not be guessed) (#117) thanks @sharlagelfand -
ckan_fetchgain support for handling geojson (#123) thanks @sharlagelfand -
ckan_fetchwrites to temp files and cleans up. It no longer writes to the current working directory in some cases (#125) (#128) (#129) thanks @sharlagelfand - add USDA CKAN instance to the
servers()function (#68) -
ds_create_dataset()is deprecated. Userecourse_create()instead (#80) (via #79) - Remove the internal
stop()call intag_create(). You can use it now. No test covers it because it needs sysadmin rights (#81) -
ds_search(): code spacing fixes (#69) -
resource_update()gains more examples and tests (#66) - CKAN API key standardization:
keyparameter is now in all fxns that make http requests.urlandkeyparams follow that order across all functions (#122) (#124) - repair ORCID links in DESCRIPTION file (#124) by Florian
BUG FIXES
- fix to
resource_create():uploadparam was inappropriately a required param (#75) thanks @mingbogo - Fix
resource_update(). The date inlast_modifiedin the request body converts to character (#96), thanks @jasonajones73. The date format is fixed (#119), by @florianm - Fix
ckan_fetch(). It usessfinstead ofmaptools.ckan_fetchparses xlsx files and xls files (#114) (#115) thanks @sharlagelfand - Fix
package_search(). This route fails if parameters that did not exist in the CKAN instance are given. The code removes parameters as needed from query params. It pings the CKAN instance for its version (#120)
