Releases: lsteinmann/idaifieldR
Releases · lsteinmann/idaifieldR
v0.3.4
idaifieldR 0.3.4 2023-12-17
- Make
get_field_index()
more efficient by utilizing vectors instead oflapply()
. - Adding liesWithinLayer in
get_field_index()
andsimplify_idaifield()
is now an option. This way, inget_field_index()
the "shortDescription" can be added without the more time intensive recursive layer search that comes with the now available optionfind_layers = TRUE
. For info on what this does, see documentation offind_layer()
. simplify_idaifield()
is now slightly faster as it usesfind_layer()
differently.find_layer()
can now handle a vector of multiple ids.- The
project
/projectname
-argument will be removed soon, and project needs to be specified inconnect_idaifield()
. Relevant functions currently issue a warning to that effect.
What's Changed
Full Changelog: v0.3.2...v0.3.4
v0.3.3
idaifieldR 0.3.3 2023-11-25
New features
- Add
idf_last_changed(connection, n = n)
: Returns a vector with the last n changed resources in the database. - Add
idf_get_changes(connection, ids = c(...))
: Returns a data.frame in which each change to one of the resources listed in ids (can be either their 'identifier' or 'UUID') corresponds to one row separated by creation or modification. remove_config_names()
issues a message about duplicate field or category names if it is appropriate. Functions may override data when multiple columns with the same name would otherwise exist, as e.g. 'diameter' and 'projectName:diameter'. Attaches an attribute that lists the duplicate field/category names.
Minor changes
- Notify of new / different version on GitHub on attaching the package (
check_idaifieldr_version()
).
Fixes
- Fix problem in
reformat_geometry()
(MultiPolygons have to be unnested before processing). (Imported Polygons may be formatted improperly, unnest if necessary (reformat_geometry()
). Geometry is still a work in progress.) - Fix a bug in
get_field_index()
, where it would return an empty data.frame if there was no configuration-resource.
What's Changed
Full Changelog: v0.3.2...v0.3.3
v0.3.2
idaifieldR 0.3.2 2023-04-15
- add option to use or not use exact dates as min/max values for dating if present
- add
idf_json_query()
which lets users construct their own queries to the CouchDB-API - improve and export
find_layer()
- fix error in
get_language_lookup()
- fix bug in
idf_query()
where it would not get values from fields with possibility of multiple entries - remove config as attribute to save space
- rename
select_by()
toidf_select_by()
- rename
show_categories()
toidf_show_categories()
- update
idf_select_by()
andidf_show_categories()
- update vignettes
- update/enhanced documentation
- add a sticker
Full Changelog: v0.3.1...v0.3.2
v0.3.1
idaifieldR 0.3.1 2023-04-02
- of course, I missed half of it.
- fix
idf_query()
/idf_index_query()
: rename "type" to "category" in resource lists - type column in
idaifield_as_matrix()
- fix renaming of type/category in
simplify_idaifield()
- fix missed type/category issue
convert_to_onehot()
- "solve" minor problem with spreading checkbox fields (#TODO)
Full Changelog: v0.2.4...v0.3.1
idaifieldR 0.3.0
idaifieldR 0.3.0 2023-04-02
- remove sofa as dependency and add custom interface with reduced functionality
- restructure unnesting (
unnest_docs()
&find_resource()
) - add
get_field_index()
- getting the uidlist/index directly from the database - exchange type with category everywhere (Attention: This may very well break previous scripts)
- speed up
find_layer()
significantly - check if project exists before attempting to query the database
Breaking changes:
- "type" does not refer to the type of resource (Find, Layer, Place etc.) any more and is renamed to category, as this is the current structure of the database. The uidlist-column "type" is renamed to "category" along with any reference to this information anywhere else (I hope ;) ).
What's Changed
- Add CouchDB to test-coverage workflow to test (almost) everything by @lsteinmann in #6
Full Changelog: v0.2.4...v0.3.0
idaifieldR 0.2.4
idaifieldR 0.2.4 2023-03-31
new:
- handle / reformat dating fields by getting min and max date
fixes:
- get type OR category if type is empty in for
get_uid_list()
- multiple queries for
idf_query()
with type & category - in
simplify_idaifield()
, category is currently switched to type,
but this will be changed later -> #TODO: rename type everywhere to
category to reflect actual db structure
What's Changed
- handle dating fields and fix type/category issue by @lsteinmann in #4
Full Changelog: v0.2.3...v0.2.4
idaifieldR 0.2.3
idaifieldR 0.2.3 2023-03-16
- add language management for multi-language input fields when project has more than one project language
- add language list lookup preparation (
get_language_lookup()
) for custom config fields - add
download_language_list()
to get current translations from GitHub - add ping-checks for all database-related functions to supply custom error messages
get_idaifield_docs()
will now remove the Configuration as a doc and attach it as attribute to all custom classes, thussimplify_idaifield()
will use the config-attribute directly and works without a connection.simplify_idaifield()
now allows to keep checkbox-fields etc. as-is- change
idf_query()
andidf_index_query()
to return docs instead of simplified list to allow choice - all
idaifield_...
-lists are now named (with the identifier of each resource) - new demodata for future use (
data("idaifieldr_demodata")
) - rewritten vignettes and generally updated documentation
- Notice: The changes may have created problems for iDAI.field 2, and I did not test using the package with iDAI.field 2, as I assume it is not used anymore.
get_idaifield_docs()
should still work.
What's Changed
Full Changelog: v0.2.2...v0.2.3
idaifieldR 0.2.2
idaifieldR 0.2.2 2023-02-18
- config specific names now removed everywhere
- fixed problem with if-condition when config exists
- fixed problem with the calculation of means for ranged measurements
- comments in the code in some places
- speed up
find_layer()
,replace_uid()
andcheck_if_uid()
- more tests
idaifieldR 0.2.1
idaifieldR 0.2.1 2022-10-23
- Fixed
find_layer()
(internal), seems to work as intended now. - With the editor for the project configuration in iDAI.field 3, new fields and objects started to be named according to their configurations, e.g. "milet:temperType" etc., if the fields have been newly created. From now on those config specific names are removed from all fields, so that only the part after the double dot remains (e.g. "milet:temperType" becomes "temperType").
check_if_uid()
now handles vectors- Speed up
get_uid_list()
,replace_uid()
,convert_to_onehot()
, andfix_relations()
(a lot) - split up import with
get_idaifield_docs()
and processing to be more usable withsimplify_idaifield()
, with advice to use the latter only on subsets so the time is more manageable. - add
check_and_unnest()
to export
Full Changelog: v0.2.0...v0.2.1
idaifieldR 0.2.0
idaifieldR 0.2.0 2022-05-15
The changes are a bit dramatic, and scripts using the older versions will probably not work anymore without intereference.
- Faster
get_uid_list()
usinglapply()
- Added
idf_query()
to specifically query the db for field values without first downloading everything - Added
idf_index_query()
to specifically query the database for things that are only available via the uidlist (the function needs a uidlist to do that) simplified = TRUE
(simplify_idaifield()
) will now convert checkbox fields to multiple columns. This should probably be an option in the future, not the default, but the function itself needs cleaning up first.- it is now possible to import the configuration file, and it is needed for some functions; however, this will only work with idaifield3; connection and projectname are now attributes of the "idaifield_docs" and "idaifield_resources" objects.
idaifield_as_matrix()
now returns a matrix with character values, not lists- dimension lists will be imported as a single value - this is still a work in progress, actually, but it has to suffice for the moment.
- There are now two vignettes: Demo.Rmd with essential workflow, about.Rmd explaining the package functions a bit more.
Full Changelog: v0.1.4...v0.2.0