The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
as.data.frame.safe_call() (two files each defined this S3
method with different output columns; only one could ever take effect,
silently). The safe-call.R version — timestamp, user,
r_cmd, fx, args, session, profile — is now the sole implementation.print.safe_symbol() referencing stale
column/parent fields left over from before the
0.2.0 symbol-model refactor; it now correctly displays the symbol’s
asset, expr, and session
(guarding on both NULL and NA, since these
fields default to NA_character_).as.data.frame.symbol_registry(), which previously
iterated over the columns of the underlying tibble instead of its rows
(via lapply() on a data frame), causing it to error
whenever called on a non-empty registry. It also referenced non-existent
parent/column fields. The method now simply
returns x$symbols coerced to a data frame, which already
carries the correct columns.register_symbol() erroring on a brand-new, empty
registry (the very first symbol registered in any session): the
emptiness check compared nrow() of a plain, pre-tibble
list() before checking length(), producing a
zero-length logical passed to ||. The length()
check is now evaluated first, so it short-circuits correctly.as.data.frame.safe_call()’s args
column having an unstable name and shape depending on how many arguments
the underlying call had (a single-argument call collapsed the column
into one named after that argument, e.g. x; multiple
arguments spread into several columns instead of one). The argument list
is now wrapped with I(list(...)) so it always appears as a
single, reliably-named args list-column.safe_call()/as.data.frame.safe_call(),
print.safe_symbol(), and
register_symbol()/as.data.frame.symbol_registry(),
none of which previously had any test coverage.has_symbol()/has_symbol.symbol_registry() (and
its S3 export) and
safe_symbol_reference()/new_safe_symbol_reference(),
none of which were called anywhere in the package.safe_symbol()
and print.safe_call().@param,
@returns, @keywords internal,
@noRd) and explanatory comments to the internal
symbol-tracking functions introduced in 0.2.0 (safe_call(),
safe_symbol(), safe_reference(),
symbol_registry(), and their supporting utilities), with no
change in behaviour.WORDLIST.safe_output() no
longer includes a table column. It has been replaced by
three more granular columns: kind (whether the tracked
object is a table, resource or
expression), asset (the resolved
table/resource name) and expr (the associated R expression,
when applicable). Code that reads the table column directly
will need to be updated.safe_symbol(), safe_call(),
safe_reference(), symbol_registry()) that
replaces regex-based parsing of Opal logs, modelling assignments and
aggregate function calls as objects and resolving arguments back to the
symbols/tables they reference.backend_logs(), backend_options(),
backend_users(), backend_projects(),
backend_sys_perms(), and others) so internal code no longer
calls opalr:: directly, paving the way for additional
backends.check_permissions(), init(),
report(), safe_data(),
safe_output(), safe_people() and
safe_setting() now all have
ArmadilloCredentials methods, returning clear “not yet
implemented” errors ahead of full support.default S3 methods for audit(),
audit_engine() and check_permissions(), giving
clearer errors when an unsupported connection object is supplied.verbose argument to
check_permissions() (opal method) to optionally print a
success message when permissions are sufficient.print.safe_call() and
print.safe_symbol() methods, plus
as.data.frame() methods for safe_call and
symbol_registry objects, for readable inspection of the new
internal tracking objects.safe_people() now determines admin/auditor status from
actual system permissions and group membership, rather than a hardcoded
name check against "admin"/"administrator",
improving compatibility with deployments that use differently named
privileged accounts.safe_people() now
fall back gracefully to an empty result instead of aborting the whole
audit.init(),
safe_data(), report() and related functions
now accept either opal or ArmadilloCredentials
connections.audit(),
audit_engine() and check_permissions(), along
with a mock-connection test helper, reducing reliance on a live demo
Opal server.uuid to Imports, used to generate
unique IDs for tracked symbols.testthat version requirement in
Suggests from >= 3.0.0 to
>= 3.1.4.check_permissions() support for backend
connections, allowing users to verify whether a connection has
sufficient privileges to run safe_* auditing functions
before execution (#15).opalr::opal.datasources() with
opalr::opal.projects(), reducing the permissions required
for metadata extraction and improving compatibility with auditor
accounts (#21).safe_data() and
safe_people() permission handling (#19).safe_output.opal() S3 generic now uses
overwrite = TRUE to update the root (./)
entity.audit()), reporting (report()) and extracting
five safe principle components (safe_*()).These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.