User Tools

Site Tools


mozilla-devel:building_the_staff_client

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mozilla-devel:building_the_staff_client [2011/03/15 12:30] – Add Per Machine information tsberemozilla-devel:building_the_staff_client [2022/02/10 13:34] (current) – external edit 127.0.0.1
Line 7: Line 7:
 ====== Building the staff client ====== ====== Building the staff client ======
  
-The staff client is built as part of the "make install" process in a normal load. One can also build one by going to the Open-ILS/xul/staff_client directory and typing "make build". There are a number of options that can be specified, either during "make install" or "make build".+The staff client server side components are built as part of the "make install" process in a normal load. One can also build them by going to the Open-ILS/xul/staff_client directory and typing "make build". There are a number of options that can be specified, either during "make install" or "make build"
 + 
 +See the instructions below for building the client packages for the staff client, which are not built by default.
  
 ===== BUILD_ID ===== ===== BUILD_ID =====
Line 31: Line 33:
 During install: During install:
 <code bash> <code bash>
-make STAFF_CLIENT_VERISON=0mytest.200 install+make STAFF_CLIENT_VERSION=0mytest.200 install
 </code> </code>
  
Line 62: Line 64:
 </code> </code>
  
-This replaces older STAFF_CLIENT_BUILD_ID='' instructions for creating such a client.+This replaces older STAFF_CLIENT_BUILD_ID= instructions for creating such a client
 + 
 + 
 +===== STAFF_CLIENT_NAME ===== 
 + 
 +If you wish to have a custom profile directory you can set the STAFF_CLIENT_NAME to something other than the default of STAFF_CLIENT_NAME=open_ils_staff_client.  This can be useful if you want to install multiple clients on one machine and not share preferences between the versions. 
 + 
 +From staff_client directory: 
 +<code bash> 
 +make STAFF_CLIENT_NAME='' build 
 +</code> 
 +====== Branding Options ====== 
 + 
 +Mainly for when you are making installers, windows installers in particular right now, you can set up branding for beta or release builds of Evergreen. This will change icons/images for the client shortcut icons and the installer. 
 + 
 +This is done with the "rigbeta" and "rigrelease" targets. 
 + 
 +From staff_client directory (only run one): 
 +<code bash> 
 +make rigbeta 
 +make rigrelease 
 +</code> 
 + 
 +After running one or the other you should also build or [[#rebuild]] the staff client so that the icon branding takes effect. You can also do this before the "make install" step, if you want.
  
 ====== Advanced build options ====== ====== Advanced build options ======
  
 In addition to the basic options above there are a number of other options for building the staff client, pretty much all are make targets and thus require you to be building from the staff_client folder. In addition to the basic options above there are a number of other options for building the staff client, pretty much all are make targets and thus require you to be building from the staff_client folder.
 +
 +===== Rebuild =====
 +
 +If run alone, or placed BEFORE any of the below options the staff client will be "rebuilt" with the same version and stamp id as the previous build. This is useful for testing changes during development or adding things like permachine to a build from install time.
 +
 +From the staff_client directory:
 +<code bash>
 +make rebuild
 +</code>
 +
 +===== Initial Hostname =====
 +
 +To set an initial staff client hostname.
 +
 +During making the staff client:
 +
 +<code bash>
 +make INITIAL_HOST=hostname build
 +</code>
 +
 +During Evergreen configure:
 +
 +<code bash>
 +./configure --with-initialhost=hostname
 +</code>
  
 ===== Developer Build ===== ===== Developer Build =====
Line 161: Line 211:
 </code> </code>
  
 +==== Custom Install Directory ====
 +If you wish to customize the install directory for your windows client.  This can be useful if you 
 +want to run multiple staff clients on one machine without them interacting with each other. Edit the staff_client/windowssetup.nsi file and change the PRODUCT_TAG to a custom value.
 +
 +<code>
 +;!define /file PRODUCT_VERSION "client/VERSION"
 +!define PRODUCT_TAG "Test-2.8"
 +!define PRODUCT_INSTALL_TAG "${PRODUCT_TAG}"
 +!define UI_IMAGESET "beta"
 +;!define UI_IMAGESET "release"
 +!define PRODUCT_NAME "Evergreen Staff Client ${PRODUCT_TAG}"
 +</code>
 +
 +Now the default install directory will be c:\%PROGRAMFILES(x86)%\Evergreen Staff Client Test-2.8.  Build the staff client after this change is made to activate it.
 ===== Linux Client ===== ===== Linux Client =====
  
 The linux client is merely a tar.bz2 file with xulrunner bundled with it. The linux client is merely a tar.bz2 file with xulrunner bundled with it.
  
-The output file "evergreen_staff_client.tar.bz2" will be created.+If you build the 32-bit version, the output file "evergreen_staff_client_i686.tar.bz2" will be created
 +for 64-bit version the output is "evergreen_staff_client_x86_64.tar.bz2"
  
 <code bash> <code bash>
-make linux-client+make linux32-client 
 +make linux64-client
 </code> </code>
  
Line 183: Line 249:
 ====== Staff Client Automatic Updates ====== ====== Staff Client Automatic Updates ======
  
-The staff client can be rigged to automatically update.+The staff client can be rigged to automatically update. In addition to the below you may wish to read [[mozilla-devel:deploying_automatic_updates|Deploying Automatic Updates]].
  
 ===== WARNINGS ===== ===== WARNINGS =====
Line 266: Line 332:
 It may get confusing if you aren't careful, but you can log in to multiple evergreen servers at the same time, or a single evergreen server multiple times. In either case you will need to create an additional profile for each additional server or workstation you want to log in as (see previous tip). It may get confusing if you aren't careful, but you can log in to multiple evergreen servers at the same time, or a single evergreen server multiple times. In either case you will need to create an additional profile for each additional server or workstation you want to log in as (see previous tip).
  
-Once you have done so, run xulrunner with the -no-remote command line option (in addition to -profilemanger or -P if neeeded). Instead of xulrunner opening a new login window on your existing session it will start a new session instead, which can then be logged in to a different server or workstation ID.+Once you have done so, run xulrunner with the -no-remote command line option (in addition to -profilemanger or -P if needed). Instead of xulrunner opening a new login window on your existing session it will start a new session instead, which can then be logged in to a different server or workstation ID
 + 
 + 
 +===== Building a Macintosh Staff Client ===== 
 + 
 +  - An app file is basically a folder.  Start with a folder stucture like this: 
 +  * Evergreen.app 
 +    * Contents 
 +      * Frameworks 
 +      * Resources 
 +      * MacOS 
 +eg: 
 +<code sh> 
 +  mkdir -p Evergreen.app/Contents/Frameworks 
 +  mkdir -p Evergreen.app/Contents/Resources 
 +  mkdir -p Evergreen.app/Contents/MacOS 
 +</code> 
 + 
 +  - Create a new file in Evergreen.app/Contents/Info.plist with the following (adjust for your version of Evergreen) 
 +<code xml> 
 +<?xml version="1.0" encoding="UTF-8"?> 
 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
 +<plist version="1.0"> 
 +<dict> 
 +        <key>CFBundleExecutable</key> 
 +        <string>xulrunner</string> 
 +        <key>CFBundleGetInfoString</key> 
 +        <string>OpenILS open_ils_staff_client rel_2_7_5</string> 
 +        <key>CFBundleInfoDictionaryVersion</key> 
 +        <string>6.0</string> 
 +        <key>CFBundleName</key> 
 +        <string>Evergreen Staff Client</string> 
 +        <key>CFBundlePackageType</key> 
 +        <string>APPL</string> 
 +        <key>CFBundleShortVersionString</key> 
 +        <string>rel_2_7_5</string> 
 +        <key>CFBundleVersion</key> 
 +        <string>rel_2_7_5.rel_2_7_5</string> 
 +        <key>NSAppleScriptEnabled</key> 
 +        <true/> 
 + <key>CFBundleIconFile</key> 
 +        <string>Evergreen.icns</string> 
 +        <key>CFBundleIdentifier</key> 
 +        <string>org.evergreen-ils.Evergreen</string> 
 +</dict> 
 +</plist> 
 +</code> 
 + 
 +  - Download and install an appropriate Mac OS package of XULRunner from the Mozilla website (you need xulrunner 14 for Evergreen 2.3+) 
 +  - Make a copy of /Library/Frameworks/XUL.Framework inside your app file, it should look something like this: 
 +    * Evergreen.app/ 
 +      * Contents/ 
 +        * Frameworks/ 
 +          * XUL.Framework/ 
 +            * Versions/ 
 +              * Current -> 14.0.1 (symlink) 
 +              * 14.0.1/ 
 +            * XUL -> Versions/Current/XUL 
 +            * libxpcom.dylib -> Versions/Current/libxpcom.dylib 
 +            * xulrunner-bin -> Versions/Current/xulrunner-bin 
 +  - copy XUL.Framework/Versions/Current/xulrunner into Evergreen.app/Contents/MacOS (do not symlink, copy the file) 
 +  - Make Evergreen.app/Resources the root of your Evergreen application files like this: 
 +    * Evergreen.app/ 
 +      * Contents/ 
 +        * Resources/ 
 +          * BUILD_ID 
 +          * application.ini 
 +          * chrome/ 
 +          * components/ 
 +          * etc. 
 +   - Finally, Put a Mac format icon file named [[http://evergreen-ils.org/~csharp/Evergreen.icns|Evergreen.icns]] in Resources  
 + 
 +{{:mozilla-devel:structure.png?300|}} 
 + 
 +To stylize the installer, like the example below, [[http://mac101.net/content/how-to/how-to-create-dmg-art-for-fancy-application-installations/]] has great information on styling, and ultimately compressing the installer image.  The Evergreen background is provided below, as well.
  
 +{{:mozilla-devel:installer.png?300|}}
 +{{:mozilla-devel:background.png|}}
mozilla-devel/building_the_staff_client.1300206654.txt.gz · Last modified: 2022/02/10 13:33 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.