[ Show as SlideShow ]

Scripting 1: JPSP - Preparing Your Computer

Speaker: Volker RW Schaa (GSI Helmholtzzentrum für Schwerionenforschung GmbH)

JPSP (JACoW Proceedings Script Package) is a collection of tools and scripts to generate
the proceedings from data managed in SPMS and stored on PSI or JLab file servers to be
published on JACoW at CERN and KEK.

JPSP can be used pre-conference to generate abstract booklets, during conference
to check on errors in the processed PDFs, and post-conference to generate the proceedings.

The introduction in JPSP is divided in two parts:
1) Installation -- Preparing Your Computer
2) Running the Scripts

Required Software

The JPSP scripts run under Linux/Unix and Windows. As most of the
software packages (perl, TeX, cURL, etc.) are pre-installed in Linux
and MAC OS, only the installation under Windows is described here.
For Unix/Linux and MAC OS the base download page is given

⦿ Perl


  The Perl install package Strawberry Perl is recommended for Windows. 

It installs in a interactive way and adds its directory to the Windows path setting.

Unix/Linux and MAC OS

⦿ PDF utilities pdfinfo, pdftotext, pdffonts, . . .


The following PDF utilities are needed by some of the scripts: pdfinfo, pdftotext,
and pdffonts. These utilities are part of xpdf — an open source viewer for PDF files —
and can be downloaded from the xpdf site. The precompiled binaries can be downloaded
using the following link.

After unzipping copy all 9 binaries pdf*.exe from /bin64 to where they can be
found from a command prompt window (set path).

Unix/Linux and MAC OS

⦿ cURL

A file transfer utility is needed to download the XML output from the SPMS database in
an encoding safe way when using the script »spmsread.pl«. The same is true for the
download command files »pdfwget.bat«, »allwget.bat«, »paperwget.bat«, and others
generated by »spmbatch.pl«. This was done from day one using wget.

For the DOI registration cURL was introduced as it provides an easier command
line syntax compared to wget and it is much less chatty. Therefore in all scripts
file transfers are now implemented using cURL instead of wget (even when the
command files are still named *wget.


After unzipping curl-<version>-win64-mingw.7z, copy the curl.exe binary
from /bin to where it can be found from a command prompt window (set path).

Unix/Linux and MAC OS

⦿ wget


This file transfer utility was used from the beginning of JPSP. Now cURL has taken
over. wget is installed as a fallback if not all scripts have been updated as planned.

Install the binaries where they can be found from a command prompt window (set path).

⦿ TeX, LaTeX, LuaTeX


The TeX distribution MiKTeX is recommended as it is the only distribution
which provides on-the-fly download and installation of missing packages.

TeX is needed for wrapping the papers and incorporate information in
the hidden fields of the PDFs, print-out of Author-Title-Check pages,
proceedings volumes, and other tasks.

MiKTeX should be configured to download missing packages automatically
on-the-fly without additional questioning.
MiKTeX Settings => General => Install... => Yes.

Unix/Linux and MAC OS

⦿ JPSP - JACoW Proceedings Script Package

The JPSP has been developed to run under Windows, Linux,
Unix, MAC OS, or OpenVMS.

Setup of a local site for the JACoW JPSP scripts: download the
package and unzip it in the wanted directory. It will create a
directory structure used by the scripts. The main directory is
named like the package (SCS2018-171104), rename it to
your conference name (i.e. IPAC2021).

⦿ Example Conference Setup

For the tutorial exists a setup file which eases some of the
load of configuring and checking the correct setup.
The file should be unzipped into the example directory structure.

⦿ Configuration File

The most important entity is the configuration file conference.config.
It contains the description of all parameters needed for pre-conference,
during conference, and post-conference usage. It is part of the JPSP package and
has to be adapted to (at least) the conference name, location, SPMS links etc.

version_config      = 2017-11-03
version_script_bt   = 27.1
# Conference Setup (which is split between conference and post-conference setup.
#                   conference setup      is used for generating abstract booklet,
#                                         web pages, and proceedings
#                   post-conference setup is used to generate data for DOIs/INSPIRE etc.
#   conference
#           _SPMS      		contains the SPMS base directory for the conference, i.e. https://oraweb.cern.ch/pls/IPAC2013/
#           _xmlfile   		contains only the conference XML "filename", not the directory (like 'xml_directory')
#           _logo      		contains only the logo/banner image's "filename", not the directory (like 'img_directory') of the logo to be used on the banner page
#           _logo_size 		provides the "width"x"height" of the logo/banner as it should be displayed
#           _url       		URL where the conference proceedings will end up on the JACoW file server
#                        	(should be for JACoW http://jacow.org/<conference-name>/
#           _respm     		e-mail address of the responsible person for generating the web pages for the conference 
#           _name      		name of the conference (<conference-name><year>) conference name lowercase with 4 digit year
#           _site      		contains City and Country of the conference venue (<city>, [state,] country)
#           _title     		title of the conference (<title of conference>, i.e. 11th International Computational Accelerator Physics Conference)
#           _date      		<date of conference> i.e. "August 19-24, 2012" [<month> <date-range> <year> should be separated only by one space]
#           _series             base name of the conference without edition etc.
#           _number             event in the series
#           _pub_copyr 		"Copyright \copyright{} <current-year> CC-BY-3.0 and by the respective authors"
#	    _pre       		switch on/off Pre-Release run (1=yes | 0=no)
#	    _pre_text  		"- Pre-Release Snapshot <date> <time>" i.e. 07-Oct-2016 18:00
# post-conference setup 
#           _editor    		email of editorial board: "<last-name>, <first-name> (<affiliation>)[<id-origin:id>]", several editors are concatenated with ";"
#                               e.g. with ORCID: "Schaa, Volker RW (GSI, Darmstadt, Germany)[ORCID:0000-0003-1866-8570]" otherwise take JACoWId
#           _isbn      		JACoW ISBN of the conference (978-3-95450-xxx-y), please ask Volker RW Schaa if you are not sure, i.e. 978-3-95450-116-8
#           _pub_date           year and month (numerical) of publication on JACoW, i.e. "2012-10"
#           _pub_by    		"JACoW" (fix entry for nearly all conferences)
#                        		JACoW/IEEE for NA-PAC and IPACs in North America
#                        		JACoW/EPS for IPACs in Europe
#conference_SPMS      = https://<reginal-support-center>/pls/<conference>/ # base URL of login into SPMS instance
conference_SPMS      = https://spms.kek.jp/pls/sap2017/
conference_xmlfile   = spms.xml
# Conference parameters
conference_logo      = sap2017-banner.jpg		        # logo used for the banner frame 
conference_logo_size = 428x125                                  # (pixel) real logo size can be scaled to this size
conference_url       = http://jacow.org/sap2017/                # (all lowercase!) where it will appear at JACoW (used for Inspire dataset)
conference_respm     = v.r.w.schaa@gsi.de                       # ends up in the generated html pages
conference_name      = SAP2017                      		# e.g. IPAC2017, CYCLOTRONS2015, ...
conference_site      = Jishou, China                            # e.g. "Barcelona, Spain" or "San Francisco, CA, USA"
conference_title     = 13th Symposium on Accelerator Physics    # complete name including number
conference_date      = 28-30 August 2017			# date of conference
conference_series    = Symposium on Accelerator Physics         # series 
conference_number    = 13					# event in the series
# JACoW-id: to get the correct JACoWId, use https://oraweb.cern.ch/pls/jacow/xml2.author?ln=<lastname>&fn=<firstname>
# editorial board: <last-name>, <first-name> (<affiliation>)[<id-origin:id>]  + ";" as separator 
conference_editor    = "Zhao, Ning (IHEP, Beijing, China)[JACoWId:53127];Schaa, Volker RW (GSI, Darmstadt, Germany)[ORCID:0000-0003-1866-8570]"	
conference_isbn      = 978-3-95450-199-1                        # ISBN number (check http://www.jacow.org/Tools/ISBN or ask Volker if your conference is not listed)
conference_pub_date  = 2017-xx                                  # final publication date on JACoW
conference_pub_by    = JACoW                                    # a constant
conference_pub_copyr = Copyright \copyright{} 2017 CC-BY-3.0 and by the respective authors
conference_pre       = 1                                        # this run is only a Pre-Release (1=yes | 0=no => production run)
conference_pre_text  = - Pre-Release Snapshot 25-Oct-2017 12:30	# string will be attached to "conference_site" and printed on each paper
# DOI related settings
#	DOI_prefix	test:	10.5072	    <- everybody can use this
#	          production:	10.18429    <- JACoW assigned DOI number
#       DOI_site publication:       http://jacow.org/<conference_name>/doi/
#				=>    http://accelconf.web.cern.ch/AccelConf/<conference_name>/doi/
#               if not defined      http://jacow.org/<conference_name>/doi/
#DOI_prefix	    = 10.18429                 		    	# JACoW's production domain
DOI_prefix	    = 10.5072                                  	# test domain
DOI_useraccount     = --user CERN.JACOW:DataCite.######		# do not propagate <password>
###DOI_site         = http://jacow.org/<conference-name>/doi/	# site of DOI landing page (when commented out "#"; generated automatically
#                                                           	# when not set or defined, the standard is used: http://jacow.org/<conference>/doi/ 
#                                                           	#                       => http://accelconf.web.cern.ch/AccelConf/<conference>/doi/
data_generation_date = 2017-mm-dd			    	# date the proceedings were generated and published <yyyy-mm-dd>
# other files
protocol_directory  = ./PROTOCOL/
debug_file          = protocol.txt
deb_calltree        = 0                                         # only for debug purpose (=1)
# directory configuration (alphabetical order)
# all directory names with "#" are UPPERCASE directories, 
#               only contain material and do NOT go into the proceedings
#    atc_        #	place for Author-Title-Check files
#    audio_       	for audio recordings
#    base_url     	base for reference links from docs, papers, pages [index.html]
#    content_    #	this is where the time-schedule, dividing sheets, pictures, etc. are coming from
#    doi_		for the DOI landing page within the conference standard
#    doixml_	 #      for the DOI XML data and registration batch file
#    export_      	for all files which have to do with citations or references to this article (<papercode>-[bib|ris|tex|txt].htm + <papercode>.xml)
#    html_        	for all html-files [.htm]
#                       (author, keyword, institute, session, ...)
#    img_         	for all images [.png, .jpg, .gif, ...]
#    paper_       	for all papers *with* embedded infos [.pdf]
#                       (keyword/author/..., conference tag, page numbers, etc.)  [.pdf]
#    poster_      	for all poster files (<papercode>_poster.pdf)
#    raw_paper_  #	for all papers *without* embedded infos [.pdf] (the processed files from JACoW editors) +
#                       all files needed for error checking (<paper_code>-[i|k|f].txt info/keywords/fonts etc.)
#    slides_      	for all transparency files (<papercode>_talk.pdf)
#    video_       	for video recordings (mp4, m4v, .etc)
#    xml_        #	for all xml related files (downloaded sessions and complete conference)
base_url            = ../index.htm
atc_directory       = ./ATC/
audio_directory     = ../audio/
video_directory     = ../video/
content_directory   = ./CONTENTS/
html_directory      = ./html/
slides_directory    = ../talks/
img_directory       = ../im0ges/
paper_directory     = ./papers/
raw_paper_directory = ../PAPERS-FINAL/
xml_directory       = ./XML/
poster_directory    = ../posters/
export_directory    = ./export/
doi_directory       = ./doi/
doixml_directory    = ./DOIXML/
# Security Pass Phrases (to be copied from SPMS)
PassPhraseDown      = <pass-phrase-down>
PassPhraseUp        = <pass-phrase-up>
PassPhraseExtract   = <pass-phrase-extract>
# download ALL (=0) PDFs or only update the ones missing (=1)
pdf_update_only     = 0                 # 0 = no, download all; 1 = yes, only download new ones
# paper_not_received_link = "0|1"
#   if "paper_not_received_link = 0" no TeX and PDF files will be generated
#   for missing papers, therefore no link in any of the lists (session, 
#   classification, author, and keyword) will be generated. In this case the 
#   entry in "paper_not_received_text" will not be used
# paper_not_received_text = "text"
# text to be put in papers when the final text has not been sent by the author
#   DIPAC2003 used "PAPER NOT YET RECEIVED" before finalizing
#              and "PAPER NOT RECEIVED" after submission stop
#	Pre-Release	use "Paper not yet received, processed, or QAed"
paper_not_received_text   = CONTRIBUTION NOT RECEIVED
paper_not_received_link   = 0
paper_ftn_switch          = 1     # footnotes will (not=0) be included
paper_agy_switch          = 1     # funding notes will (not=0) be included
proceedings_volume_switch = 1     # Proceedings volume will (not=0) be produced
context_switch            = 0     # (do not=0) generate a ConTeXt abstract booklet
abslatex_switch           = 1     # do (not=0) generate an E/PAC sytle abstract booklet
TeXhighlite               = blue  # color defined at date: blue/black
paper_strike_thru         = 1     # missing PDFs will (=1) not (=0) lead to strike-through paper-codes
citation_export           = 1     # export citations: set it to "1" when producing the proceedings
# session/page related settings
session_skip              = "|SUSPSNE|" # this or these sessions should be skipped when generating the web pages; each session name is embedded 
#                                        #   in "|" characters, when defining several sessions it should be writen as "|SESS-A|SESS-B|COFFEE|LUNCH|"
paper_skip	          = "|WEPSB062|WEPSB072|" # this or these papers will be skipped when generating the web pages; each paper has a "|" as separator
# "P"aper numbers "P"er "L"ine (PPL) 
#     configurable number of paper codes listed for an author
PPL_ltx                   = 3     # number for LaTeX Author index in Proceedings (=3)  (Abstract booklet normally 6)
PPL_ctx                   = 3     # number for ConTeXt Author index in Abstract booklet
PPL_xtx                   = 3     # number for XeTeX Author index in Abstract booklet
# InDiCo specific settings
indico_cut_of_trailing_ho  = yes  # InDiCo session names contain trailing "-1" strings, these will be cut off
indico_uppercase_session   = yes  # InDiCo session names are often lowercase and this option makes it automatically UPPERCASE
indico_code_prefix         = XB-  # InDiCo papers and talks just consist of an unique ID, this string will be prefixed to all IDs
# abstract related settings
abstract_omission_text     = "no idea where the abstract went"       # standard text is "no abstract available"  
abstract_insert            = yes  # it's a semi-InDiCo specific switch because InDiCo's papers mostly do not have abstracts, 
#                                 # but 'old' reprocessed conferences don't either. ("yes" means get Abstract for paper <paper_code>.abs
#                                 # via  scan_keywords.pl or typed one)