Skip to main content link. Accesskey S
  • Help
  • IBM Logo
  • IBM Notes and Domino Application Development wiki
  • All Wikis
  • All Forums
  • THIS WIKI IS READ-ONLY. Learn more...
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
  • API Documentation
Search
Community Articles > Developing Applications > Developing XPage Applications > Headless Designer Wiki
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

Click to view profileIBM contributorJONATHAN ROCHE
Contribution Summary:
  • Articles authored: 1
  • Articles edited: 0
  • Comments Posted: 0

Recent articles by this author

Headless Designer Wiki

To facilitate the building of NSFNTF files from source code repositories, Domino Designer has provided a command line build system. It is not a necessity to import source repositories into the Designer application to build NSFNTF files. This is aimed at supporting team based development using ...
Community articleHeadless Designer Wiki
Added by IBM contributorJONATHAN ROCHE | Edited by Gary Marjoram on March 26, 2014 | Version 15
expanded Abstract
collapsed Abstract
To facilitate the building of NSF/NTF files from source code repositories, Domino Designer has provided a command line build system. It is not a necessity to import source repositories into the Designer application to build NSF/NTF files. This is aimed at supporting team based development using the Domino Designer.
Tags: domino designer, xpages, headless build
ShowTable of Contents
HideTable of Contents
  • 1 Command Line Building of NSFs
  • 2 Setup
  • 3 Running
  • 4 Single Command
  • 5 Console
  • 6 Logging
  • 7 Command File
  • 8 Notes
  • 9 General features
  • 10 Update Manager Commands

Command Line Building of NSFs


To facilitate the building of NSF/NTF files from source code repositories, Domino Designer has provided a command line build system.
It is not a necessity to import source repositories into the Designer application to build NSF/NTF files.
This is aimed at supporting team based development using the Domino Designer.


Setup


To enable this functionality, one line needs to be added to the notes.ini file
DESIGNER_AUTO_ENABLED=true


Running


The command line build can be run in two different ways

  • Single Command
  • Command File

 

Single Command


The single command has the format:
designer -RPARAMS -vmargs -Dcom.ibm.designer.cmd= [single command]

The single command is made up of a number of comma separated components, and is contained within double quotes.

[clean],[exit],[file name],[job name],[file path],[file name]

The values for each of the components are:

  • clean: true/false
  • exit: true/false
  • file name: String value containing the name of the NSF/NTF to be created. If no file extension if included then a type of NSF will be created.
  • job name: the job to be run
  • file path: the path to the .project file of the repository to be built

 

The Headless Designer supports a number of jobs:

 

importandbuild [on disk project path] [nsf name]
imports the on-disk, creates the NSF, and begins the association. Processing of the next job does not wait for the sync or build to finish.
Note: this command will fail if the on-disk project already exists in the Designer workspace. Using clean will remove these when done processing. Specifying an already existing NSF file will not cause the build to fail.
wait [project name] [# of retries]
Waits for the given project to complete all build or sync operations. Since its not deterministic when (if) either event will start or finish, this loops a number of times looking before failing.
config [stop on error - true/false] [exit on error - true/false]
allows configuring some properties that control operation
clean
deletes all projects create so far in this execution. Does NOT delete the project contents.
exit [# milli delay] [restart-true/false] [resume - true/false]
Exits Designer. restart will restart the Designer, and resume will tell Designer to continuing processing the command file if there are commands after this exit command.
An example command would be as follows

 

Example:

designer.exe -RPARAMS -vmargs -Dcom.ibm.designer.cmd="true,true,Discussion.nsf,importandbuild,C:\XPageApps\Discussion\.project,Discussion.nsf"

 

 

Console


The output of the build can be viewed in a console by specifying the console as a program argument
designer -RPARAMS -console -vmargs -Dcom.ibm.designer.cmd=single command

 

Logging


The command line build also writes to its own log files
  • HEADLESS0.log
  • HEADLESSJOB0.log

These files are stored in the root Notes directory

 

Command File


For multiple commands, it is possible to pass a file path as a Java property to the command line build.
designer -RPARAMS -vmargs -Dcom.ibm.designer.cmd.file=path to command file

This file will contain one command per line, and a sample command file would be as follows:

config,true,true
importandbuild,C:\test\XPagesExt\.project,testXPages
wait,testXPages,20
importandbuild,C:\test\XPagesSBT\.project,testSBT
wait,testSBT,20
clean
exit

 

Notes


Although this is a command line build system, the Designer is launched and immediately minimised. However, no user interaction is needed with the GUI. However, due care needs to be taken as with the existance of the GUI, there is potential for issues where some unexpected state could display a dialog, etc.


General features

  • Import an on-disk-project and create an NSF
  • Remove any on-disk or NSF projects imported into the Designer since the beginning of a command-line session
  • Ability to restart Designer at any point during the command processing and resume where it left off.
  • [possible IBM internal feature] expose Eclipse Update Manager command line syntax for installing/updating update sites, etc.
  • [possible IBM internal feature?] extension points to allow adding commands

 

 

Update Manager Commands

These were added to allow some ability to update the Extension Library plugins using the command-line syntax.

com.ibm.designer.domino.tools.userlessbuild.jobs.UpdateManagerJob command

where "command" is a standard Eclipse Update Manager command.
See: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fupdate_standalone.html


Also, if the [internal] Update Manager command interfaces are being used, it will probably be necessary to disable the Notes provisioning security, in order to allow "dropping" plugins into Designer.

  • command install -from jar:file:file_url -to file:/workspace_applications -featureId featureId -version version
  • command enable -to file:/workspace_applications -featureId featureId -version version
  • command disable -to file:/workspace_applications -featureId featureId -version version
  • command uninstall -to file:/workspace_applications -featureId featureId -version version

An example command file, using a few Update Manager commands:

config,true,true
com.ibm.designer.domino.tools.userlessbuild.jobs.UpdateManagerJob,-command install -from jar:file:C:/UDS/com.ibm.sbt.domino.updatesite.zip!/ -to file:/C:/Notes90/Data/workspace/applications -featureId com.ibm.sbt.domino.feature -version 1.0.0.20131121-0623
exit,18000,true,true
com.ibm.designer.domino.tools.userlessbuild.jobs.UpdateManagerJob,-command enable -to file:/C:/Notes90/Data/workspace/applications -featureId com.ibm.sbt.domino.feature -version 1.0.0.20131121-0623
exit,18000,true,true
importandbuild,C:\test\XPagesExt\.project,UMtest
wait,UMtest,20
com.ibm.designer.domino.tools.userlessbuild.jobs.UpdateManagerJob,-command enable -to file:/C:/Notes90/Data/workspace/applications -featureId com.ibm.sbt.domino.feature -version 1.0.0.20131121-0623
exit,18000,true,true
com.ibm.designer.domino.tools.userlessbuild.jobs.UpdateManagerJob,-command enable -to file:/C:/Notes90/Data/workspace/applications -featureId com.ibm.sbt.domino.feature -version 1.0.0.20131121-0623
clean
exit,12000
expanded Attachments (1)
collapsed Attachments (1)
File TypeSizeFile NameCreated OnDelete file
application/octet-stream 6 KB Command Line Doc.odt 10/21/13, 5:05 AM
expanded Versions (28)
collapsed Versions (28)
Version Comparison     
VersionDateChanged by              Summary of changes
28Apr 1, 2014, 11:03:41 AMGary Marjoram  
27Apr 1, 2014, 11:03:06 AMGary Marjoram  
26Mar 26, 2014, 11:31:36 AMGary Marjoram  
25Mar 26, 2014, 11:30:37 AMGary Marjoram  
24Mar 26, 2014, 11:28:47 AMGary Marjoram  
23Mar 26, 2014, 11:25:23 AMGary Marjoram  
22Mar 26, 2014, 11:18:16 AMGary Marjoram  
21Mar 26, 2014, 11:14:04 AMGary Marjoram  
20Mar 26, 2014, 11:12:02 AMGary Marjoram  
19Mar 26, 2014, 11:08:09 AMGary Marjoram  
18Mar 26, 2014, 11:04:05 AMGary Marjoram  
17Mar 26, 2014, 10:58:35 AMGary Marjoram  
16Mar 26, 2014, 10:41:09 AMGary Marjoram  
This version (15)Mar 26, 2014, 10:37:46 AMGary Marjoram  
14Mar 26, 2014, 10:34:20 AMGary Marjoram  
13Mar 26, 2014, 10:10:01 AMGary Marjoram  
12Feb 25, 2014, 4:26:16 AMJONATHAN ROCHE  IBM contributor
10Feb 19, 2014, 5:06:13 AMJONATHAN ROCHE  IBM contributor
9Feb 19, 2014, 4:50:55 AMJONATHAN ROCHE  IBM contributor
8Feb 18, 2014, 4:26:29 AMJONATHAN ROCHE  IBM contributor
7Feb 17, 2014, 12:05:14 PMJONATHAN ROCHE  IBM contributor
6Feb 17, 2014, 11:50:22 AMJONATHAN ROCHE  IBM contributor
5Feb 17, 2014, 11:33:16 AMJONATHAN ROCHE  IBM contributor
4Feb 17, 2014, 11:18:25 AMJONATHAN ROCHE  IBM contributor
3Feb 17, 2014, 5:26:59 AMJONATHAN ROCHE  IBM contributor
2Feb 17, 2014, 5:23:03 AMJONATHAN ROCHE  IBM contributor
1Feb 17, 2014, 5:04:28 AMJONATHAN ROCHE  IBM contributor
1Feb 17, 2014, 5:11:16 AMJONATHAN ROCHE  IBM contributor
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkThe Social Lounge
  • Wiki Help
  • Forgot user name/password
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use