[rkward-cvs] SF.net SVN: rkward-code:[4529] trunk/rkward/packages/rkwarddev
m-eik at users.sf.net
m-eik at users.sf.net
Thu Feb 7 21:10:55 UTC 2013
Revision: 4529
http://sourceforge.net/p/rkward/code/4529
Author: m-eik
Date: 2013-02-07 21:10:55 +0000 (Thu, 07 Feb 2013)
Log Message:
-----------
rkwarddev: added <dependency_check> and <require map="">, also cleaned the code from several slot() calls, using getter functions instead
Modified Paths:
--------------
trunk/rkward/packages/rkwarddev/ChangeLog
trunk/rkward/packages/rkwarddev/DESCRIPTION
trunk/rkward/packages/rkwarddev/NAMESPACE
trunk/rkward/packages/rkwarddev/R/rk-internal.R
trunk/rkward/packages/rkwarddev/R/rk.XML.require.R
trunk/rkward/packages/rkwarddev/debian/changelog
trunk/rkward/packages/rkwarddev/debian/copyright
trunk/rkward/packages/rkwarddev/debian/rules
trunk/rkward/packages/rkwarddev/inst/CITATION
trunk/rkward/packages/rkwarddev/inst/NEWS.Rd
trunk/rkward/packages/rkwarddev/inst/doc/rkwarddev_vignette.pdf
trunk/rkward/packages/rkwarddev/man/rk.XML.require.Rd
Added Paths:
-----------
trunk/rkward/packages/rkwarddev/R/rk.XML.dependency_check.R
trunk/rkward/packages/rkwarddev/man/rk.XML.dependency_check.Rd
Modified: trunk/rkward/packages/rkwarddev/ChangeLog
===================================================================
--- trunk/rkward/packages/rkwarddev/ChangeLog 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/ChangeLog 2013-02-07 21:10:55 UTC (rev 4529)
@@ -7,8 +7,10 @@
- for consistency, from now on <component> is never an empty node
added:
- new function rk.XML.dependencies()
+ - new function rk.XML.dependency_check()
- added options "dependencies", "namespace" and "priority" to rk.XML.pluginmap()
- added option "dependencies" to rk.XML.component()
+ - added "map" to rk.XML.require()
changes in version 0.06-1 (2012-11-08)
changed:
Modified: trunk/rkward/packages/rkwarddev/DESCRIPTION
===================================================================
--- trunk/rkward/packages/rkwarddev/DESCRIPTION 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/DESCRIPTION 2013-02-07 21:10:55 UTC (rev 4529)
@@ -69,6 +69,7 @@
'rk.XML.convert.R'
'rk.XML.copy.R'
'rk.XML.dependencies.R'
+ 'rk.XML.dependency_check.R'
'rk.XML.dialog.R'
'rk.XML.dropdown.R'
'rk.XML.embed.R'
Modified: trunk/rkward/packages/rkwarddev/NAMESPACE
===================================================================
--- trunk/rkward/packages/rkwarddev/NAMESPACE 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/NAMESPACE 2013-02-07 21:10:55 UTC (rev 4529)
@@ -1,40 +1,13 @@
-exportClasses(rk.JS.arr)
-exportClasses(rk.JS.ite)
-exportClasses(rk.JS.opt)
-exportClasses(rk.JS.var)
-exportClasses(rk.plot.opts)
-exportClasses(rk.plug.comp)
export(echo)
export(id)
export(ite)
-exportMethods(show)
export(qp)
-export(rk.build.plugin)
-export(rk.comment)
export(rk.JS.array)
export(rk.JS.doc)
export(rk.JS.options)
export(rk.JS.saveobj)
export(rk.JS.scan)
export(rk.JS.vars)
-export(rk.paste.JS)
-export(rk.paste.JS.graph)
-export(rk.plotOptions)
-export(rk.plugin.component)
-export(rk.plugin.skeleton)
-export(rk.rkh.caption)
-export(rk.rkh.doc)
-export(rk.rkh.link)
-export(rk.rkh.related)
-export(rk.rkh.scan)
-export(rk.rkh.section)
-export(rk.rkh.setting)
-export(rk.rkh.settings)
-export(rk.rkh.summary)
-export(rk.rkh.technical)
-export(rk.rkh.title)
-export(rk.rkh.usage)
-export(rk.testsuite.doc)
export(rk.XML.about)
export(rk.XML.attribute)
export(rk.XML.browser)
@@ -49,6 +22,7 @@
export(rk.XML.convert)
export(rk.XML.copy)
export(rk.XML.dependencies)
+export(rk.XML.dependency_check)
export(rk.XML.dialog)
export(rk.XML.dropdown)
export(rk.XML.embed)
@@ -82,5 +56,32 @@
export(rk.XML.varselector)
export(rk.XML.varslot)
export(rk.XML.wizard)
+export(rk.build.plugin)
+export(rk.comment)
+export(rk.paste.JS)
+export(rk.paste.JS.graph)
+export(rk.plotOptions)
+export(rk.plugin.component)
+export(rk.plugin.skeleton)
+export(rk.rkh.caption)
+export(rk.rkh.doc)
+export(rk.rkh.link)
+export(rk.rkh.related)
+export(rk.rkh.scan)
+export(rk.rkh.section)
+export(rk.rkh.setting)
+export(rk.rkh.settings)
+export(rk.rkh.summary)
+export(rk.rkh.technical)
+export(rk.rkh.title)
+export(rk.rkh.usage)
+export(rk.testsuite.doc)
export(tf)
+exportClasses(rk.JS.arr)
+exportClasses(rk.JS.ite)
+exportClasses(rk.JS.opt)
+exportClasses(rk.JS.var)
+exportClasses(rk.plot.opts)
+exportClasses(rk.plug.comp)
+exportMethods(show)
import(methods)
Modified: trunk/rkward/packages/rkwarddev/R/rk-internal.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk-internal.R 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/R/rk-internal.R 2013-02-07 21:10:55 UTC (rev 4529)
@@ -120,11 +120,11 @@
cleaned.tags <- list()
for(this.tag in child.list(single.tags)){
if(is.XiMpLe.node(this.tag)){
- this.tag.name <- slot(this.tag, "name")
- if(this.tag.name %in% relevant.tags & "id" %in% names(slot(this.tag, "attributes"))){
+ this.tag.name <- getXMLName(this.tag)
+ if(this.tag.name %in% relevant.tags & "id" %in% names(getXMLAttrs(this.tag))){
if(isTRUE(only.checkable) & this.tag.name %in% "frame"){
- if("checkable" %in% names(slot(this.tag, "attributes"))){
- if(identical(slot(this.tag, "attributes")[["checkable"]], "true")){
+ if("checkable" %in% names(getXMLAttrs(this.tag))){
+ if(identical(getXMLAttrs(this.tag)[["checkable"]], "true")){
cleaned.tags[length(cleaned.tags)+1] <- this.tag
} else {}
} else {}
@@ -153,8 +153,8 @@
ids <- t(sapply(cleaned.tags, function(this.tag){
if(is.XiMpLe.node(this.tag)){
- this.tag.name <- slot(this.tag, "name")
- this.tag.id <- slot(this.tag, "attributes")["id"]
+ this.tag.name <- getXMLName(this.tag)
+ this.tag.id <- getXMLAttrs(this.tag)["id"]
} else {
this.tag.name <- XiMpLe:::XML.tagName(this.tag)
this.tag.id <- XiMpLe:::parseXMLAttr(this.tag)[["id"]]
@@ -220,7 +220,7 @@
if(!is.null(modifiers)){
if(identical(modifiers, "all")){
if(is.XiMpLe.node(XML.var)){
- tag.name <- slot(XML.var, "name")
+ tag.name <- getXMLName(XML.var)
} else {
tag.name <- XML.var
}
@@ -231,7 +231,7 @@
}
} else {
if(is.XiMpLe.node(XML.var)){
- modif.tag.name <- slot(XML.var, "name")
+ modif.tag.name <- getXMLName(XML.var)
} else {
modif.tag.name <- "all"
}
@@ -312,7 +312,7 @@
XML2person <- function(node, eval=FALSE){
if(is.XiMpLe.node(node)){
# check if this is *really* a about section, otherwise die of boredom
- if(!identical(slot(node, "name"), "about")){
+ if(!identical(getXMLName(node), "about")){
stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
} else {}
} else {
@@ -327,9 +327,9 @@
return(value)
}
all.authors <- c()
- for (this.child in slot(node, "children")){
- if(identical(slot(this.child, "name"), "author")){
- attrs <- slot(this.child, "attributes")
+ for (this.child in getXMLChildren(node)){
+ if(identical(getXMLName(this.child), "author")){
+ attrs <- getXMLAttrs(this.child)
given <- make.vector(attrs[["given"]])
family <- make.vector(attrs[["family"]])
email <- make.vector(attrs[["email"]])
@@ -359,18 +359,18 @@
} else {}
if(is.XiMpLe.node(node)){
# check if this is *really* a about section, otherwise die of boredom
- if(!identical(slot(node, "name"), "about")){
+ if(!identical(getXMLName(node), "about")){
stop(simpleError("I don't know what this is, but 'about' is not an about section!"))
} else {}
} else {
stop(simpleError("'about' must be a XiMpLe.node, see ?rk.XML.about()!"))
}
- check.deps <- sapply(slot(node, "children"), function(this.child){identical(slot(this.child, "name"), "dependencies")})
+ check.deps <- sapply(getXMLChildren(node), function(this.child){identical(getXMLName(this.child), "dependencies")})
if(any(check.deps)){
- got.deps <- slot(node, "children")[[which(check.deps)]]
+ got.deps <- getXMLChildren(node)[[which(check.deps)]]
deps.packages <- list()
# first see if RKWard and R versions are given
- deps.RkR <- slot(got.deps, "attributes")
+ deps.RkR <- getXMLAttrs(got.deps)
deps.RkR.options <- names(deps.RkR)
R.min <- ifelse("R_min_version" %in% deps.RkR.options, paste(">= ", deps.RkR[["R_min_version"]], sep=""), "")
R.max <- ifelse("R_max_version" %in% deps.RkR.options, paste("< ", deps.RkR[["R_max_version"]], sep=""), "")
@@ -384,10 +384,10 @@
if(Rk.version.indices > 0 & identical(mode, "depends")){
deps.packages[[length(deps.packages) + 1]] <- paste("rkward (", Rk.min, ifelse(Rk.version.indices > 1, ", ", ""), Rk.max, ")", sep="")
} else {}
- check.deps.pckg <- sapply(slot(got.deps, "children"), function(this.child){identical(slot(this.child, "name"), "package")})
+ check.deps.pckg <- sapply(getXMLChildren(got.deps), function(this.child){identical(getXMLName(this.child), "package")})
if(any(check.deps.pckg & ((isTRUE(suggest) & identical(mode, "suggest")) | !isTRUE(suggest)))){
deps.packages[[length(deps.packages) + 1]] <- paste(sapply(which(check.deps.pckg), function(this.pckg){
- this.pckg.dep <- slot(slot(got.deps, "children")[[this.pckg]], "attributes")
+ this.pckg.dep <- getXMLAttrs(getXMLChildren(got.deps)[[this.pckg]])
pckg.options <- names(this.pckg.dep)
pckg.name <- this.pckg.dep[["name"]]
pckg.min <- ifelse("min" %in% pckg.options, paste(">= ", this.pckg.dep[["min"]], sep=""), "")
@@ -425,7 +425,7 @@
} else {}
if(is.XiMpLe.node(node)){
- node.ID <- slot(node, "attributes")[["id"]]
+ node.ID <- getXMLAttrs(node)[["id"]]
} else if(is.character(node)){
node.ID <- node
} else {
@@ -479,7 +479,7 @@
} else {}
if(is.XiMpLe.node(source)){
- tag.name <- slot(source, "name")
+ tag.name <- getXMLName(source)
# embedded plugins can have all sorts of modifiers
if(tag.name %in% c("embed", "external")){
if(isTRUE(bool)){
@@ -575,7 +575,7 @@
this.child <- stripXML(this.child)
if(is.XiMpLe.node(this.child)){
- return(slot(this.child, "name"))
+ return(getXMLName(this.child))
} else {
stop(simpleError(paste("Invalid object for ", section, " section, must be of class XiMpLe.node, but got class ", class(this.child), "!", sep="")))
}
@@ -605,7 +605,7 @@
# - see: name of the function to check docs for
valid.parent <- function(parent, node, warn=FALSE, see=NULL){
if(is.XiMpLe.node(node)){
- node.name <- slot(node, "name")
+ node.name <- getXMLName(node)
if(identical(node.name, parent)){
return(TRUE)
} else {
Added: trunk/rkward/packages/rkwarddev/R/rk.XML.dependency_check.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.dependency_check.R (rev 0)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.dependency_check.R 2013-02-07 21:10:55 UTC (rev 4529)
@@ -0,0 +1,148 @@
+#' Create XML node "dependency_check" for RKWard pluginmaps
+#'
+#' @param id.name Character string, a unique ID for this plugin element.
+#' @param dependencies A named list with these elements:
+#' \describe{
+#' \item{rkward.min}{Minimum RKWard version needed for this plugin (optional)}
+#' \item{rkward.max}{Maximum RKWard version needed for this plugin (optional)}
+#' \item{R.min}{Minimum R version needed for this plugin (optional)}
+#' \item{R.max}{Maximum R version needed for this plugin (optional)}
+#' }
+#' @param package A list of named character vectors, each with these elements:
+#' \describe{
+#' \item{name}{Name of a package this plugin depends on (optional)}
+#' \item{min}{Minimum version of the package (optional)}
+#' \item{max}{Maximum version of the package (optional)}
+#' \item{repository}{Repository to download the package (optional)}
+#' }
+#' @param pluginmap A named list with these elements:
+#' \describe{
+#' \item{name}{Identifier of a pluginmap this plugin depends on (optional)}
+#' \item{url}{URL to get the pluginmap (optional)}
+#' }
+#' @param hints Logical, if \code{TRUE}, \code{NULL} values will be replaced with example text.
+#' @export
+#' @seealso \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
+#' @examples
+#' dependency_check.node <- rk.XML.dependency_check(
+#' dependencies=list(
+#' rkward.min="0.5.3",
+#' rkward.max="",
+#' R.min="2.10",
+#' R.max=""),
+#' package=list(
+#' c(name="heisenberg", min="0.11-2", max="",
+#' repository="http://rforge.r-project.org"),
+#' c(name="DreamsOfPi", min="0.2", max="", repository="")),
+#' pluginmap=list(
+#' c(name="heisenberg.pluginmap", url="http://eternalwondermaths.example.org/hsb"))
+#' )
+
+rk.XML.dependency_check <- function(id.name, dependencies=NULL, package=NULL, pluginmap=NULL, hints=FALSE){
+ ## package
+ # - name
+ # - min="min_version",
+ # - max="max_version",
+ # - repository
+ # create example, if empty
+ if(is.null(package)){
+ if(isTRUE(hints)){
+ xml.package.example <- XMLNode("package",
+ attrs=list(
+ name="CHANGE_ME_OR_DELETE_ME",
+ "min_version"="CHANGE_ME_OR_DELETE_ME",
+ "max_version"="CHANGE_ME_OR_DELETE_ME",
+ repository="CHANGE_ME_OR_DELETE_ME"
+ ))
+ xml.package <- list(XMLNode("!--", xml.package.example))
+ } else {
+ xml.package <- list()
+ }
+ } else {
+ xml.package <- sapply(package, function(this.package){
+ pck.options <- names(this.package)
+ pck.attributes <- list(name=this.package[["name"]])
+ for (this.option in c("min", "max","repository" )){
+ if(this.option %in% pck.options){
+ pck.attributes[[this.option]] <- this.package[[this.option]]
+ } else {}
+ }
+ result <- XMLNode("package", attrs=pck.attributes)
+ return(result)
+ })
+ }
+
+ ## pluginmap
+ # - name,
+ # - url
+ # create example, if empty
+ if(is.null(pluginmap)){
+ if(isTRUE(hints)){
+ xml.pluginmap.text <- XMLNode("", "If this plugin depends on other pluginmaps, edit this part to your needs:")
+ xml.pluginmap.example <- XMLNode("pluginmap",
+ attrs=list(
+ name="CHANGE_ME_OR_DELETE_ME",
+ url="CHANGE_ME_OR_DELETE_ME"
+ ))
+ xml.pluginmap <- list(XMLNode("!--", xml.pluginmap.text, xml.pluginmap.example))
+ } else {
+ xml.pluginmap <- list()
+ }
+ } else {
+ xml.pluginmap <- sapply(pluginmap, function(this.pluginmap){
+ result <- XMLNode("pluginmap",
+ attrs=list(
+ name=this.pluginmap[["name"]],
+ url=this.pluginmap[["url"]]
+ ))
+ return(result)
+ })
+ }
+
+ ## dependencies
+ # - rkward.min="rkward_min_version",
+ # - rkward.max="rkward_max_version",
+ # - R.min="R_min_version",
+ # - R.max="R_max_version"
+ # + package
+ # + pluginmap
+ for (pmap in xml.pluginmap){
+ xml.package[[length(xml.package)+1]] <- pmap
+ }
+ # comment out an example dependency listing if it has no entries
+ if(is.null(dependencies)){
+ if(isTRUE(hints)){
+ R.v <- R.Version()
+ xml.dependencies <- XMLNode("dependencies",
+ attrs=list(
+ "rkward_min_version"=.rk.app.version,
+ "rkward_max_version"="CHANGE_ME_OR_DELETE_ME",
+ "R_min_version"=paste(R.v$major, R.v$minor, sep="."),
+ "R_max_version"="CHANGE_ME_OR_DELETE_ME"
+ ),
+ .children=child.list(xml.package, empty=FALSE))
+ } else {
+ xml.dependencies <- XMLNode("dependencies", .children=child.list(xml.package, empty=FALSE))
+ }
+ } else {
+ dep.options <- names(dependencies)
+ dep.attributes <- list(id=id.name)
+ if("rkward.min" %in% dep.options){
+ dep.attributes[["rkward_min_version"]] <- dependencies[["rkward.min"]]
+ } else {}
+ if("rkward.max" %in% dep.options){
+ dep.attributes[["rkward_max_version"]] <- dependencies[["rkward.max"]]
+ } else {}
+ if("R.min" %in% dep.options){
+ dep.attributes[["R_min_version"]] <- dependencies[["R.min"]]
+ } else {}
+ if("R.max" %in% dep.options){
+ dep.attributes[["R_max_version"]] <- dependencies[["R.max"]]
+ } else {}
+ xml.dependency_check <- XMLNode("dependency_check",
+ attrs=dep.attributes,
+ .children=child.list(xml.package, empty=FALSE))
+ }
+
+ return(xml.dependency_check)
+}
Modified: trunk/rkward/packages/rkwarddev/R/rk.XML.require.R
===================================================================
--- trunk/rkward/packages/rkwarddev/R/rk.XML.require.R 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/R/rk.XML.require.R 2013-02-07 21:10:55 UTC (rev 4529)
@@ -2,7 +2,13 @@
#'
#' This function will create a require node for .pluginmap files.
#'
-#' @param file Character string, file name of another .pluginmap file to be included.
+#' Note that only one of the values can be set at a time. \code{file} should be preferred whenever
+#' possible.
+#'
+#' @param file Character string, file name of another .pluginmap file to be included. Should be
+#' preferred over \code{map} if that file is in the same package.
+#' @param map Character string, should be \code{"namespace::id"} of another .pluginmap to be included.
+#' Can be used to address plugin maps which are not part of the same plugin package.
#' @return An object of class \code{XiMpLe.node}.
#' @export
#' @seealso \href{help:rkwardplugins}{Introduction to Writing Plugins for RKWard}
@@ -10,12 +16,28 @@
#' test.require <- rk.XML.require("another.pluginmap")
#' cat(pasteXML(test.require))
-rk.XML.require <- function(file){
- if(length(file) > 1 | !is.character(file)){
- stop(simpleError("'file' must be a character string!"))
+rk.XML.require <- function(file=NULL, map=NULL){
+ # one of file or map *must* be used
+ if(is.null(file) && is.null(map)){
+ stop(simpleError("'file' or 'map' must be specified!"))
} else {}
+ # but only *one* of file or map can be used
+ if(!is.null(file) && !is.null(map)){
+ stop(simpleError("'file' and 'map' cannot be used both at the same time!"))
+ } else {}
- node <- XMLNode("require", attrs=list(file=file))
+ # now that we know one of both is set
+ if(!is.null(file)){
+ if(length(file) > 1 || !is.character(file)){
+ stop(simpleError("'file' must be a character string!"))
+ } else {}
+ } else {
+ if(length(map) > 1 || !is.character(map)){
+ stop(simpleError("'map' must be a character string!"))
+ } else {}
+ }
+ node <- XMLNode("require", attrs=list(file=file, map=map))
+
return(node)
}
Modified: trunk/rkward/packages/rkwarddev/debian/changelog
===================================================================
--- trunk/rkward/packages/rkwarddev/debian/changelog 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/debian/changelog 2013-02-07 21:10:55 UTC (rev 4529)
@@ -1,3 +1,9 @@
+r-other-rkward-rkwarddev (0.06-2-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- m.eik michalke <meik.michalke at hhu.de> Thu, 07 Feb 2013 19:55:15 +0000
+
r-other-rkward-rkwarddev (0.05-8-1) unstable; urgency=low
* new upstream release
Modified: trunk/rkward/packages/rkwarddev/debian/copyright
===================================================================
--- trunk/rkward/packages/rkwarddev/debian/copyright 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/debian/copyright 2013-02-07 21:10:55 UTC (rev 4529)
@@ -6,7 +6,7 @@
'r-other-rkward-rkwarddev' in harmony with the R packaging policy to indicate
that the package is external to the CRAN or BioC repositories.
-rkwarddev Copyright (C) 2012 Meik Michalke, released under the
+rkwarddev Copyright (C) 2013 Meik Michalke, released under the
GNU General Public License (GPL) version 3 or (at your option) any later version.
This software is distributed in the hope that it will be useful, but
Modified: trunk/rkward/packages/rkwarddev/debian/rules
===================================================================
--- trunk/rkward/packages/rkwarddev/debian/rules 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/debian/rules 2013-02-07 21:10:55 UTC (rev 4529)
@@ -1,7 +1,7 @@
#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules file for the Debian/GNU Linux r-other-rkward-rkwarddev package
-# Copyright 2012 by m.eik michalke <meik.michalke at hhu.de>
+# Copyright 2013 by m.eik michalke <meik.michalke at hhu.de>
debRreposname := other-rkward
Modified: trunk/rkward/packages/rkwarddev/inst/CITATION
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/CITATION 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/inst/CITATION 2013-02-07 21:10:55 UTC (rev 4529)
@@ -1,13 +1,13 @@
bibentry("Manual",
title="rkwarddev: A collection of tools for RKWard plugin development",
author="Meik Michalke",
- year="2012",
- note="(Version 0.06-1)",
+ year="2013",
+ note="(Version 0.06-2)",
url="http://rkward.sourceforge.net",
textVersion =
- paste("Michalke, M. (2012). ",
- "rkwarddev: A collection of tools for RKWard plugin development (Version 0.06-1). ",
+ paste("Michalke, M. (2013). ",
+ "rkwarddev: A collection of tools for RKWard plugin development (Version 0.06-2). ",
"Available from http://rkward.sourceforge.net",
sep=""),
Modified: trunk/rkward/packages/rkwarddev/inst/NEWS.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/inst/NEWS.Rd 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/inst/NEWS.Rd 2013-02-07 21:10:55 UTC (rev 4529)
@@ -1,11 +1,45 @@
\name{NEWS}
\title{News for Package 'rkwarddev'}
\encoding{UTF-8}
+\section{Changes in rkwarddev version 0.06-2 (2013-02-07)}{
+ \subsection{changed}{
+ \itemize{
+ \item the structure of <about> nodes will change in RKWard 0.6.1, <dependencies> will become
+ a direct child of <document> or <component>, which explains several changes in this release
+ \item for consistency, from now on <component> is never an empty node
+ }
+ }
+ \subsection{added}{
+ \itemize{
+ \item new function \code{rk.XML.dependencies()}
+ \item new function \code{rk.XML.dependency_check()}
+ \item added options \code{"dependencies"}, \code{"namespace"} and \code{"priority"} to \code{rk.XML.pluginmap()}
+ \item added option \code{"dependencies"} to \code{rk.XML.component()}
+ \item added \code{"map"} to \code{rk.XML.require()}
+ }
+ }
+}
+\section{Changes in rkwarddev version 0.06-1 (2012-11-08)}{
+ \subsection{changed}{
+ \itemize{
+ \item \code{rk.plugin.skeleton()}: \code{"tests"} will now ignore \code{"overwrite"} and not replace
+ existing testsuite files
+ }
+ }
+ \subsection{fixed}{
+ \itemize{
+ \item dots will now be removed from pluginmap IDs
+ \item modifiers of \code{"external"} XML nodes will not be checked, since it can be
+ all kinds of stuff
+ }
+ }
+}
\section{Changes in rkwarddev version 0.05-8 (2012-09-30)}{
\subsection{added}{
\itemize{
- \item new function \code{rk.plotOptions()} and class \code{"rk.plot.opts"} to simplify code generation for plots;
- this also caused changes in the internal workflow, especially for \code{child.node()} and \code{rk.paste.JS()}
+ \item new function \code{rk.plotOptions()} and class \code{"rk.plot.opts"} to simplify code
+ generation for plots; this also caused changes in the internal workflow,
+ especially for \code{child.node()} and \code{rk.paste.JS()}
}
}
\subsection{changed}{
@@ -25,22 +59,24 @@
\section{Changes in rkwarddev version 0.05-6 (2012-05-10)}{
\subsection{added}{
\itemize{
- \item \code{rk.XML.wizard()} and \code{rk.XML.dialog()} can now set the \code{"recommended"} attribute
+ \item \code{rk.XML.wizard()} and \code{rk.XML.dialog()} can now set the \code{"recommended"}
+ attribute
}
}
}
\section{Changes in rkwarddev version 0.05-5 (2012-04-19)}{
\subsection{added}{
\itemize{
- \item \code{rk.plugin.skeleton()} can now also generate initial ChangeLog files (but won't overwrite existing ones)
+ \item \code{rk.plugin.skeleton()} can now also generate initial ChangeLog files (but
+ won't overwrite existing ones)
\item added a LICENSE file to the sources
\item sources were initially debianized by roxyPackage
}
}
\subsection{changed}{
\itemize{
- \item if files are being skipped by \code{rk.plugin.skeleton()}, the corresponding warning will now include the 'create'
- actions that these files belong to
+ \item if files are being skipped by \code{rk.plugin.skeleton()}, the corresponding
+ warning will now include the 'create' actions that these files belong to
}
}
\subsection{fixed}{
@@ -59,11 +95,12 @@
\section{Changes in rkwarddev version 0.05-3 (2012-03-18)}{
\itemize{
\item fixed: \code{rk.XML.text()} now preserves XML tags in the text value
- \item internally, functions now call \code{XiMpLe::XMLNode()} and \code{XiMpLe::XMLTree()} constructors instead of \code{new()},
- and \code{pasteXMLNode()} and \code{pasteXMLTree()} were globally renamed into \code{pasteXML()}
+ \item internally, functions now call \code{XiMpLe::XMLNode()} and \code{XiMpLe::XMLTree()}
+ constructors instead of \code{new()}, and \code{pasteXMLNode()} and \code{pasteXMLTree()} were
+ globally renamed into \code{pasteXML()}
\item internally, replaced object at node with slot(object, \code{"node"})
- \item internally, moved checks for valid child and parent nodes to an internal functions,
- \code{valid.child()} and \code{valid.parent()}
+ \item internally, moved checks for valid child and parent nodes to an internal
+ functions, \code{valid.child()} and \code{valid.parent()}
}
}
\section{Changes in rkwarddev version 0.05-2 (2012-03-10)}{
@@ -71,24 +108,32 @@
\item added missing dependency to package methods
\item fixed docs in \code{rk.XML.plugin()}, \code{rk.XML.saveobj()} and \code{rk.plugin.skeleton()}
\item fixed bug in \code{rk.XML.snippets()}
- \item re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd file
+ \item re-formatted the ChangeLog so roxyPackage can translate it into a NEWS.Rd
+ file
}
}
\section{Changes in rkwarddev version 0.05-1 (2012-01-04)}{
\itemize{
- \item removed superfluous "level=1" arguments from automatic "\code{rk.header()}"s in \code{rk.JS.doc()}
+ \item removed superfluous "level=1" arguments from automatic "\code{rk.header()}"s in
+ \code{rk.JS.doc()}
\item added wrapper function \code{rk.XML.checkbox()} for \code{rk.XML.cbox()}
- \item changed \code{rk.JS.saveobj()} to use ".GlobalEnv$" instead of "\code{assign()}" in the resulting code
- \item added option to toggle the addition of empty "else \{\}" statements in rk.JS.ite objects to \code{rk.paste.JS()}
+ \item changed \code{rk.JS.saveobj()} to use ".GlobalEnv$" instead of "\code{assign()}" in the
+ resulting code
+ \item added option to toggle the addition of empty "else \{\}" statements in
+ rk.JS.ite objects to \code{rk.paste.JS()}
}
}
\section{Changes in rkwarddev version 0.05-0 (2011-12-14)}{
\itemize{
- \item \code{"result.header"} now doesn't add quotes by itself in \code{rk.JS.doc()}, so you can have R objects pasted.
- previous scripts need to be adapted accordingly! the headers can also be deactivated by setting to FALSE or \code{""}
- \item fixed show method for objects of class rk.JS.var with more than one variable object
- \item added support for global variables to \code{rk.JS.doc()} and \code{rk.plugin.component()}, and therefore also \code{rk.plugin.skeleton()}
- \item \code{"variables"} and \code{"globals"} in \code{rk.JS.doc()} can now also be given as objects of class rk.JS.var
+ \item \code{"result.header"} now doesn't add quotes by itself in \code{rk.JS.doc()}, so you
+ can have R objects pasted. previous scripts need to be adapted accordingly!
+ the headers can also be deactivated by setting to FALSE or \code{""}
+ \item fixed show method for objects of class rk.JS.var with more than one
+ variable object
+ \item added support for global variables to \code{rk.JS.doc()} and
+ \code{rk.plugin.component()}, and therefore also \code{rk.plugin.skeleton()}
+ \item \code{"variables"} and \code{"globals"} in \code{rk.JS.doc()} can now also be given as objects
+ of class rk.JS.var
\item worked on the vignette
}
}
@@ -100,7 +145,8 @@
}
\section{Changes in rkwarddev version 0.04-12 (2011-12-11)}{
\itemize{
- \item added function \code{tf()} for even quicker JavaScript code generation from checkboxes
+ \item added function \code{tf()} for even quicker JavaScript code generation from
+ checkboxes
\item fixed issue with \code{"about"} not being an XML node in \code{rk.plugin.skeleton()}
}
}
@@ -112,7 +158,8 @@
}
\section{Changes in rkwarddev version 0.04-10 (2011-12-05)}{
\itemize{
- \item when using \code{rk.comment()} for logic scripting, its contents will automatically be placed inside a <script> node now
+ \item when using \code{rk.comment()} for logic scripting, its contents will
+ automatically be placed inside a <script> node now
}
}
\section{Changes in rkwarddev version 0.04-9 (2011-12-03)}{
@@ -122,67 +169,80 @@
}
\section{Changes in rkwarddev version 0.04-8 (2011-11-10)}{
\itemize{
- \item R 2.14 creates source archives which are incompatible with earlier versions. attempt to deal with this
- by adding empty R directory and NAMESPACE file
+ \item R 2.14 creates source archives which are incompatible with earlier
+ versions. attempt to deal with this by adding empty R directory and NAMESPACE
+ file
}
}
\section{Changes in rkwarddev version 0.04-7 (2011-11-08)}{
\itemize{
- \item added long description support to \code{rk.XML.about()}, used for the DESCRIPTION file
+ \item added long description support to \code{rk.XML.about()}, used for the
+ DESCRIPTION file
}
}
\section{Changes in rkwarddev version 0.04-6 (2011-10-31)}{
\itemize{
- \item added <frame> to the tags which are scanned by \code{rk.JS.scan()}, they're considered only if checkable
- \item added <frame> to the tags which are scanned by \code{rk.JS.scan()}, they're considered only if checkable
+ \item added <frame> to the tags which are scanned by \code{rk.JS.scan()}, they're
+ considered only if checkable
+ \item added <frame> to the tags which are scanned by \code{rk.JS.scan()}, they're
+ considered only if checkable
\item improved output of rk.JS.var class objects by \code{rk.paste.JS()}
}
}
\section{Changes in rkwarddev version 0.04-5 (2011-10-28)}{
\itemize{
- \item set dependency of rkward to >= 0.5.6 to work around a glitch in rkward's package versioning.
- this can cause errors on real 0.5.6 installations because they lack functions introduced
- in 0.5.7 (to add & load a plugin automatically), but shouldn't really break anything
+ \item set dependency of rkward to >= 0.5.6 to work around a glitch in rkward's
+ package versioning. this can cause errors on real 0.5.6 installations
+ because they lack functions introduced in 0.5.7 (to add & load a plugin
+ automatically), but shouldn't really break anything
\item added support to turn off modifier checks to \code{rk.XML.set()}
- \item added option \code{"load.silencer"} to \code{rk.JS.doc()}, to easily add a switch to turn off package load messages in output.
+ \item added option \code{"load.silencer"} to \code{rk.JS.doc()}, to easily add a switch to
+ turn off package load messages in output.
}
}
\section{Changes in rkwarddev version 0.04-4 (2011-10-26)}{
\itemize{
- \item fixed bug in check for valid modifiers (used to warn when mixed lists with/without modifiers were given)
- \item fixed bug in \code{rk.XML.convert()} (false output if provided with list without modifiers)
+ \item fixed bug in check for valid modifiers (used to warn when mixed lists
+ with/without modifiers were given)
+ \item fixed bug in \code{rk.XML.convert()} (false output if provided with list without
+ modifiers)
\item added option \code{"check.modifiers"} to \code{rk.JS.vars()}
}
}
\section{Changes in rkwarddev version 0.04-3 (2011-10-22)}{
\itemize{
- \item added support for definint \code{doPrintout()} JS functions to \code{rk.JS.doc()}, \code{rk.plugin.skeleton()} and
- \code{rk.plugin.component()}
- \item added function \code{rk.comment()} to add comments to the generated code. it's a <!-- comment --> node
- by default, but will be turned into // comment by \code{rk.paste.JS()} and <![CDATA[ comment ]]> for
- logic sections automatically
- \item added option \code{"gen.info"} to all file producing functions, to add a comment note that the file
- was generated and changes should be made to the script rather than the code directly
+ \item added support for definint \code{doPrintout()} JS functions to \code{rk.JS.doc()},
+ \code{rk.plugin.skeleton()} and \code{rk.plugin.component()}
+ \item added function \code{rk.comment()} to add comments to the generated code. it's a
+ <!-- comment --> node by default, but will be turned into // comment by
+ \code{rk.paste.JS()} and <![CDATA[ comment ]]> for logic sections automatically
+ \item added option \code{"gen.info"} to all file producing functions, to add a comment
+ note that the file was generated and changes should be made to the script
+ rather than the code directly
\item fixed missing \code{"id.name"} option in \code{rk.XML.embed()}
- \item fixed automatic menu hierarchy generation for lists of legth 1 in \code{rk.XML.pluginmap()}
+ \item fixed automatic menu hierarchy generation for lists of legth 1 in
+ \code{rk.XML.pluginmap()}
}
}
\section{Changes in rkwarddev version 0.04-2 (2011-10-21)}{
\itemize{
- \item removed the superfluous \code{"name"} option from \code{rk.plugin.skeleton()} and \code{rk.plugin.component()}; names are now
- always provided by \code{"about"}, either as an <about> node or just the name.
+ \item removed the superfluous \code{"name"} option from \code{rk.plugin.skeleton()} and
+ \code{rk.plugin.component()}; names are now always provided by \code{"about"}, either as an
+ <about> node or just the name.
\item result headers now start at level 1 by default in \code{rk.JS.doc()}
- \item added option \code{"suggest.required"} to \code{rk.plugin.skeleton()} to add package requirements as suggestions,
- not dependencies
+ \item added option \code{"suggest.required"} to \code{rk.plugin.skeleton()} to add package
+ requirements as suggestions, not dependencies
\item updated skeleton GUI dialog
}
}
\section{Changes in rkwarddev version 0.04-1 (2011-10-20)}{
\itemize{
\item added \code{"about"} option to \code{rk.XML.plugin()} to overrule pluginmap defaults
- \item added \code{rk.plugin.component()}, i.e. modularized the component generation, to allow for more than one
- component in \code{rk.plugin.skeleton()}, which subsequently gained the new option \code{"components"}
- \item improved dependency support, \code{rk.plugin.skeleton()} writes dependencies from <about> to DESCRIPTION now
+ \item added \code{rk.plugin.component()}, i.e. modularized the component generation,
+ to allow for more than one component in \code{rk.plugin.skeleton()}, which
+ subsequently gained the new option \code{"components"}
+ \item improved dependency support, \code{rk.plugin.skeleton()} writes dependencies
+ from <about> to DESCRIPTION now
\item fixed dependency definition in \code{rk.XML.about()}
\item fixed \code{"verion"} typo in \code{rk.XML.about()}
\item the dot \code{"."} is now also allowed in file names
@@ -190,12 +250,14 @@
}
\section{Changes in rkwarddev version 0.04-0 (2011-10-19)}{
\itemize{
- \item for accurcy and consistency with the docs, the \code{"properties"} option changed to \code{"modifiers"} in \code{rk.JS.vars()}
+ \item for accurcy and consistency with the docs, the \code{"properties"} option
+ changed to \code{"modifiers"} in \code{rk.JS.vars()}
\item added further property modifiers to the internal validation
\item added class rk.JS.var, including show method
\item added support for class rk.JS.var in \code{rk.paste.JS()} an \code{id()}
\item \code{rk.JS.vars()} now returns a list of class rk.JS.var
- \item added support for all valid modifiers to \code{rk.XML.convert()} and \code{rk.XML.connect()}
+ \item added support for all valid modifiers to \code{rk.XML.convert()} and
+ \code{rk.XML.connect()}
}
}
\section{Changes in rkwarddev version 0.03-7 (2011-10-18)}{
@@ -207,8 +269,10 @@
}
\section{Changes in rkwarddev version 0.03-6 (2011-10-13)}{
\itemize{
- \item lifted rkward package dependecies to 0.5.7 (needed for \code{rk.load.pluginmaps()})
- \item \code{rk.XML.menu()} and \code{rk.plugin.skeleton()} can now recursively generate deeper menu structures if you provide it with a list
+ \item lifted rkward package dependecies to 0.5.7 (needed for
+ \code{rk.load.pluginmaps()})
+ \item \code{rk.XML.menu()} and \code{rk.plugin.skeleton()} can now recursively generate
+ deeper menu structures if you provide it with a list
\item fixed bug in autogeneration of IDs in \code{rk.XML.input()} and \code{rk.XML.saveobj()}
}
}
@@ -222,10 +286,11 @@
\section{Changes in rkwarddev version 0.03-4 (2011-10-10)}{
\itemize{
\item added functions \code{rk.XML.code()} and \code{rk.XML.help()}
- \item fixed bug in internal function \code{check.ID()} (produced false entry nodes under certain circumstances)
+ \item fixed bug in internal function \code{check.ID()} (produced false entry nodes
+ under certain circumstances)
\item fixed bug in \code{rk.XML.pluginmap()} for automatic component IDs
- \item fixed bug in \code{rk.plugin.skeleton()} for cases where XML file exists and is not overwritten, but JS/help
- files need to be generated
+ \item fixed bug in \code{rk.plugin.skeleton()} for cases where XML file exists and is
+ not overwritten, but JS/help files need to be generated
\item cleaned up \code{rk.XML.pluginmap()} and \code{rk.XML.plugin()} hint code
\item changed \code{"nodes"} option to \code{"..."} also in \code{rk.XML.menu()}
\item added beginnings of a vignette (to be continued...)
@@ -233,11 +298,14 @@
}
\section{Changes in rkwarddev version 0.03-3 (2011-10-09)}{
\itemize{
- \item replaced most of the \code{"nodes"} and \code{"children"} options with \code{"..."} in functions \code{rk.rkh.related()}, \code{rk.rkh.settings()},
- \code{rk.XML.col()}, \code{rk.XML.components()}, \code{rk.XML.context()}, \code{rk.XML.dialog()}, \code{rk.XML.frame()}, \code{rk.XML.hierarchy()}, \code{rk.XML.logic()},
- \code{rk.XML.page()}, \code{rk.XML.row()}, \code{rk.XML.snippet()}, \code{rk.XML.snippets()} and \code{rk.XML.wizard()}. therefore, you don't
- need to \code{list()} objects any more.
- \item any function which generates an ID now has an automation mechanism for it, which is also the default.
+ \item replaced most of the \code{"nodes"} and \code{"children"} options with \code{"..."} in
+ functions \code{rk.rkh.related()}, \code{rk.rkh.settings()}, \code{rk.XML.col()}, \code{rk.XML.components()},
+ \code{rk.XML.context()}, \code{rk.XML.dialog()}, \code{rk.XML.frame()}, \code{rk.XML.hierarchy()},
+ \code{rk.XML.logic()}, \code{rk.XML.page()}, \code{rk.XML.row()}, \code{rk.XML.snippet()},
+ \code{rk.XML.snippets()} and \code{rk.XML.wizard()}. therefore, you don't need to \code{list()} objects any
+ more.
+ \item any function which generates an ID now has an automation mechanism for
+ it, which is also the default.
}
}
\section{Changes in rkwarddev version 0.03-2 (2011-10-09)}{
@@ -258,69 +326,83 @@
}
\section{Changes in rkwarddev version 0.03-0 (2011-10-07)}{
\itemize{
- \item redesigned options for \code{rk.plugin.skeleton()} again, to make them more intuitive and flexible
- at the same time. unfortunately, this breaks backwards compatibility again.
- \item \code{rk.plugin.skeleton()} and \code{rk.XML.pluginmap()} now only accept \code{rk.XML.about()} made objects
- for \code{"about"}
- \item \code{rk.plugin.skeleton()} uses internal function \code{XML2person()} to create nicer Authors at R entries in DESCRIPTION
+ \item redesigned options for \code{rk.plugin.skeleton()} again, to make them more
+ intuitive and flexible at the same time. unfortunately, this breaks backwards
+ compatibility again.
+ \item \code{rk.plugin.skeleton()} and \code{rk.XML.pluginmap()} now only accept
+ \code{rk.XML.about()} made objects for \code{"about"}
+ \item \code{rk.plugin.skeleton()} uses internal function \code{XML2person()} to create nicer
+ Authors at R entries in DESCRIPTION
\item fixed bug in \code{id()} (now generates JS variable names, not XML IDs)
}
}
\section{Changes in rkwarddev version 0.02-5 (2011-10-06)}{
\itemize{
- \item added functions \code{rk.rkh.caption()}, \code{rk.rkh.link()}, \code{rk.rkh.related()}, \code{rk.rkh.section()}, \code{rk.rkh.setting()},
- \code{rk.rkh.settings()}, \code{rk.rkh.summary()}, \code{rk.rkh.technical()}, \code{rk.rkh.title()} and \code{rk.rkh.usage()}
- \item \code{rk.rkh.doc()} now only accepts nodes of the above functions as input (and gained support for title and sections)
+ \item added functions \code{rk.rkh.caption()}, \code{rk.rkh.link()}, \code{rk.rkh.related()},
+ \code{rk.rkh.section()}, \code{rk.rkh.setting()}, \code{rk.rkh.settings()}, \code{rk.rkh.summary()},
+ \code{rk.rkh.technical()}, \code{rk.rkh.title()} and \code{rk.rkh.usage()}
+ \item \code{rk.rkh.doc()} now only accepts nodes of the above functions as input (and
+ gained support for title and sections)
\item \code{rk.rkh.scan()} now also looks for captions
\item added full help page support to \code{rk.plugin.skeleton()}
\item added support for properties to \code{rk.JS.vars()}
\item added function \code{rk.JS.saveobj()} to generate JS code for saveobject nodes.
- \item added function \code{rk.JS.options()} to generate code for JS variables holding multiple options
+ \item added function \code{rk.JS.options()} to generate code for JS variables holding
+ multiple options
\item added class rk.JS.opt and a show method for it (use \code{rk.paste.JS()} on that)
- \item \code{id()} and \code{echo()} now also replace objects of classes rk.JS.opt and rk.JS.arr with their relevant ID
- \item linked "Introduction to Writing Plugins for RKWard" locally to the manual pages
+ \item \code{id()} and \code{echo()} now also replace objects of classes rk.JS.opt and
+ rk.JS.arr with their relevant ID
+ \item linked "Introduction to Writing Plugins for RKWard" locally to the manual
+ pages
}
}
\section{Changes in rkwarddev version 0.02-4 (2011-10-03)}{
\itemize{
- \item some experimental JavaScript generator tools added, might very well be changed soon again:
- \item added functions \code{rk.JS.vars()}, \code{echo()}, \code{id()}, \code{ite()} and \code{rk.paste.JS()} to help generate JavaScript code
- \item added classes rk.JS.ite, rk.JS.arr and show methods for them
- \item function \code{rk.JS.array()} now returns an object of class rk.JS.arr (use \code{rk.paste.JS()} on that)
+ \item some experimental JavaScript generator tools added, might very well be
+ changed soon again: - added functions \code{rk.JS.vars()}, \code{echo()}, \code{id()}, \code{ite()} and
+ \code{rk.paste.JS()} to help generate JavaScript code - added classes rk.JS.ite,
+ rk.JS.arr and show methods for them - function \code{rk.JS.array()} now returns
+ an object of class rk.JS.arr (use \code{rk.paste.JS()} on that)
}
}
\section{Changes in rkwarddev version 0.02-3 (2011-09-30)}{
\itemize{
- \item added functions \code{rk.XML.attribute()}, \code{rk.XML.component()}, \code{rk.XML.components()}, \code{rk.XML.context()},
- \code{rk.XML.entry()}, \code{rk.XML.hierarchy()}, \code{rk.XML.menu()} and \code{rk.XML.require()}
- \item \code{rk.plugin.skeleton()} and \code{rk.XML.pluginmap()} now use the new functions, which makes them much more flexible
+ \item added functions \code{rk.XML.attribute()}, \code{rk.XML.component()},
+ \code{rk.XML.components()}, \code{rk.XML.context()}, \code{rk.XML.entry()}, \code{rk.XML.hierarchy()}, \code{rk.XML.menu()}
+ and \code{rk.XML.require()}
+ \item \code{rk.plugin.skeleton()} and \code{rk.XML.pluginmap()} now use the new functions,
+ which makes them much more flexible
\item added option \code{"menu"} to \code{rk.plugin.skeleton()}
- \item added options \code{"require"}, \code{"x11.context"}, \code{"import.context"} and \code{"hints"} to \code{rk.XML.pluginmap()}
+ \item added options \code{"require"}, \code{"x11.context"}, \code{"import.context"} and \code{"hints"} to
+ \code{rk.XML.pluginmap()}
\item removed now superfluous option \code{"plugin.dir"} from \code{rk.XML.pluginmap()}
- \item tuned \code{rk.plugin.skeleton()} to only skip file writing if they exist
+ \item tuned \code{rk.plugin.skeleton()} to only skip file writing if they exist
}
}
\section{Changes in rkwarddev version 0.02-2 (2011-09-29)}{
\itemize{
- \item added \code{"load"} and \code{"show"} options to \code{rk.plugin.skeleton()} to call \code{rk.load.pluginmaps()} and the plugin itself
+ \item added \code{"load"} and \code{"show"} options to \code{rk.plugin.skeleton()} to call
+ \code{rk.load.pluginmaps()} and the plugin itself
\item added function \code{rk.build.plugin()}
}
}
\section{Changes in rkwarddev version 0.02-1 (2011-09-28)}{
\itemize{
- \item added functions \code{rk.XML.insert()}, \code{rk.XML.include()}, \code{rk.XML.embed()}, \code{rk.XML.preview()},
- \code{rk.XML.snippet()}, and \code{rk.XML.snippets()}
- \item added support for snippets section to \code{rk.XML.plugin()} and \code{rk.plugin.skeleton()}
+ \item added functions \code{rk.XML.insert()}, \code{rk.XML.include()}, \code{rk.XML.embed()},
+ \code{rk.XML.preview()}, \code{rk.XML.snippet()}, and \code{rk.XML.snippets()}
+ \item added support for snippets section to \code{rk.XML.plugin()} and
+ \code{rk.plugin.skeleton()}
\item included formula node into \code{rk.XML.vars()} wrapper
- \item \code{rk.XML.varslot()} now automatically sets "multi=TRUE" if \code{"min"}, \code{"max"} or \code{"any"} are set
+ \item \code{rk.XML.varslot()} now automatically sets "multi=TRUE" if \code{"min"}, \code{"max"} or
+ \code{"any"} are set
}
}
\section{Changes in rkwarddev version 0.02-0 (2011-09-27)}{
\itemize{
- \item redesigned options for \code{rk.XML.plugin()} and \code{rk.plugin.skeleton()} for more consistency.
- unfortunately, this breaks backwards compatibility!
- \item added functions \code{rk.XML.varselector()}, \code{rk.XML.copy()}, \code{rk.XML.dialog()}, \code{rk.XML.page()} and
- \code{rk.XML.wizard()}
+ \item redesigned options for \code{rk.XML.plugin()} and \code{rk.plugin.skeleton()} for more
+ consistency. unfortunately, this breaks backwards compatibility!
+ \item added functions \code{rk.XML.varselector()}, \code{rk.XML.copy()}, \code{rk.XML.dialog()},
+ \code{rk.XML.page()} and \code{rk.XML.wizard()}
\item added type checks to \code{rk.XML.spinbox()}
\item added \code{"id.name"} and \code{"label"} to various functions
\item updated \code{rk.XML.formula()}
@@ -328,12 +410,13 @@
}
\section{Changes in rkwarddev version 0.01-5 (2011-09-25)}{
\itemize{
- \item added functions \code{rk.XML.formula()}, \code{rk.XML.convert()}, \code{rk.XML.connect()}, \code{rk.XML.logic()},
- \code{rk.XML.set()} and \code{rk.XML.external()}
- \item added possibility to add custom XML code to the logic section with \code{rk.XML.plugin()}
- and \code{rk.plugin.skeleton()}
+ \item added functions \code{rk.XML.formula()}, \code{rk.XML.convert()}, \code{rk.XML.connect()},
+ \code{rk.XML.logic()}, \code{rk.XML.set()} and \code{rk.XML.external()}
+ \item added possibility to add custom XML code to the logic section with
+ \code{rk.XML.plugin()} and \code{rk.plugin.skeleton()}
\item fixed id setting in \code{rk.XML.browser()}
- \item simplified \code{rk.plugin.skeleton()} and \code{rk.XML.pluginmap()} by making \code{"about"} entirely optional
+ \item simplified \code{rk.plugin.skeleton()} and \code{rk.XML.pluginmap()} by making \code{"about"}
+ entirely optional
}
}
\section{Changes in rkwarddev version 0.01-4 (2011-09-22)}{
@@ -345,27 +428,30 @@
\item added \code{"edit"} and \code{"create"} options to \code{rk.plugin.skeleton()}
\item added function \code{rk.XML.varslot()}
\item added possibility to add custom XML nodes to the varslot in \code{rk.XML.vars()}
- \item added possibility to paste ready-to-use JavaScript code directly to the \code{preprocess()},
- \code{calculate()} and \code{printout()} functions, respectively
+ \item added possibility to paste ready-to-use JavaScript code directly to the
+ \code{preprocess()}, \code{calculate()} and \code{printout()} functions, respectively
}
}
\section{Changes in rkwarddev version 0.01-3 (2011-09-16)}{
\itemize{
- \item added \code{rk.XML.spinbox()} and missing options to \code{rk.XML.browser()} and \code{rk.XML.saveobj()}
+ \item added \code{rk.XML.spinbox()} and missing options to \code{rk.XML.browser()} and
+ \code{rk.XML.saveobj()}
\item corrected browser default type in \code{rk.XML.browser()}
\item added wizard option to \code{rk.plugin.skeleton()}
}
}
\section{Changes in rkwarddev version 0.01-2 (2011-09-15)}{
\itemize{
- \item reworked \code{rk.XML.about()} to use person class objects for authors, and need less info to
- produce usable output
+ \item reworked \code{rk.XML.about()} to use person class objects for authors, and need
+ less info to produce usable output
}
}
\section{Changes in rkwarddev version 0.01-1 (2011-09-05)}{
\itemize{
- \item added \code{rk.JS.scan()}, \code{rk.JS.doc()}, \code{rk.JS.array()}, \code{rk.rkh.scan()} and \code{rk.rkh.doc()}
- \item added \code{rk.XML.browser()}, \code{rk.XML.input()}, \code{rk.XML.saveobj()}, \code{rk.XML.stretch()} and \code{rk.XML.text()}
+ \item added \code{rk.JS.scan()}, \code{rk.JS.doc()}, \code{rk.JS.array()}, \code{rk.rkh.scan()} and
+ \code{rk.rkh.doc()}
+ \item added \code{rk.XML.browser()}, \code{rk.XML.input()}, \code{rk.XML.saveobj()},
+ \code{rk.XML.stretch()} and \code{rk.XML.text()}
\item added \code{rk.testsuite.doc()}
\item shortened package name from \code{"rkwardplugdev"} to \code{"rkwarddev"}
\item merged code into RKWard's svn tree
@@ -374,8 +460,8 @@
\section{Changes in rkwarddev version 0.01-0 (2011-08-30)}{
\itemize{
\item forked rk.* functions from XiMpLe package into this one
- \item added functions \code{rk.XML.cbox()}, \code{rk.XML.row()}, \code{rk.XML.col()}, \code{rk.XML.frame()},
- \code{rk.XML.radio()} and \code{rk.XML.vars()}
+ \item added functions \code{rk.XML.cbox()}, \code{rk.XML.row()}, \code{rk.XML.col()},
+ \code{rk.XML.frame()}, \code{rk.XML.radio()} and \code{rk.XML.vars()}
\item rewrote the ID handling
\item added docs
\item initial release via reaktanz.de
Modified: trunk/rkward/packages/rkwarddev/inst/doc/rkwarddev_vignette.pdf
===================================================================
(Binary files differ)
Added: trunk/rkward/packages/rkwarddev/man/rk.XML.dependency_check.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.dependency_check.Rd (rev 0)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.dependency_check.Rd 2013-02-07 21:10:55 UTC (rev 4529)
@@ -0,0 +1,58 @@
+\name{rk.XML.dependency_check}
+\alias{rk.XML.dependency_check}
+\title{Create XML node "dependency_check" for RKWard pluginmaps}
+\usage{
+ rk.XML.dependency_check(id.name, dependencies = NULL,
+ package = NULL, pluginmap = NULL, hints = FALSE)
+}
+\arguments{
+ \item{id.name}{Character string, a unique ID for this
+ plugin element.}
+
+ \item{dependencies}{A named list with these elements:
+ \describe{ \item{rkward.min}{Minimum RKWard version
+ needed for this plugin (optional)}
+ \item{rkward.max}{Maximum RKWard version needed for this
+ plugin (optional)} \item{R.min}{Minimum R version needed
+ for this plugin (optional)} \item{R.max}{Maximum R
+ version needed for this plugin (optional)} }}
+
+ \item{package}{A list of named character vectors, each
+ with these elements: \describe{ \item{name}{Name of a
+ package this plugin depends on (optional)}
+ \item{min}{Minimum version of the package (optional)}
+ \item{max}{Maximum version of the package (optional)}
+ \item{repository}{Repository to download the package
+ (optional)} }}
+
+ \item{pluginmap}{A named list with these elements:
+ \describe{ \item{name}{Identifier of a pluginmap this
+ plugin depends on (optional)} \item{url}{URL to get the
+ pluginmap (optional)} }}
+
+ \item{hints}{Logical, if \code{TRUE}, \code{NULL} values
+ will be replaced with example text.}
+}
+\description{
+ Create XML node "dependency_check" for RKWard pluginmaps
+}
+\examples{
+dependency_check.node <- rk.XML.dependency_check(
+ dependencies=list(
+ rkward.min="0.5.3",
+ rkward.max="",
+ R.min="2.10",
+ R.max=""),
+ package=list(
+ c(name="heisenberg", min="0.11-2", max="",
+ repository="http://rforge.r-project.org"),
+ c(name="DreamsOfPi", min="0.2", max="", repository="")),
+ pluginmap=list(
+ c(name="heisenberg.pluginmap", url="http://eternalwondermaths.example.org/hsb"))
+)
+}
+\seealso{
+ \href{help:rkwardplugins}{Introduction to Writing Plugins
+ for RKWard}
+}
+
Modified: trunk/rkward/packages/rkwarddev/man/rk.XML.require.Rd
===================================================================
--- trunk/rkward/packages/rkwarddev/man/rk.XML.require.Rd 2013-02-07 16:11:32 UTC (rev 4528)
+++ trunk/rkward/packages/rkwarddev/man/rk.XML.require.Rd 2013-02-07 21:10:55 UTC (rev 4529)
@@ -2,11 +2,17 @@
\alias{rk.XML.require}
\title{Create XML "require" node for RKWard plugins}
\usage{
- rk.XML.require(file)
+ rk.XML.require(file = NULL, map = NULL)
}
\arguments{
\item{file}{Character string, file name of another
- .pluginmap file to be included.}
+ .pluginmap file to be included. Should be preferred over
+ \code{map} if that file is in the same package.}
+
+ \item{map}{Character string, should be
+ \code{"namespace::id"} of another .pluginmap to be
+ included. Can be used to address plugin maps which are
+ not part of the same plugin package.}
}
\value{
An object of class \code{XiMpLe.node}.
@@ -15,6 +21,10 @@
This function will create a require node for .pluginmap
files.
}
+\details{
+ Note that only one of the values can be set at a time.
+ \code{file} should be preferred whenever possible.
+}
\examples{
test.require <- rk.XML.require("another.pluginmap")
cat(pasteXML(test.require))
More information about the rkward-tracker
mailing list