Desktop app
De offlineviewer aka Maglr desktop app is geschreven in Electron.
API debug
Met de volgende URL maak je een API call. Hierin staat het overzicht met alle functies:
Om deze waarden nu op te halen, en de API te debuggen, kan je de volgende handelingen uitvoeren:
- Inloggen in de electron app. Dan in debug in het iFrame de volgende code ophalen: IETu1J32leRAwxGhT4AzivtXZuYDWvEs
- Deze code kan je vervolgens terugvinden in de DB -> app_session
- In het tabel app_app_human -> kan je de app_identifier vinden
- Device_id is terug te vinden in app_device_human
App_session Login token in iframe
App_identifier app_app_human -> app identifier
DeviceID app_device_human
Offline viewer of maglr
Er worden files in de map van maglr applicatie gezet om app de debuggen of te herinstalleren.
maglr-debug.txt: Het debuggen van de applicatie developer tools openen
maglr-fresh-install.txt: Een clean install
C:\Users\[username]\AppData\Roaming
Powershell command:
New-Item -Path 'AppData\Roaming\maglr-debug.txt' -ItemType File
Voor iOS offline viewer moet je clean install draaien (preinstall.sh)
rm -Rf ~/Library/Application\ Support/maglr_offline_viewer/* && cd ~/Library/Application\ Support && touch maglr-fresh-install.txt
Voor het debuggen in IOS kan je dit commando draaien:
cd ~/Library/Application\ Support && touch maglr-debug.txt
Bump versie in package.json door npm build te draaien.
Protocols:
offline://
Files die worden gedownload door de webserver van de offlineviewer
local://
Files die in de offlineviewer worden toegevoegd / native
BUILDS
Development
Zorg ervoor dat je alle benodigde node_modules:
npm install
Start de applicatie normaal
npm start
Start en verwijder alle files
npm start delete
Start maar verwijder de local database(sessie) ook te combineren met delete
npm start clean
Topbar
In de topbar kan je ook de devtools na het opstarten nog openen of files deleten.

m19.png
Certificate
Create if expired
- Haal comodoca code Sign certificate https://www.xolphin.nl/ (in IE11)
- Haal de private key, crt en maak p12 https://www.digicert.com/kb/ssl-support/p12-import-export-mac-server.htm
Use
Haal het p12 certificate van bluestorage en zet hem in de Certificaten map (mac mini stefano staan ze al)
Offline_viewer/Certificaten/CertOfflineViewer2020(KeyPassWW).p12
Het wachtwoord mag je leeg laten.
Production
Alle build en certificaten staan op mac-mini van stefano
LINUX
npm run lin
set CSC_KEY_PASSWORD=[PASSWORDKEYPASS] && set CSC_LINK=[PATHTO.p12] && electron-builder --config ./config/production.json --lin
MAC
Mac mini( Stefano ) which also has keychain for Ipad.
npm run mac
set CSC_KEY_PASSWORD=[PASSWORDKEYPASS] && set CSC_LINK=[PATHTO.p12] && electron-builder --config ./config/production.json --mac
WARN MACOS > 10.15 needs to notarize before we can install
Kijk of het signen van de app is gelukt:
spctl --assess --type install --context context:primary-signature -vvv Maglr.app
Als correct is :
Maglr.app: accepted
source=Developer ID
origin=Developer ID Application: BlueBerry Media (FFVEFTLW2P)
Hou er rekening mee dat je met Developer ID bent ingelogd origin=Apple Distribution: BlueBerry Media (FFVEFTLW2P) is niet de goede je moet de Developer in je keychain hebben.
in build dir hebben we een notarize.js deze zorgt voor notarization voor apple.
WIN
Mac mini( Stefano ) which also has keychain for Ipad, contains a VirtualBox windows10 which you can sign the new bundle.
- Start VirtualBox en open de Windows 10. Uit hibernation heeft hij soms geen internet opnieuw opstarten lost dit op
- Start
Git Bashop en navigeer naar~/projects/offline-viewer
npm run win
set CSC_KEY_PASSWORD=[PASSWORDKEYPASS] && set CSC_LINK=[PATHTO.p12] && electron-builder --config ./config/production.json --win
Als de app met de verkeerde wordt gesigned kan je hem handmatig overschrijven:
security find-identity -v -p codesigning
codesign --deep --force --verbose --sign "1984603AC3EXAMPLE0910578FA2A795" dist/mac/Maglr.app
APPLE ARM64
Helaas gebruiken we electron 4.2.12 en valt er met apple-silicon niet te debuggen https://www.electronjs.org/blog/apple-silicon
Xcode >=12.2.0
node-gyp >=7.1.0
electron-rebuild >=1.12.0
electron-packager >=15.1.0