Components of a Source Spotfire S+ Package
33
For example, in the section Soundex Example on page 21, when you
created the soundex package by calling
package.skeleton("soundex", list=c("soundex", 
"sample.surnames"))
a data  directory containing the  dump file  sample.surnames.S  was
created. The contents of this file looks like the following:
"sample.surnames" <- c("Ashcroft", "Asicroft", "De La Rosa",
"Del Mar", "Eberhard", "Engebrethson", "O'Brien",
"Opnian", "van Lind", "Zita", "Zitzmeinn")
R Directory
The  R  subdirectory  contains  ASCII  dumps  of  all  the  functions
included in your Spotfire S+ package. For example, if you define 
fun1
as follows:
fun1 <- function(x) x^2
and  you  specify  this  function  in  your 
list
argument  in
package.skeleton
,  then  a  file  called  R/fun1.S  is  generated  in  the
package  subdirectory.  This  file  contains  an  ASCII  version  of  the
function.  This  design  allows  you  to  access  and  edit  your  package
functions easily.
You can add functions to your package by copying the ASCII source
to the R directory. The files should have an .S or .ssc (for S code), a
.q, or  an .R file  extension; if not, they  are ignored in the package
build. From within Spotfire S+, you can add to the R directory with a
call like the following:
dump("funabc", 
"<path_to_packagedir>/<packagename>/R/funabc.s")
man Directory
The man subdirectory contains .Rd format documentation files for
the objects in the package. That is, if you use the 
package.skeleton
function to  create your package tree,  the man directory contains a
template  .Rd  file  for  each  object  specified  in  the 
list
argument.
These are created by calling the 
prompt.Rd
function on each object.
The documentation files to be installed with the package must also
start with a (lower or upper case) letter, and have the extension .Rd.
Note that all user-level objects in a  Spotfire S+ package  should be
documented; if a package pkg contains user-level objects which are
Cut pages out of pdf file - remove PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Provides Users with Mature Document Manipulating Function for Deleting PDF Pages
delete pages in pdf reader; add and delete pages from pdf
Cut pages out of pdf file - VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Visual Basic Sample Codes to Delete PDF Document Page in .NET
delete blank pages from pdf file; delete pages from pdf file online
Chapter 1  Spotfire S+ Guide to Packages
34
for internal use only, it should provide a file pkg-internal.Rd which
documents all such objects, and clearly states that these are not meant
to be called by the user. 
You can create help files for functions or data sets (if you have any to
include). We discuss each in the following sections.
Creating Help 
Files for 
Functions
After you generate the help files, you can edit them in your favorite
text  editor.  The  fun1.Rd  help  file  looks  like  the  following,  with  a
description following the tag.
\name{fun1}
the basename of the .Rd file. 
\alias{fun1}
the topics (or functions) the file documents. Note there must
be an 
\alias
entry for each topic.
\title{title information for fun1}
the title information for the help file.
\description{description of what fun1 does}
a concise (1-5 lines) description of the function.
\usage{fun1(x)}
a synopsis of the function(s) and variables documented in the
file. You can include usage for other objects documented here. 
\arguments{\item{arg_i}{Description of arg_i}}
a description  of each  of  the  function's arguments,  using  an
entry of this form. 
\details{more details than the description above}
include more details, if relevant.
\value{value returned}
short description of the value returned. If it is a list, use
\item{comp1 }{Description of 'comp1'}
\item{comp2 }{Description of 'comp2'}
\references{put references to the literature/web site here}
include any URLs or other relevant information.
\author{who you are}
VB.NET Image: Image Cropping SDK to Cut Out Image, Picture and
application, this VB.NET image cropper library SDK provides a professional and easy to use .NET solution for developers to crop / cut out image file in a short
delete page in pdf online; delete pdf pages android
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Image: Copy, Paste, Cut Image in Page. Link: Edit URL. Bookmark can view PDF document in single page or continue pages. Support to zoom in and zoom out PDF page.
delete pages from pdf document; cut pages out of pdf
Components of a Source Spotfire S+ Package
35
While  not  required,  we  encourage  you  to  use  this  tag  to
correctly attribute your work to yourself (and co-authors).
\note{further notes} 
make other sections like "
Warning
" with 
\section{Warning}{....}
\seealso{objects to See Also}
pointers to related S-PLUS objects, using 
\code{\link{...}}
\examples{example code}
this should be directly executable. This includes a definition
of the function as currently defined 
\keyword{kwd}
at least one, from doc/KEYWORDS. This 
kwd
string maps to
the Table of Contents for Windows files.
When you install a package (or build a binary package), the .Rd files
are converted to the appropriate format for the particular platform.
On Windows, a compiled help object (.CHM) file is created in the
top level directory of the package. On UNIX/Linux, the .Rd files are
converted to HTML, and they appear under .Data/__Hhelp in the
top level directory of the package.
Creating Help 
Files for Data 
Sets
An .Rd help file is created for data sets listed in the 
package.skelton
list
argument.
If 
dataset
is  a  data  frame,  you  get  a  different  skeletal  help  file
generated. For example, look at the help file for 
rivers
:
\name{rivers}
\docType{data}
\alias{rivers}
\title{Lengths of Major North American Rivers}
\description{
This  data  set  gives  the  lengths  (in  miles)  of  141
\dQuote{major} rivers in North America, as compiled by the
US GeologicalSurvey
}
\usage{data(rivers)}
\format{A vector containing 141 observations.}
\source{World Almanac and Book of Facts, 1975, page 406.}
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Remove Image from PDF Page. Image: Copy, Paste, Cut Image in can view PDF document in single page or continue pages. Support to zoom in and zoom out PDF page.
delete pages from pdf reader; delete page from pdf reader
C# PDF Text Extract Library: extract text content from PDF file in
Ability to extract highlighted text out of PDF document. How to C#: Extract Text Content from PDF File. C# example code for text extraction from all PDF pages.
delete pages pdf files; delete pages from a pdf
Chapter 1  Spotfire S+ Guide to Packages
36
\references{
McNeil, D. R. (1977) \emph{Interactive Data Analysis}.
New York: Wiley.
}
\keyword{datasets}
src Directory
C,  C++,  or  FORTRAN  code  is  stored  in  the  src  directory.  The
recognized file extensions are:
In addition to the above file types, the src directory can include the
following files, depending on your package’s targeted platform:
• Makevars (all platforms)
• Makevars_unix
• Makevars_windows_MS
These files contain defines for variables used in 
make
. For example, if
your  source  code  must  link  against  the  LaPack  libraries,  in
Makevars, set 
PKG_LIBS=$(LAPACK_LIBS)
.
Note
Package authors also should consider creating vignettes for their packages. CSAN provides a 
package for SWeave, an application for integrating Latex and Spotfire S+ documentation, 
reports, and analyses for packages. For more information, and to download the SWeave package, 
see the CSAN Web site (http://spotfire.tibco.com/csan).
Table 1.6: File extensions in the package src directory.
File extension
File type
.c 
C code
.cxx or .cpp
C++ code
.f
FORTRAN code
.h
Header file
VB.NET PDF Text Extract Library: extract text content from PDF
NET Programming. Extract and get partial and all text content from PDF file. Extract highlighted text out of PDF document. Image text
delete pdf pages acrobat; delete pages from a pdf reader
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Image from PDF Page. Image: Copy, Paste, Cut Image in PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET Abilities to zoom in and zoom out PDF page.
delete pdf pages in reader; delete pdf page acrobat
Components of a Source Spotfire S+ Package
37
When you install the package (or build a binary archive using the
--binary
option to the 
build
utility), the code in src is compiled and
linked  into  a  shared  library  called  s.dll  on  Windows  or  S.so  on
UNIX/Linux. The shared library is moved to the top level directory
of the package, and note that it is automatically loaded into Spotfire
S+ when the package is attached with the 
library
command. 
java Directory
The following details how to include Java code in a package, and how
.jar files are put into <pkg>/jar. When this .jar file is created, it is
loaded when 
library(pkg)
is invoked:
1. Put your  .java files in a directory <pkg>/java/src. 
Add your .properties files, .png files, or any other types of
files you want to include in the same directory. Note that you
likely  will  have  to  make  subdirectories  to  conform  to  Java
conventions.
2. If you have pre-built .jar files that your code depends upon,
put these .jar files in <pkg>/java/prebuiltjars.
3.
Splus CMD build --binary
or 
Splus CMD INSTALL
compiles  the  .java  files  under  src  (putting  the  .jar  files  in
prebuiltjars in the classpath of the compiler). It then puts all
the .class files and any non-.java files under src into a new
.jar file called <pkg>.jar.  It then copies <pkg>.jar and all
the  .jar  files  in  prebuiltjars  to  a  newly  made  directory,
<pkg>/jars.
When 
library(pkg)
loads a package containing a jars subdirectory,
it puts  each  .jar file into  the  Spotfire S+  classpath  (starting Java  if
needed), so that calls to 
.JavaMethod()
finds the methods.
Note
Subdirectories that are included in the src directory are considered part of the source package, 
but the package system does not compile the items located in any src subdirectories. 
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Image from PDF Page. Image: Copy, Paste, Cut Image in PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET Abilities to zoom in and zoom out PDF page.
delete pages from a pdf in preview; delete pages out of a pdf file
C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#
NET. Support to fill in form field in specified position of adobe PDF file. Able to fill out all PDF form field in C#.NET. RasterEdge
copy pages from pdf into new pdf; cut pages out of pdf file
Chapter 1  Spotfire S+ Guide to Packages
38
The package system expects that your Java compiler is called 
javac
,
and the .jar file creator is called 
jar
(same as Sun's JDK). It expects
that  the  JDK bin directory  containing  these  commands  is  in  your
path so that 
javac --help
and 
jar --help
function correctly.
If you want to add extra arguments to the Java compiler, include a
makefile  called  <pkg>/java/Makevars  (and  not  <pkg>/src/
Makevars).
The build system uses the following two variables (if defined):
PKG_JAVACFLAGS  
Can contain extra compiler flags (e.g.,
-verbose
and 
-g
), so the syntax
looks like this:
PKG_JAVACFLAGS=-verbose -g
.
Note  these  flags  tend  to  be  compiler-specific,  so  using  them  in  a
distributed  package  makes  it  less  portable  but  more  useful  during
development.
PKG_JAVAC_CLASSPATH 
Lists .jar files not in prebuiltjars that are needed during the
build.  The  variable 
SHOME
is  predefined  so
PKG_JAVAC_CLASSPATH
can  be  used  to  refer  to  .jar  files
distributed with Spotfire S+.  For example:
PKG_JAVAC_CLASSPATH=$(SHOME)/java/jre/libext/jaxp.jar;
$(SHOME)/java/jre/libext/batik.jar
You can define other variables to use in 
PKG_JAVAC_CLASSPATH
:
MY_JAR_DIR=C:/My jars;
PKG_JAVAC_CLASSPATH=$(MY_JAR_DIR)/myFirstClass.jar;
$(MY_JAR_DIR)/mySecondClass.jar
The  build  system    splits 
PKG_JAVAC_CLASSPATH
by  semicolons  (
;
),
colons (
:
), or commas (
,
) before expanding the variables so the above
works on Windows.
You  can  edit 
SHOME/cmd/Makevars_unix
or 
SHOME/cmd/
Makevars_windows_MS 
to redefine the values of 
JAVAC
(the compiler),
JAVAC_CLASSPATH_FLAG 
(the name of compiler flag used to introduce
list  of  .jar  files  in  the  classpath),  and 
JAVAC_CLASSPATH_SEP
(the
symbol used to separate entries in the classpath list, generally colon
(
:
) on Unix and semicolon (
;
) on Windows). 
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
a PDF document which is out of order on creating, loading, merge and splitting PDF pages and Files document, deleting unnecessary page from PDF file and changing
delete pages from pdf acrobat reader; delete pdf pages
VB.NET PDF - WPF PDF Viewer for VB.NET Program
Image from PDF Page. Image: Copy, Paste, Cut Image in Tiff image, TXT file and other images file formats, and PDF pages, zoom in or zoom out PDF pages and go to
delete page in pdf file; delete a page from a pdf acrobat
Components of a Source Spotfire S+ Package
39
As  of  this  release,  TIBCO  has  limited  support  for  using  another
compiler.
Chapter 1  Spotfire S+ Guide to Packages
40
CONVERTING A PACKAGE FROM R TO S-PLUS
R  packages from  the  Comprehensive R Archive  Network (CRAN)
can be Spotfire S+converted to Spotfire S+ packages.
In  some  cases,  the  source  package  from  CRAN  installs  and  runs
under Spotfire S+ without any changes; in general, some changes are
required. However, a Windows binary zip archive of an R package
will not run under Spotfire S+. 
Getting An R 
Source 
Package 
R packages can be found at the CRAN site: 
http://cran.r-project.org
The left  sidebar  has  a  Packages  link,  and  you can  download  the
.tar.gz source file for the package.
The contents of CRAN are mirrored at many sites around the world.
You are encouraged to download files from one of the mirror sites,
and the location of these sites is available at
http://cran.r-project.org/mirrors.html
You can get a listing of all the packages in CRAN and download the
source archive from within Spotfire S+:
1. Load the pkgutils library:
library(pkgutils)
2. List  the  available  packages,  using  the 
repos
argument  to
specify CRAN as the URL and 
type
as 
source
:
ap <- available.packages
(repos="http://cran.r-project.org", type="source")
The 
type
argument  is  set by  default  in  UNIX
®
/Linux
®
to
source
.
3. Look at package names:
ap[, 1]
4. Download a package source archive and save it to the current
directory. Set type to 
source
which is the default on UNIX/
Linux (
win.binary
for Windows): 
Converting a Package from R to S-PLUS
41
download.packages(repos="http://cran.r-project.org",
"fBasics",destdir='.',type="source")
where 
fBasics
is the name of the package to download. 
In this example, this downloads fBasics_221.10065.tar.gz (the
version available as of this writing) to the current directory.
Creating a 
Spotfire S+ 
Package from 
an R Package
1. After downloading an R source package from CRAN, unpack
the package with the 
tar
command. Example: 
tar -xzf fBasics_221.10065.tar.gz
This  creates  a  directory  called  fBasics  that  contains
subdirectories man, R, and possibly other subdirectories.
As noted in the section Windows on page 12, you will likely
need to install the tar utility.
2. Modify  the  files  under  fBasics  to  run  under  Spotfire  S+.
Modifications  depend  on  what  the  package  contains.  The
construct
if(is.R())
can be used to specify code for conditional execution in R or
S-PLUS.
3. The section Differences Between S-P
LUS
and R Packages on
page 39 and section Trouble-Shooting Porting R Packages to
S-P
LUS
Packages on page 43 indicate some areas to look out
for.
4. Update the DESCRIPTION file to indicate changes made,
porting to Spotfire S+, and so on. Add the 
Dialect
flag if it
does not exist, setting 
S-PLUS
as the value. (If you modified
the code so it still runs under R, then also add 
R
as a value for
the tag.)
5. After making any changes you can then run the 
check
utility
on the package directory (while in the directory that contains
fBasics).  This 
check
utility  also  runs  *.t  files  in  the
[packagename]/tests  directory,  and  reports  if 
do.test()
makes any comments on them:
Splus CMD check fBasics
Chapter 1  Spotfire S+ Guide to Packages
42
If everything is OK, you can build a source package archive:
Splus CMD build fBasics
This  creates  a  compressed  archive  called  fBasics_version.zip  (if
running Windows)  or  fBasics_version.tar.gz  (UNIX/Linux),  where
version is the version number from the 
Version
line in the package's
DESCRIPTION file.
You can install from this compressed tar archive with this:
Splus CMD INSTALL 
-l mylib fBasics_version.zip
on Windows or
Splus CMD INSTALL 
-l mylib fBasics_version.tar.gz
on UNIX/Linux, where 
mylib
is an existing directory in which you
can  install the  package. You must have  permission to write  in that
directory.
If you are satisfied with the conversion of the package to Spotfire S+,
you may want to submit the package to the Spotfire S+ CSAN site.
See section Submitting a Package on page 11 for information on how
to do this.
Build Scripts
The  following  scripts  are  used  to  build  pieces  of  a  package.  The
INSTALL
script  (and 
build
script with  the 
-binary
flag)  calls  these
scripts. When porting a package from R to S-PLUS, you might find
these scripts useful to do the porting work incrementally. They are all
called from a command shell with the syntax:
Splus CMD (scriptname> <scriptargs> 
Documents you may be interested
Documents you may be interested