Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
ezfit:5x:private_label_customization [2015/09/04 09:32] smayr |
ezfit:5x:private_label_customization [2015/10/02 12:24] (current) smayr [Add Custom Company] |
||
---|---|---|---|
Line 1: | Line 1: | ||
= Customization = | = Customization = | ||
== Private Label == | == Private Label == | ||
- | * Get private label information: | + | === Get private label information |
- | * Company Name. | + | * Company Name. |
- | * Address. | + | * Address. |
- | * Phone number, Email, Fax, Website. | + | * Phone number, Email, Fax, Website. |
- | * Logo (PNG or JPG format). | + | * Logo (PNG or JPG format). |
- | * Product Names | + | * Product Names |
- | | + | |
- | * ''< | + | === Company and App Logo === |
- | * ''< | + | Add image files to ezFIT project in MS Visual Studio: |
- | * ''< | + | * ''< |
- | * ''< | + | * ''< |
- | | + | * ''< |
- | * Edit '' | + | * ''< |
- | * Edit '' | + | |
+ | === Add Custom Company | ||
+ | * Edit '' | ||
+ | * Edit '' | ||
aCompany | aCompany | ||
aCompany.Code | aCompany.Code | ||
Line 27: | Line 30: | ||
this.Add(aCompany); | this.Add(aCompany); | ||
# | # | ||
- | | + | |
- | aCompany | + | aCompany |
aCompany.CompanyInfo.Code | aCompany.CompanyInfo.Code | ||
aCompany.CompanyInfo.ManufacturerID = TManufacturerID.Audina; | aCompany.CompanyInfo.ManufacturerID = TManufacturerID.Audina; | ||
Line 41: | Line 44: | ||
this.Add(aCompany); | this.Add(aCompany); | ||
# | # | ||
- | * Add Supported Products and their names. | + | * Edit '' |
- | * Edit file '' | + | switch(_Company.Code) |
- | * Set product name in '' | + | { |
- | * < | + | case TCustomCompany.Auditiva: |
+ | case TCustomCompany.Acme: | ||
+ | ... | ||
+ | default: _Application.AppName = " | ||
+ | } | ||
+ | ... | ||
+ | # | ||
+ | * Edit '' | ||
+ | |||
+ | === Add Supported Products and their names === | ||
+ | * Edit file '' | ||
+ | * Set product name in '' | ||
+ | * < | ||
_prod = new TProductSpecification(); | _prod = new TProductSpecification(); | ||
. . . | . . . | ||
Line 53: | Line 68: | ||
. . . | . . . | ||
# | # | ||
- | * Add Supported Housings. | + | |
- | * Edit file '' | + | === Add Supported Housings |
- | * Under each housing in '' | + | * Edit file '' |
- | * < | + | * Under each housing in '' |
+ | * < | ||
_Housing= new THousingSpecification(); | _Housing= new THousingSpecification(); | ||
. . . | . . . | ||
Line 65: | Line 81: | ||
# | # | ||
+ | === Custom Splash and Icon Images === | ||
* Add Splash and Icon image resources to '' | * Add Splash and Icon image resources to '' | ||
- | | + | |
- | * Edit file '' | + | * Edit file '' |
+ | // 1. Compile resource file LogoRes.rc into LogoRes.res | ||
+ | // using the Visual Studio Command Prompt: | ||
+ | // - VS2010: Start > All Applications > Microsoft Visual Studio 2010 > Visual Studio Tools > Visual Studio Command Prompt (2010). | ||
+ | // - VS2013: Start > All Applications > Visual Studio 2013 > Visual Studio Tools > Developer Command Prompt for VS2013. | ||
+ | // - VS2015: Start > All Applications > Visual Studio 2015 > Visual Studio Tools > Developer Command Prompt for VS2015. | ||
+ | // Eg: C:\> RC < | ||
+ | // | ||
+ | // 2. Add res file to assembly. Project > Properties > Application (tab) > Resource File, and select LogoRes.res. | ||
+ | // 3. Build assembly. | ||
LOGO001 | LOGO001 | ||
LOGO002 | LOGO002 | ||
+ | |||
+ | // Must in Alphabetical order | ||
SPLASH_AUDINA | SPLASH_AUDINA | ||
SPLASH_ACME | SPLASH_ACME | ||
... | ... | ||
- | ICON_AUDINA | + | // Must in Alphabetical order |
- | ICON_ACME | + | ICON_AUDINA |
+ | ICON_ACME | ||
... | ... | ||
+ | // Order numerically, | ||
STRINGTABLE | STRINGTABLE | ||
{ | { | ||
Line 81: | Line 111: | ||
1002, "Acme ezFIT" | 1002, "Acme ezFIT" | ||
... | ... | ||
- | }</ | + | }</code> <WRAP round info> |
- | * Encode | + | |
- | * Use utility ''< | + | Generate Logo assembly: |
- | * Add encoded company custom code to installer in ''< | + | * Compile resource file LogoRes.rc into LogoRes.res using the Visual Studio Command Prompt. In VS2015: Start > All Applications > Visual Studio 2015 > Visual Studio Tools > Developer Command Prompt for VS2015. Eg: '' |
+ | * Add res file to assembly. Project > Properties > Application (tab) > Resource File, and select '' | ||
+ | * Build assembly. | ||
+ | |||
+ | === Get Encoded | ||
+ | * Use utility ''< | ||
+ | * Add encoded company custom code to installer in ''< | ||
... | ... | ||
#elif AppCustomOrg == " | #elif AppCustomOrg == " | ||
Line 98: | Line 134: | ||
#else | #else | ||
... | ... | ||
- | # | + | # |
- | | + | |
- | * Place custom PDF documents in '' | + | === Add Custom |
- | * In installer, add support to product catalog:< | + | * Place custom PDF documents in '' |
+ | * In installer, add support to product catalog:< | ||
; Product Catalog | ; Product Catalog | ||
; | ; | ||
Line 109: | Line 146: | ||
Source: {# | Source: {# | ||
# | # | ||
- | * Add software customizations: | + | |
- | * Disable ezFIT 4 support if not required (both, in app and installer). | + | === Installer Customizations === |
- | * < | + | Add software |
+ | * Disable ezFIT 4 support if not required (both, in app and installer). | ||
+ | * < | ||
; Do not install ezFIT4 | ; Do not install ezFIT4 | ||
#else | #else | ||
Filename: {tmp}\{# | Filename: {tmp}\{# | ||
# | # | ||
- | * Create | + | |
- | * Create necessary files in '' | + | === Create |
- | * acme.cfg (edit as necessary) | + | * Create necessary files in '' |
- | * acme-header.html | + | * acme.cfg (edit as necessary) |
- | * acme-footer.html | + | * acme-header.html |
- | * images\splash-acme.png | + | * acme-footer.html |
- | * Edit product software requirements matrix in ''< | + | * images\splash-acme.png |
- | * Edit Sparo conditional references (i.e, if supported by private label) in | + | * Edit product software requirements matrix in ''< |
- | * ''< | + | * Edit Sparo conditional references (i.e, if supported by private label) in |
- | * ''< | + | * ''< |
- | * Create end-user license in '' | + | * ''< |
- | | + | * Create end-user license in '' |
- | * Edit logo and application installation instructions in ''< | + | |
- | * Recompile Lazarus project ''< | + | === Create Custom CD-ROM Image === |
- | * Copy '' | + | Create custom Autorun: |
- | | + | * Edit logo and application installation instructions in ''< |
- | * '' | + | * Recompile Lazarus project ''< |
- | * EMiniTec-2.08.24-2012-Drivers.exe | + | * Copy '' |
- | * HIPRO-4.0.0-2012-Drivers.exe | + | |
- | * NOAHlink-01.56.05-2013-Drivers.exe | + | Create CD Image folder in '' |
- | * ProgBox-Drivers-setup-2014-0311.exe | + | * '' |
- | * '' | + | * EMiniTec-2.08.24-2012-Drivers.exe |
- | * acmeezfitapp5-setup.exe | + | * HIPRO-4.0.0-2012-Drivers.exe |
- | * FBserver-setup.exe | + | * NOAHlink-01.56.05-2013-Drivers.exe |
- | * '' | + | * ProgBox-Drivers-setup-2014-0311.exe |
- | * '' | + | * '' |
- | * Create NAnt-Gui script to build custom application. | + | * acmeezfitapp5-setup.exe |
- | | + | * FBserver-setup.exe |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | |
- | * Add references to software installer in ''/ | + | === Custom Build === |
+ | * Create NAnt-Gui script to build custom application. | ||
+ | |||
+ | === Custom AutoUpdate === | ||
+ | Create AutoUpdate files in webserver (located | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | === Publishing Scripts === | ||
+ | * Add references to software installer in ''/ | ||
#!/bin/bash | #!/bin/bash | ||
## script: ./ | ## script: ./ | ||
Line 164: | Line 213: | ||
# | # | ||
- | # Define Target Directory | + | # User Defined Variables |
# | # | ||
+ | # Define Target Organizations | ||
+ | TARGETORG=( " | ||
+ | # Define Target Directory | ||
TARGETDIR="/ | TARGETDIR="/ | ||
- | # | + | # Time Stamp (formatted as SYSDATESTAMP=" |
SYSDATESTAMP=$(date +%Y-%m%d) | SYSDATESTAMP=$(date +%Y-%m%d) | ||
SYSDATEYEAR=$(date +%Y) | SYSDATEYEAR=$(date +%Y) | ||
+ | # | ||
# Use command line argument to override variables | # Use command line argument to override variables | ||
Line 184: | Line 237: | ||
fi | fi | ||
- | # Perform operations if TargetDir exists | + | totalOrg=${#TARGETORG[*]} |
- | if cd $TARGETDIR; then | + | idx=0 |
- | | + | while [ $idx -lt $totalOrg ]; do |
- | # Link current ezfit installer to ezfit-latest.exe | + | |
- | # | + | |
- | rm ezfit-Audina-$SYSDATEYEAR-latest.exe | + | |
- | rm ezfit-Auditiva-$SYSDATEYEAR-latest.exe | + | |
- | | + | |
- | rm ezfit-Acme-$SYSDATEYEAR-latest.exe | + | |
- | | + | |
- | ln -s ezfit-setup-Auditiva-$SYSDATESTAMP.exe ezfit-Auditiva-$SYSDATEYEAR-latest.exe | + | |
- | ln -s ezfit-setup-MDHearingAid-$SYSDATESTAMP.exe ezfit-MDHearingAid-$SYSDATEYEAR-latest.exe | + | |
- | ln -s ezfit-setup-Acme-$SYSDATESTAMP.exe ezfit-Acme-$SYSDATEYEAR-latest.exe | + | |
- | | + | |
- | echo " | + | if cd $TARGETDIR; then |
- | echo " | + | #----------------------------- |
- | echo " | + | # Link current ezfit installer to ezfit-latest.exe |
- | else | + | #----------------------------- |
- | echo " | + | rm ezfit-$ORG-$SYSDATEYEAR-latest.exe |
- | | + | ln -s ezfit-setup-$ORG-$SYSDATESTAMP.exe ezfit-$ORG-$SYSDATEYEAR-latest.exe |
- | | + | echo " |
- | echo "Failed to link version $SYSDATESTAMP | + | else |
+ | echo " | ||
+ | | ||
+ | |||
+ | let idx=idx+1 | ||
+ | done | ||
+ | |||
+ | |||
+ | # | ||
+ | # GetDate | ||
+ | # | ||
+ | function GetDate() | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | |||
+ | #------------------------------------------------ | ||
+ | # GetDateTime | ||
+ | # | ||
+ | function GetDateTime() | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # GetDateStamp | ||
+ | # | ||
+ | function GetDateStamp() | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | |||
+ | # | ||
+ | # GetDate | ||
+ | # | ||
+ | function GetYear() | ||
+ | { | ||
+ | | ||
+ | } | ||
+ | |||
+ | #------------------------------------------------ | ||
+ | # DisplayDate | ||
+ | # | ||
+ | function DisplayDate() | ||
+ | { | ||
+ | if [ ! -z $SYSDATE ]; then | ||
+ | echo $SYSDATE | ||
+ | | ||
+ | echo " | ||
+ | fi | ||
+ | } | ||
+ | </ | ||
+ | | ||
+ | # | ||
+ | ## script: ./ | ||
+ | # | ||
+ | # | ||
+ | # Description: | ||
+ | # Usage: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # YYYY - Year (4 digits). | ||
+ | # MM - Month (always 2 digits, including leading zero if necessary). | ||
+ | # DD - Day of month (always 2 digitis, including leading zero if necessary). | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # User Defined Variables | ||
+ | # | ||
+ | TARGETORG=( " | ||
+ | TARGETAPP=( " | ||
+ | SOURCEDIR="/ | ||
+ | TARGETDIR="/ | ||
+ | # | ||
+ | SYSDATESTAMP=$(date +%Y-%m%d) | ||
+ | SYSDATEYEAR=$(date +%Y) | ||
+ | |||
+ | # Use command line argument to override variables | ||
+ | if [ -n "$1" ] | ||
+ | then | ||
+ | echo "Current | ||
+ | SYSDATESTAMP=" | ||
+ | SYSDATEYEAR=${SYSDATESTAMP: | ||
fi | fi | ||
+ | |||
+ | # Try to create TargetDir if it does not exist | ||
+ | if ! cd $TARGETDIR; then | ||
+ | mkdir $TARGETDIR | ||
+ | fi | ||
+ | |||
+ | totalOrg=${# | ||
+ | idx=0 | ||
+ | while [ $idx -lt $totalOrg ]; do | ||
+ | ORG=${TARGETORG[$idx]} | ||
+ | APP=${TARGETAPP[$idx]} | ||
+ | #echo " | ||
+ | |||
+ | # Perform operations if TargetDir exists | ||
+ | if cd $TARGETDIR; then | ||
+ | # | ||
+ | # Link current ezfit installer to ezfit-latest.exe | ||
+ | # | ||
+ | rm $APP-$ORG-$SYSDATEYEAR-latest.exe | ||
+ | |||
+ | echo " | ||
+ | #ln -s $1 ezfit-setup-2012-latest.exe | ||
+ | if [ -n " | ||
+ | cp $SOURCEDIR/ | ||
+ | else | ||
+ | cp $SOURCEDIR/ | ||
+ | fi | ||
+ | chown www-data: | ||
+ | echo " | ||
+ | else | ||
+ | echo " | ||
+ | fi | ||
+ | let idx=idx+1 | ||
+ | done | ||
Line 254: | Line 417: | ||
} | } | ||
</ | </ | ||
+ | |||
== Private Brand == | == Private Brand == | ||
* Same steps as Private Label software, except the following field: <code csharp> | * Same steps as Private Label software, except the following field: <code csharp> |