From ee042fc7bfa55ffa2c3b4471276a3b3a7cf95dea Mon Sep 17 00:00:00 2001 From: Pliable Pixels Date: Fri, 15 Mar 2019 10:27:55 -0400 Subject: doc fixes --- docs/_build/doctrees/environment.pickle | Bin 38919 -> 38302 bytes docs/_build/doctrees/guides/FAQ.doctree | Bin 140571 -> 139750 bytes docs/_build/doctrees/guides/source.doctree | Bin 33487 -> 34583 bytes docs/_build/doctrees/guides/validating-api.doctree | Bin 23974 -> 24607 bytes docs/_build/html/_sources/guides/FAQ.rst.txt | 21 +++--- docs/_build/html/_sources/guides/source.rst.txt | 75 ++++++++------------ .../html/_sources/guides/validating-api.rst.txt | 15 ++-- docs/_build/html/guides/FAQ.html | 23 +++--- docs/_build/html/guides/source.html | 77 +++++++++------------ docs/_build/html/guides/validating-api.html | 9 ++- docs/_build/html/searchindex.js | 2 +- docs/guides/FAQ.rst | 21 +++--- docs/guides/source.rst | 75 ++++++++------------ docs/guides/validating-api.rst | 15 ++-- docs/remote extension.txt | 30 -------- 15 files changed, 135 insertions(+), 228 deletions(-) delete mode 100644 docs/remote extension.txt (limited to 'docs') diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 5b887343..af9e7f10 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/guides/FAQ.doctree b/docs/_build/doctrees/guides/FAQ.doctree index 387c1453..cea10ec4 100644 Binary files a/docs/_build/doctrees/guides/FAQ.doctree and b/docs/_build/doctrees/guides/FAQ.doctree differ diff --git a/docs/_build/doctrees/guides/source.doctree b/docs/_build/doctrees/guides/source.doctree index ef8f2668..280855d4 100644 Binary files a/docs/_build/doctrees/guides/source.doctree and b/docs/_build/doctrees/guides/source.doctree differ diff --git a/docs/_build/doctrees/guides/validating-api.doctree b/docs/_build/doctrees/guides/validating-api.doctree index 572b1f00..307436c4 100644 Binary files a/docs/_build/doctrees/guides/validating-api.doctree and b/docs/_build/doctrees/guides/validating-api.doctree differ diff --git a/docs/_build/html/_sources/guides/FAQ.rst.txt b/docs/_build/html/_sources/guides/FAQ.rst.txt index c5ecc3c6..b36936d7 100644 --- a/docs/_build/html/_sources/guides/FAQ.rst.txt +++ b/docs/_build/html/_sources/guides/FAQ.rst.txt @@ -55,8 +55,7 @@ Try before buy Some users legitimately look around for an option to try before they buy and they are not savvy enough to `download the -code `__ and -`compile `__ +code `__ and compile (:doc:`source`) for themselves. Fair enough. In that case, `download the Desktop version `__ of zmNinja. It's free and is the same code as mobile. Make sure the desktop @@ -128,12 +127,9 @@ How to report errors - Before you create an issue, please make sure you have read the sections on `connection - issues `__ - and - `streaming `__ - issues and `Step 6 of - validating `__ - APIs. + issues <#connectionauthentication-issues>`__ + and `streaming <#live-streaming-issues>`__ + issues and Step 6 of :doc:`validating-api` - Its often hard to infer a problem especially when its due to some unique apache/nginx mungling you might have done but haven't told me @@ -332,7 +328,7 @@ In the above case my zmNinja cgi-bin setting is ``https://myserver:myport/zm/cgi-bin`` - You are using Basic Authentication. See - `here <#i-cant-see-streams-i-use-basic-auth>`__ + `here <#i-can-t-see-streams-i-use-basic-auth>`__ - You have 'multi-server' configuration enabled and you have done it wrong. Go to ZM Web Console->Options->Servers - if you see any entries there and you don't know what multi-server is, or you don't @@ -341,7 +337,7 @@ In the above case my zmNinja cgi-bin setting is - example Apache's ``error.log`` - see any image/jpg errors? That means you are missing libraries - You have set up a multi-server install of ZM without knowing you did - See `here <#i-cant-see-streams--multi-server-is-enabled>`__ + See `here <#i-can-t-see-streams-multi-server-is-enabled>`__ - Look at zmNinja, ZoneMinder and web server error logs at the time of error - one of them should give more clues. Please send me *all* the logs if you ask for help @@ -605,7 +601,7 @@ to read your distro notes on how to **properly** update. Read `this `__ thread. Before you think zmNinja is the problem, make sure your `APIs are -working `__. +working :doc:`validating-api` Summary of reasons why zmNinja might have stopped working: - You did not check if your APIs are working after the upgrade - You did not upgrade properly (just updating the ZM package without following distro @@ -651,8 +647,7 @@ discussion APIs are not working ! ZM console works fine. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Read -`this `__ +:doc:`validating-api` I'm using mocord/record and I don't see events without alarms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/_build/html/_sources/guides/source.rst.txt b/docs/_build/html/_sources/guides/source.rst.txt index 75785de7..87252e09 100644 --- a/docs/_build/html/_sources/guides/source.rst.txt +++ b/docs/_build/html/_sources/guides/source.rst.txt @@ -3,7 +3,7 @@ Building from Source **NOTE** If you want to run it on your desktop, you can directly download desktop binaries -`here `__ +`here `__ and if you want it for Android/iOS you can get from the play/appstore. This is only for those who *want* to run from source. @@ -113,6 +113,32 @@ installed. You also need to have your developer certificates/etc. (I am not going to detail this out - there are many internet resources on this) +(Harder) If you need picture notification support in push +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +As of Mar 2019, cordova-ios does not support multiple targets, nor does +it support automatic building of notification extensions. So there is manual work to be done: + +- Open up ``platforms/ios/zmNinja.xcworkspace`` in XCode +- Go to ``File->New->Target->Notification Service Extension``, select Objective C +- In the "Product Name" put in ``zmNinjaNotification`` (your BundleID should now read ``com.pliablepixels.zmninja-pro.zmNinjaNotification``) +- Say "Yes" to "Activate zmNinjaNotification scheme?" popup +- Now go to zmNinjaNotification target and make version and build same as zmNinja +- Now in XCode Targets, select ``zmNinjaNotification``, and make sure you select a Team and make sure Deployment Target is 10 or above +- Change Deployment target to 10.1 (same as zmNinja target) +- ```cp www/external/NotificationService.m platforms/ios/zmNinjaNotication/`` +- ``cd platforms/ios/`` +- ``pod install`` + +You can now do `build_ios.sh`. However, after you build, you will have to go back to XCode +after the build to make the following changes: + +1. Sync notification version with app version +2. Change notification bundle ID back to com.pliablepixels.zmninja-pro.zmNinjaNotification (cordova removes the last word) + + +(Easier) If you don't need picture notification support in push +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + There are a few steps you need to take to get the iOS build working for the first time. If you don't do this, you may get a compilation error that says ``ld: library not found for -lGoogleToolboxForMac`` @@ -201,53 +227,6 @@ You now have the following options: Your packages will be created in the ``dist`` folder -Set up desktop dependencies -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code:: bash - - npm install -g electron - npm install -g asar - -Make sure ``electron`` is installed. You should be able to do a -``which electron`` - -Also make sure ``unzip`` and ``wget`` tools are installed in your -system. - -First time setup -~~~~~~~~~~~~~~~~ - -If this is the first time you are building a desktop version, you need -to download electron images for various platforms. There is a helper -script called ``prepare_desktop.sh`` that you can run. This creates a -directory called ``desktop`` inside your zmNinja directory. It currently -downloads all supported platforms. - -.. code:: bash - - ./prepare_desktop.sh - -This will download a bunch of files. If completed successfully, you can -proceed to the next step. - -Make the desktop build -~~~~~~~~~~~~~~~~~~~~~~ - -Once you are done with ``prepare_desktop.sh``, you can do a -``./make_desktop.sh``. This will actually build images for all -platforms. - -Running desktop builds -~~~~~~~~~~~~~~~~~~~~~~ - -``cd`` into the desktop directory and run whichever port you want - -Subsequent builds -~~~~~~~~~~~~~~~~~ - -You need to ``./make_desktop.sh`` each time you make changes. - Troubleshooting --------------- diff --git a/docs/_build/html/_sources/guides/validating-api.rst.txt b/docs/_build/html/_sources/guides/validating-api.rst.txt index 0b3d478b..a2acdfae 100644 --- a/docs/_build/html/_sources/guides/validating-api.rst.txt +++ b/docs/_build/html/_sources/guides/validating-api.rst.txt @@ -49,13 +49,14 @@ response like: } - Step 6: (If you find your APIs show ok, but zmNinja has issues) -- Open a browser, log into ZM -- Open a new tab, enter ``http://server/zm/api/host/getVersion.json`` -- Now, right click and do a ``View Source`` in your browser (different - browsers may have different names for it). This brings up a full - source code view of the page. Do you ONLY see the JSON output or do - you see gobs of HTML on top like ``
 

Try before buy

Some users legitimately look around for an option to try before they buy and they are not savvy enough to download the -code and -compile +code and compile (Building from Source) for themselves. Fair enough. In that case, download the Desktop version of zmNinja. It’s free and is the same code as mobile. Make sure the desktop @@ -340,13 +339,10 @@ you can download logs (cloud icon, desktop version) be sure to mention which version was working and which was not. In this case, please make sure you have validated the APIs work

  • Before you create an issue, please make sure you have read the -sections on connection +sections on connection issues -and -streaming -issues and Step 6 of -validating -APIs.
  • +and streaming +issues and Step 6 of Validating APIs
  • Its often hard to infer a problem especially when its due to some unique apache/nginx mungling you might have done but haven’t told me about it. In such cases, try and give me remote access to your ZM for @@ -523,7 +519,7 @@ can use in zmNinja.
  • https://myserver:myport/zm/cgi-bin

    • You are using Basic Authentication. See -here
    • +here
    • You have ‘multi-server’ configuration enabled and you have done it wrong. Go to ZM Web Console->Options->Servers - if you see any entries there and you don’t know what multi-server is, or you don’t @@ -532,7 +528,7 @@ use it, please disable multi-server
    • - example Apache’s error.log - see any image/jpg errors? That means you are missing libraries
    • You have set up a multi-server install of ZM without knowing you did -See here
    • +See here
    • Look at zmNinja, ZoneMinder and web server error logs at the time of error - one of them should give more clues. Please send me all the logs if you ask for help
    • @@ -773,9 +769,9 @@ one.

      ZoneMinder changed API packaging with ZM 1.30.2 and above. You will have to read your distro notes on how to properly update. Read this -thread. Before you think zmNinja is the problem, make sure your APIs +thread. Before you think zmNinja is the problem, make sure your APIs are -working. +working :doc:`validating-api Summary of reasons why zmNinja might have stopped working: - You did not check if your APIs are working after the upgrade - You did not upgrade properly (just updating the ZM package without following distro @@ -819,8 +815,7 @@ discussion

      APIs are not working ! ZM console works fine.

      -

      Read -this

      +

      Validating APIs

      I’m using mocord/record and I don’t see events without alarms

      diff --git a/docs/_build/html/guides/source.html b/docs/_build/html/guides/source.html index ce53f606..7430a695 100644 --- a/docs/_build/html/guides/source.html +++ b/docs/_build/html/guides/source.html @@ -97,18 +97,17 @@
    • Download zmNinja
    • Configure build configure zmNinja and get all required plugins
    • -
    • Making an iOS build
    • +
    • Making an iOS build +
    • Making an Android build
    • Making a desktop build
    • Troubleshooting
    • @@ -183,7 +182,7 @@

      Building from Source

      NOTE If you want to run it on your desktop, you can directly download desktop binaries -here +here and if you want it for Android/iOS you can get from the play/appstore. This is only for those who want to run from source.

      @@ -278,6 +277,31 @@ version

      installed. You also need to have your developer certificates/etc. (I am not going to detail this out - there are many internet resources on this)

      +
      +

      (Harder) If you need picture notification support in push

      +

      As of Mar 2019, cordova-ios does not support multiple targets, nor does +it support automatic building of notification extensions. So there is manual work to be done:

      +
        +
      • Open up platforms/ios/zmNinja.xcworkspace in XCode
      • +
      • Go to File->New->Target->Notification Service Extension, select Objective C
      • +
      • In the “Product Name” put in zmNinjaNotification (your BundleID should now read com.pliablepixels.zmninja-pro.zmNinjaNotification)
      • +
      • Say “Yes” to “Activate zmNinjaNotification scheme?” popup
      • +
      • Now go to zmNinjaNotification target and make version and build same as zmNinja
      • +
      • Now in XCode Targets, select zmNinjaNotification, and make sure you select a Team and make sure Deployment Target is 10 or above
      • +
      • Change Deployment target to 10.1 (same as zmNinja target)
      • +
      • `cp www/external/NotificationService.m platforms/ios/zmNinjaNotication/
      • +
      • cd platforms/ios/
      • +
      • pod install
      • +
      +

      You can now do build_ios.sh. However, after you build, you will have to go back to XCode +after the build to make the following changes:

      +
        +
      1. Sync notification version with app version
      2. +
      3. Change notification bundle ID back to com.pliablepixels.zmninja-pro.zmNinjaNotification (cordova removes the last word)
      4. +
      +
      +
      +

      (Easier) If you don’t need picture notification support in push

      There are a few steps you need to take to get the iOS build working for the first time. If you don’t do this, you may get a compilation error that says ld: library not found for -lGoogleToolboxForMac

      @@ -301,6 +325,7 @@ is on in Background Modes and in iCloud section, Key-Value storage is enabled. If you see a “Fix issue” there, clicking on that button resolves everything.

      +
      -
      -

      Set up desktop dependencies

      -
      npm install -g electron
      -npm install -g asar
      -
      -
      -

      Make sure electron is installed. You should be able to do a -which electron

      -

      Also make sure unzip and wget tools are installed in your -system.

      -
      -
      -

      First time setup

      -

      If this is the first time you are building a desktop version, you need -to download electron images for various platforms. There is a helper -script called prepare_desktop.sh that you can run. This creates a -directory called desktop inside your zmNinja directory. It currently -downloads all supported platforms.

      -
      ./prepare_desktop.sh
      -
      -
      -

      This will download a bunch of files. If completed successfully, you can -proceed to the next step.

      -
      -
      -

      Make the desktop build

      -

      Once you are done with prepare_desktop.sh, you can do a -./make_desktop.sh. This will actually build images for all -platforms.

      -
      -
      -

      Running desktop builds

      -

      cd into the desktop directory and run whichever port you want

      -
      -
      -

      Subsequent builds

      -

      You need to ./make_desktop.sh each time you make changes.

      -

      Troubleshooting

      diff --git a/docs/_build/html/guides/validating-api.html b/docs/_build/html/guides/validating-api.html index fd0eb148..2d66ce6c 100644 --- a/docs/_build/html/guides/validating-api.html +++ b/docs/_build/html/guides/validating-api.html @@ -209,8 +209,10 @@ response like:

      }
    -
      -
    • Step 6: (If you find your APIs show ok, but zmNinja has issues)
    • +
        +
      • Step 6: (If you find your APIs show ok, but zmNinja has issues)

        +
        +
        • Open a browser, log into ZM
        • Open a new tab, enter http://server/zm/api/host/getVersion.json
        • Now, right click and do a View Source in your browser (different @@ -219,6 +221,9 @@ source code view of the page. Do you ONLY see the JSON output or do you see gobs of HTML on top like <pre class= and lots of cake related messages? If you do, you need to fix it.
        +
        +
      • +

      if you find the page empty, your APIs/permissions have a problem. Please post in the ZM forums (please DON’T contact me first as its not a zmNinja bug)

      diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 585ec009..4fd0efe0 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["guides/FAQ","guides/contributing-language","guides/desktop","guides/source","guides/validating-api","index"],envversion:53,filenames:["guides/FAQ.rst","guides/contributing-language.rst","guides/desktop.rst","guides/source.rst","guides/validating-api.rst","index.rst"],objects:{},objnames:{},objtypes:{},terms:{"10b61":3,"32bit":3,"64bit":3,"case":0,"class":4,"default":0,"final":3,"import":4,"long":0,"new":[0,2,4,5],"public":0,"return":4,"short":0,"super":2,"switch":[0,2,3],"var":1,"while":[2,4],And:[2,3],But:0,DNS:4,For:[0,5],Has:4,IOS:0,Its:0,NOT:0,Not:1,One:0,That:0,The:[1,2,3],Then:[0,3],There:[0,3],Use:0,Yes:0,abl:[0,3],about:[0,3,5],abov:3,access:[0,4],act:0,activ:0,actual:[2,3,4],adam:0,adb:[0,3],add:[0,1,3,4],added:[0,1],addit:4,adjust:3,affect:0,after:[0,1],again:0,ago:0,aka:0,all:1,alloc:4,allow:[1,2],also:[0,1,3],alt:0,alwai:0,amaz:0,anchor:0,ani:[0,1],anoth:[2,4],answer:[0,5],anymor:0,anytim:0,anywher:1,apach:0,apache2:0,apc:0,api:5,apivers:4,apk:3,app:[1,2,3,4],appdata:2,append:0,appimag:2,appl:0,applic:[0,2],appreci:0,approach:0,appstor:[0,3],apr:0,arg:2,arg_basicauth:0,argument:2,arm:3,around:[0,4],arrai:1,arrow:2,asar:3,assum:[0,4],assumpt:4,async:3,attempt:0,auth_hash_login:0,auth_relai:0,authnam:0,authtyp:0,authuserfil:0,auto:3,autom:3,automat:0,avail:[0,1],avoid:0,awai:0,back:[0,2],backend:0,background:3,backup:0,bad:0,bandwidth:[0,3],base64:0,base:0,basicauth:0,becam:0,becaus:[0,2],been:0,befor:3,behavior:0,being:[0,2],below:0,benefit:0,best:[0,1],better:3,between:[2,3],big:0,bin:3,binari:[0,2,3],blank:4,both:[0,2],bottom:0,bought:0,brave:5,breath:0,briefli:0,bring:[0,4],broken:0,brows:0,browser:4,btw:0,bug:[0,4],build:[0,5],build_android:3,build_io:3,builder:3,bunch:3,bundl:2,button:[0,2,3],cake:4,cakephp:0,call:[0,3],camera:[0,4],can:[3,4],capabl:3,care:1,carefulli:3,caus:4,certain:0,certif:[0,3],certpathvalidatorexcept:0,chanc:0,chang:[0,3],chapter:0,charact:[0,4],charg:0,check:[0,3],checklang:1,choos:[0,3],chose:0,chrome:0,clean:0,clearli:0,cli:3,click:[3,4],clone:3,close:0,cloud:0,clue:0,cmd:[0,2],cnf:0,code:[1,2,3,4],coder:0,com:[0,3],come:0,comma:1,command:3,comment:1,common:[0,5],compil:3,complain:3,complet:[1,2,3],complex:0,compris:0,comput:0,conf:0,config:[0,2,4],configur:0,conflict:2,constantli:0,construct:0,contact:[0,4],contain:0,contribut:[0,5],control:0,convert:0,cooki:0,copi:2,cor:0,core:0,correct:0,correctli:0,could:0,creat:[0,1,3],credenti:[0,4],critic:2,crt:0,csrf:0,ctrl:[0,2],current:[0,3],cycl:0,daemon:0,dai:[0,2],databas:4,debug:[0,2,3],debug_fil:3,dec:3,decod:0,decrypt:0,dedic:[0,2],definit:4,delet:2,depend:0,deploi:3,deprec:0,depth:3,desktop:[0,4,5],destkop:0,detail:[0,3,4,5],dev:[0,3],develop:[1,3],developmentteam:3,devic:0,did:[0,3],differ:[0,2,3,4],digest:0,dilig:0,dir:2,direct:0,directli:[0,3],directori:[0,2,3],disabl:0,discourag:0,discuss:0,displai:0,dist:3,distro:0,doe:3,doing:3,domain:0,don:[1,2,3,4],done:[0,3],down:2,downgrad:0,downleft:2,downright:2,drive:0,due:0,each:[0,2,3],earlier:0,easi:[0,5],easier:0,edit:[0,3,4],effici:0,electron:3,element:1,ellipsi:1,elsewher:0,email:0,embed:0,emphas:0,empti:4,enabl:3,encod:[0,4],encourag:0,encrypt:0,end:0,enforc:0,engin:0,english:1,enough:0,ensur:[0,4],enter:[2,4],entitl:0,entri:0,env:0,envelop:0,environ:[0,3],error:3,esc:2,especi:[0,2],etc:[0,3],even:3,event:[2,4],eventscontrol:0,everi:0,everyth:3,evolv:0,exactli:0,exampl:0,exist:[0,1],expect:3,expert:3,extract:0,face:[0,4],facil:0,fail:0,fair:0,fallback:1,familiar:1,faq:5,fee:0,feel:0,few:[0,3],ffmpeg:0,figur:[0,3],file:[0,3],fill:0,find:[0,4],first:[0,2,4],fit:2,fix:[3,4],focu:1,folder:3,folk:0,follow:[0,1,2,3],footag:2,forc:0,forget:0,format:[0,1],forum:[0,4],found:[0,3],framework:3,from:[0,2,4,5],frustrat:0,full:[0,2,4],funki:0,getvers:4,git:[1,3],github:[0,3],give:0,glob:1,gob:4,going:[0,2,3],good:[0,1],googl:0,got:0,grab:0,grunt:3,guarante:0,guidelin:0,gulp:3,had:0,handl:0,handshak:0,happen:[0,4],happi:0,hard:0,has:[0,4,5],hash:0,have:4,haven:0,header:0,hei:0,help:4,helper:3,here:[0,1,3,5],high:0,him:0,hint:0,his:0,hit:0,home:2,hope:0,host:4,hostnam:0,hour:0,how:[3,5],howev:0,html:[1,4],htpasswd:0,http:[0,3,4],icloud:[0,3],icon:0,ideal:1,imag:3,img:0,implement:0,includ:5,incorrect:0,increas:0,increment:0,index:0,infer:0,info:[0,3],inform:2,input:0,insert:0,insid:[0,1,3],inspect:0,instal:[0,5],instanc:0,instance1:2,instance2:2,instruct:[0,3],interfac:0,internet:3,introduc:0,invalid:4,invok:[0,3],ionic1:3,ios:3,ipa:3,isol:0,issu:[3,4,5],its:[0,1,4],java:0,jpeg:0,jpg:0,jshint:3,json:[0,1,3,4],just:[0,3],kei:[0,1,3],keyboard:3,keyout:0,keyword:1,know:0,knowledg:0,lang:1,languag:5,last:[0,1],later:0,latest:0,launch:[0,2],learn:0,least:0,left:2,legaci:3,legitim:0,less:0,let:[0,2],letsencrypt:0,lgoogletoolboxformac:3,lib:3,librari:[0,2,3],licens:0,life:0,like:[3,4,5],limit:[0,3],lin:3,line:[0,3,4],link:0,linux:[2,3],list:[0,1,4],listen:0,live:2,local:[1,3],localhost:0,locat:[0,1],lock:2,log:[0,4],login:0,look:[1,3],lot:[0,3,4],low:0,mac:3,machin:0,maco:3,made:0,mai:[0,2,3,4],maintain:0,make:[1,5],make_desktop:3,manag:[0,3],mani:[0,3,4],manual:[0,4],map:1,mark:0,match:0,max_connect:0,maximum:0,memori:0,mention:[0,3],menu:0,merg:4,mess:1,messag:[1,3,4],might:[0,4],migrat:3,miss:[1,3],mjpeg:0,mkdir:2,mobil:0,mod_head:0,mod_rewrit:0,mode:[0,2,3],model:1,modifi:1,modul:0,mojav:3,monitor:[2,4],montag:2,more:[3,4],mostli:[0,3],move:[0,2],much:0,mungl:0,must:3,myport:0,myserv:0,name:[0,4],nativ:0,need:[1,4],neither:0,network:0,newer:3,newkei:0,next:[0,2,3],nginx:[0,4],nice:0,noauth:0,node:[0,3],node_modul:3,non:[0,4],nope:0,nor:0,note:[2,3],notif:3,now:[0,3,4],npm:3,nuanc:0,nvr:1,object:4,occur:0,off:0,offer:0,often:0,old:0,onc:[0,3],one:[0,2,4],onli:[1,3,4],onward:0,open:[0,2,3,4],openssl:0,oper:2,opt_auth:0,option:3,order:[0,3],osx:2,other:3,otherwis:2,out:[0,2,3],outler:0,output:[3,4],over:[0,3],overwrit:1,own:[3,5],packag:[0,3],page:[0,2,4],pair:0,pan:2,paramet:0,pars:0,part:0,pass:0,passabl:0,passthru:0,password:0,patch:4,path:[0,2,4],peopl:0,per:0,perfectli:0,permiss:4,phone:3,php5:0,php:[0,4],pick:0,pin:2,plai:[0,2,3],playback:0,playstor:0,pleas:[0,1,3],pliablepixel:3,plug:0,plugin:0,pod:3,polici:0,port:[3,5],portal:0,possibl:[0,2],post:[0,3,4],pre:4,prefer:1,prepar:3,prepare_desktop:3,preset:0,pretti:1,previou:[0,2],prime256v1:0,problem:4,proce:3,process:[0,1,3],processor:0,produc:3,profess:0,profil:2,program:0,prohibit:0,project:[0,3],properli:[0,3],protocol:0,provid:[0,1],proxi:0,proxy_pass:0,proxy_set_head:0,ptz:[0,2],pull:1,purchas:0,put:0,python:1,qs_token:0,qualifi:0,query_str:0,question:[0,5],rare:0,readi:3,realli:0,realtim:0,reason:[0,4],recommend:[0,2],red:2,refresh:0,regener:0,regist:1,registeravailablelanguagekei:1,relat:[4,5],releas:[0,3],release_fil:3,relev:[0,1],rememb:0,remot:[0,3,4],remov:[0,2,4],render:0,replac:[0,1,4],req:0,request:[0,1,3],request_uri:0,requesthead:0,requir:0,requireani:0,reset:2,resolut:0,resolv:3,resourc:3,respons:4,restart:0,restor:0,restrict:0,result:0,revers:0,rewritecond:0,rewriteengin:0,rewriterul:0,rid:0,right:[0,2,4],root:[0,3],rout:3,rsa:0,rude:0,rule:0,run:2,safe:0,sai:[2,3],said:0,same:[0,1,2,4],sass:3,save:3,savvi:0,scale:0,schedul:0,screen:2,script:3,sdk:3,search:0,secp384r1:0,secp521r1:0,section:[0,3],see:[2,3,4,5],seem:3,seen:0,sent:0,server:[2,4],servic:0,set:[2,4],setenvif:0,setup:0,sever:0,share:[0,4],shift:[0,2],shortcut:5,should:[1,2,3,4],show:[2,4],side:0,sigh:0,sim:3,similar:0,simpler:0,simpli:[0,1],simultan:0,sinc:0,singl:[0,2],site:0,skim:0,snapshot:2,some:3,someth:[0,3],sometim:[0,4],sorri:0,sort:0,soul:5,sourc:[0,4,5],space:0,special:0,specif:0,specifi:0,spend:[0,3],spent:0,src:0,ssl_ecdh_curv:0,sslcertificatefil:0,sslcertificatekeyfil:0,stack:0,start:[0,2],step:[0,3,4],still:[0,4],storag:3,store:[0,2],strategi:0,stream:[4,5],strict:0,strip:0,strongli:[0,2],stuff:3,sub:0,submit:4,substitut:0,successfulli:3,suddenli:0,sudo:[0,3],suffici:0,support:[2,3],sure:[0,1,5],surpris:0,sync:[0,1],system:[0,2,3,4],tab:[0,3,4],tag:[0,1],take:3,tap:0,tcp:0,tell:0,templat:0,termin:0,terribl:0,test:0,text:[0,1,4],than:[0,4],thank:[0,3],thei:[0,1],them:[0,3],themselv:0,thi:[1,2,3],thing:[2,3],think:0,those:[0,3],though:0,thread:0,tighten:0,till:[0,4],time:2,time_wait:0,timelin:2,timestamp:0,tip:5,todai:0,togeth:0,toggl:[0,2],token:0,told:0,too:0,tool:[0,3],toolkit:3,top:[0,4],total:0,track:0,transmit:0,trial:0,trick:[2,5],trivial:0,troubleshoot:5,trust:0,tweak:0,two:0,type:[0,4],typic:[0,2,3],typo:0,ubuntu:0,uncom:4,understand:0,unfortun:0,uninstal:0,uniqu:[0,2],unix:0,unless:0,unsaf:0,unzip:3,upgrad:3,upleft:2,upload:0,upright:2,uri:0,usabl:5,usag:0,use:[2,3,4],used:[0,2],useful:[0,2],user:[0,2,3,4],uses:0,usin:0,using:[1,3,4],usr:[0,3,4],usual:3,utf8:4,v59:0,valid:[0,1,3,5],valu:[0,3],variou:[3,5],veri:3,version:[1,2,4],view:[2,4],virtualhost:0,visibl:0,wai:[0,1],wait:0,want:[2,3,5],watch:2,webserv:0,webview:[0,3],well:[0,2,3],wget:3,what:[1,2,3],when:[1,2,4],where:[0,1],which:[0,1,3],whichev:3,whine:0,who:[3,5],why:3,willing:0,win:3,window:[0,2,3],wipe:0,wizard:0,wkwebview:0,won:0,work:[1,2,3,5],workaround:0,workspac:3,would:[0,5],write:0,wrong:[0,3],www:[0,4],x264:0,x509:0,x86_64:2,xcode:3,xcworkspac:3,xdg_config_hom:2,yeah:0,year:0,yet:[0,3],you:[1,2,5],your:[0,1,2,3,4,5],yourself:[0,3],yourserv:0,ysammi:0,zmninja:[1,2],zmninjadesktop:2,zmninjapro:2,zmview:0,zone:4,zonemind:[4,5],zoom:2},titles:["zmNinja FAQ","Contributing a new language","Desktop port tips","Building from Source","Validating APIs","Welcome to zmNinja\u2019s documentation!"],titleterms:{"24hr":0,"new":1,"try":0,Adding:1,And:0,For:3,Not:0,ONE:0,The:0,abov:0,actual:0,alarm:0,all:[0,3],allow:0,android:[0,3],api:[0,4],app:0,ask:0,auth:0,authent:0,author:0,basic:0,befor:[0,4],behind:0,beyond:[0,3],bin:0,bind:2,bower:3,browser:0,bui:0,build:3,can:0,caus:0,cert:0,cgi:0,clear:0,code:0,command:2,compar:0,compil:0,complet:0,configur:3,connect:0,consol:0,contribut:1,cool:0,cordova:3,custom:0,data:[0,2],delai:0,depend:3,descript:0,desktop:[2,3],develop:0,document:5,doe:0,doesn:0,don:0,donat:0,download:[0,3],either:0,enabl:0,enter:0,error:0,even:0,event:0,everyth:0,except:0,expertis:0,faq:0,featur:0,feed:0,file:1,fine:0,firefox:0,first:3,fix:0,frame:0,free:0,frequenc:0,from:3,gener:0,get:[0,3],great:0,have:[0,3],help:[0,1],hotkei:2,how:[0,1],iOS:[0,3],idea:0,imag:0,improv:0,individu:0,inform:0,instal:3,instanc:2,ionic:3,issu:0,keep:0,keyboard:2,lan:0,languag:1,like:0,line:2,littl:0,live:0,locat:2,look:0,main:1,make:[0,3,4],mean:0,messag:0,minimum:0,misc:0,miss:0,mocord:0,modifi:0,monei:0,monitor:0,montag:0,more:0,multi:0,multipl:2,mysql:0,need:[0,3],nodej:3,note:[0,4],notif:0,nph:0,offici:0,onli:0,opera:0,option:0,other:0,own:0,pan:0,paramet:2,person:0,phone:0,platform:3,playabl:0,pleas:4,plugin:3,port:[0,2],problem:0,product:0,profil:0,push:0,reach:0,read:0,recogn:1,record:0,redirect:0,refund:0,regular:0,relat:0,report:0,requir:3,reverseproxi:0,review:0,run:[0,3],sai:0,save:0,scope:2,screen:0,second:0,secur:0,see:0,seem:0,self:0,send:0,server:0,set:[0,3],setup:3,should:0,show:0,sign:0,simpl:0,skip:0,smooth:0,snapshot:0,some:0,sourc:3,ssl:0,starter:0,stop:0,storag:[0,2],stream:0,subsequ:3,suddent:0,summari:0,support:0,sure:[3,4],take:0,thi:[0,4],thing:0,through:4,thumbnail:0,tilt:0,time:[0,3],timeout:0,tip:[0,2],translat:1,tri:0,troubleshoot:3,unabl:0,updat:0,upgrad:0,url:0,use:0,using:0,valid:4,veri:0,version:[0,3],video:0,view:0,wan:0,want:0,wasn:0,web:0,webconsol:0,welcom:5,were:0,what:0,when:0,who:0,why:[0,4],without:0,wonder:4,work:[0,4],you:[0,3,4],zm_auth_hash_login:0,zmninja:[0,3,4,5],zms:0,zonemind:0,zoom:0}}) \ No newline at end of file +Search.setIndex({docnames:["guides/FAQ","guides/contributing-language","guides/desktop","guides/source","guides/validating-api","index"],envversion:53,filenames:["guides/FAQ.rst","guides/contributing-language.rst","guides/desktop.rst","guides/source.rst","guides/validating-api.rst","index.rst"],objects:{},objnames:{},objtypes:{},terms:{"10b61":3,"32bit":3,"64bit":3,"case":0,"class":4,"default":0,"final":3,"import":4,"long":0,"new":[0,2,3,4,5],"public":0,"return":4,"short":0,"super":2,"switch":[0,2,3],"var":1,"while":[2,4],And:[2,3],But:0,DNS:4,For:[0,5],Has:4,IOS:0,Its:0,NOT:0,Not:1,One:0,That:0,The:[1,2,3],Then:[0,3],There:[0,3],Use:0,Yes:[0,3],abl:[0,3],about:[0,3,5],abov:3,access:[0,4],act:0,activ:[0,3],actual:[2,4],adam:0,adb:[0,3],add:[0,1,3,4],added:[0,1],addit:4,adjust:3,affect:0,after:[0,1,3],again:0,ago:0,aka:0,all:1,alloc:4,allow:[1,2],also:[0,1,3],alt:0,alwai:0,amaz:0,anchor:0,ani:[0,1],anoth:[2,4],answer:[0,5],anymor:0,anytim:0,anywher:1,apach:0,apache2:0,apc:0,api:5,apivers:4,apk:3,app:[1,2,3,4],appdata:2,append:0,appimag:2,appl:0,applic:[0,2],appreci:0,approach:0,appstor:[0,3],apr:0,arg:2,arg_basicauth:0,argument:2,arm:3,around:[0,4],arrai:1,arrow:2,assum:[0,4],assumpt:4,async:3,attempt:0,auth_hash_login:0,auth_relai:0,authnam:0,authtyp:0,authuserfil:0,auto:3,autom:3,automat:[0,3],avail:[0,1],avoid:0,awai:0,back:[0,2,3],backend:0,background:3,backup:0,bad:0,bandwidth:[0,3],base64:0,base:0,basicauth:0,becam:0,becaus:[0,2],been:0,befor:3,behavior:0,being:[0,2],below:0,benefit:0,best:[0,1],better:3,between:[2,3],big:0,bin:3,binari:[0,2,3],blank:4,both:[0,2],bottom:0,bought:0,brave:5,breath:0,briefli:0,bring:[0,4],broken:0,brows:0,browser:4,btw:0,bug:[0,4],build:[0,5],build_android:3,build_io:3,builder:3,bundl:[2,3],bundleid:3,button:[0,2,3],cake:4,cakephp:0,call:0,camera:[0,4],can:[3,4],capabl:3,care:1,carefulli:3,caus:4,certain:0,certif:[0,3],certpathvalidatorexcept:0,chanc:0,chang:[0,3],chapter:0,charact:[0,4],charg:0,check:[0,3],checklang:1,choos:[0,3],chose:0,chrome:0,clean:0,clearli:0,cli:3,click:[3,4],clone:3,close:0,cloud:0,clue:0,cmd:[0,2],cnf:0,code:[1,2,3,4],coder:0,com:[0,3],come:0,comma:1,command:3,comment:1,common:[0,5],compil:3,complain:3,complet:[1,2],complex:0,compris:0,comput:0,conf:0,config:[0,2,4],configur:0,conflict:2,constantli:0,construct:0,contact:[0,4],contain:0,contribut:[0,5],control:0,convert:0,cooki:0,copi:2,cor:0,core:0,correct:0,correctli:0,could:0,creat:[0,1,3],credenti:[0,4],critic:2,crt:0,csrf:0,ctrl:[0,2],current:0,cycl:0,daemon:0,dai:[0,2],databas:4,debug:[0,2,3],debug_fil:3,dec:3,decod:0,decrypt:0,dedic:[0,2],definit:4,delet:2,depend:0,deploi:3,deploy:3,deprec:0,depth:3,desktop:[0,4,5],destkop:0,detail:[0,3,4,5],dev:[0,3],develop:[1,3],developmentteam:3,devic:0,did:[0,3],differ:[0,2,3,4],digest:0,dilig:0,dir:2,direct:0,directli:[0,3],directori:[0,2],disabl:0,discourag:0,discuss:0,displai:0,dist:3,distro:0,doc:0,doe:3,doing:3,domain:0,don:[1,2,4],done:[0,3],down:2,downgrad:0,downleft:2,downright:2,drive:0,due:0,each:[0,2],earlier:0,easi:[0,5],easier:0,edit:[0,3,4],effici:0,electron:3,element:1,ellipsi:1,elsewher:0,email:0,embed:0,emphas:0,empti:4,enabl:3,encod:[0,4],encourag:0,encrypt:0,end:0,enforc:0,engin:0,english:1,enough:0,ensur:[0,4],enter:[2,4],entitl:0,entri:0,env:0,envelop:0,environ:[0,3],error:3,esc:2,especi:[0,2],etc:[0,3],even:3,event:[2,4],eventscontrol:0,everi:0,everyth:3,evolv:0,exactli:0,exampl:0,exist:[0,1],expect:3,expert:3,extens:3,extern:3,extract:0,face:[0,4],facil:0,fail:0,fair:0,fallback:1,familiar:1,faq:5,fee:0,feel:0,few:[0,3],ffmpeg:0,figur:[0,3],file:[0,3],fill:0,find:[0,4],first:[0,2,3,4],fit:2,fix:[3,4],focu:1,folder:3,folk:0,follow:[0,1,2,3],footag:2,forc:0,forget:0,format:[0,1],forum:[0,4],found:[0,3],framework:3,from:[0,2,4,5],frustrat:0,full:[0,2,4],funki:0,getvers:4,git:[1,3],github:[0,3],give:0,glob:1,gob:4,going:[0,2,3],good:[0,1],googl:0,got:0,grab:0,grunt:3,guarante:0,guidelin:0,gulp:3,had:0,handl:0,handshak:0,happen:[0,4],happi:0,hard:0,has:[0,4,5],hash:0,have:4,haven:0,header:0,hei:0,help:4,here:[0,1,3,5],high:0,him:0,hint:0,his:0,hit:0,home:2,hope:0,host:4,hostnam:0,hour:0,how:[3,5],howev:[0,3],html:[1,4],htpasswd:0,http:[0,3,4],icloud:[0,3],icon:0,ideal:1,img:0,implement:0,includ:5,incorrect:0,increas:0,increment:0,index:0,infer:0,info:[0,3],inform:2,input:0,insert:0,insid:[0,1],inspect:0,instal:[0,5],instanc:0,instance1:2,instance2:2,instruct:[0,3],interfac:0,internet:3,introduc:0,invalid:4,invok:[0,3],ionic1:3,ios:3,ipa:3,isol:0,issu:[3,4,5],its:[0,1,4],java:0,jpeg:0,jpg:0,jshint:3,json:[0,1,3,4],just:[0,3],kei:[0,1,3],keyboard:3,keyout:0,keyword:1,know:0,knowledg:0,lang:1,languag:5,last:[0,1,3],later:0,latest:0,launch:[0,2],learn:0,least:0,left:2,legaci:3,legitim:0,less:0,let:[0,2],letsencrypt:0,lgoogletoolboxformac:3,lib:3,librari:[0,2,3],licens:0,life:0,like:[3,4,5],limit:[0,3],lin:3,line:[0,3,4],link:0,linux:[2,3],list:[0,1,4],listen:0,live:2,local:[1,3],localhost:0,locat:[0,1],lock:2,log:[0,4],login:0,look:[1,3],lot:[0,3,4],low:0,mac:3,machin:0,maco:3,made:0,mai:[0,2,3,4],maintain:0,make:[1,5],manag:[0,3],mani:[0,3,4],manual:[0,3,4],map:1,mar:3,mark:0,match:0,max_connect:0,maximum:0,memori:0,mention:[0,3],menu:0,merg:4,mess:1,messag:[1,3,4],might:[0,4],migrat:3,miss:[1,3],mjpeg:0,mkdir:2,mobil:0,mod_head:0,mod_rewrit:0,mode:[0,2,3],model:1,modifi:1,modul:0,mojav:3,monitor:[2,4],montag:2,more:[3,4],mostli:[0,3],move:[0,2],much:0,multipl:3,mungl:0,must:3,myport:0,myserv:0,name:[0,3,4],nativ:0,need:[1,4],neither:0,network:0,newer:3,newkei:0,next:[0,2],nginx:[0,4],nice:0,noauth:0,node:[0,3],node_modul:3,non:[0,4],nope:0,nor:[0,3],note:[2,3],notificationservic:3,now:[0,3,4],npm:3,nuanc:0,nvr:1,object:[3,4],occur:0,off:0,offer:0,often:0,old:0,onc:0,one:[0,2,4],onli:[1,3,4],onward:0,open:[0,2,3,4],openssl:0,oper:2,opt_auth:0,option:3,order:[0,3],osx:2,other:3,otherwis:2,out:[0,2,3],outler:0,output:[3,4],over:[0,3],overwrit:1,own:[3,5],packag:[0,3],page:[0,2,4],pair:0,pan:2,paramet:0,pars:0,part:0,pass:0,passabl:0,passthru:0,password:0,patch:4,path:[0,2,4],peopl:0,per:0,perfectli:0,permiss:4,phone:3,php5:0,php:[0,4],pick:0,pin:2,plai:[0,2,3],playback:0,playstor:0,pleas:[0,1,3],pliablepixel:3,plug:0,plugin:0,pod:3,polici:0,popup:3,port:5,portal:0,possibl:[0,2],post:[0,3,4],pre:4,prefer:1,prepar:3,preset:0,pretti:1,previou:[0,2],prime256v1:0,pro:3,problem:4,process:[0,1,3],processor:0,produc:3,product:3,profess:0,profil:2,program:0,prohibit:0,project:[0,3],properli:[0,3],protocol:0,provid:[0,1],proxi:0,proxy_pass:0,proxy_set_head:0,ptz:[0,2],pull:1,purchas:0,put:[0,3],python:1,qs_token:0,qualifi:0,query_str:0,question:[0,5],rare:0,read:3,readi:3,realli:0,realtim:0,reason:[0,4],recommend:[0,2],red:2,refresh:0,regener:0,regist:1,registeravailablelanguagekei:1,relat:[4,5],releas:[0,3],release_fil:3,relev:[0,1],rememb:0,remot:[0,3,4],remov:[0,2,3,4],render:0,replac:[0,1,4],req:0,request:[0,1,3],request_uri:0,requesthead:0,requir:0,requireani:0,reset:2,resolut:0,resolv:3,resourc:3,respons:4,restart:0,restor:0,restrict:0,result:0,revers:0,rewritecond:0,rewriteengin:0,rewriterul:0,rid:0,right:[0,2,4],root:[0,3],rout:3,rsa:0,rude:0,rule:0,run:[2,3],safe:0,sai:[2,3],said:0,same:[0,1,2,3,4],sass:3,save:3,savvi:0,scale:0,schedul:0,scheme:3,screen:2,sdk:3,search:0,secp384r1:0,secp521r1:0,section:[0,3],see:[2,3,4,5],seem:3,seen:0,select:3,sent:0,server:[2,4],servic:[0,3],set:[2,3,4],setenvif:0,setup:0,sever:0,share:[0,4],shift:[0,2],shortcut:5,should:[1,2,3,4],show:[2,4],side:0,sigh:0,sim:3,similar:0,simpler:0,simpli:[0,1],simultan:0,sinc:0,singl:[0,2],site:0,skim:0,snapshot:2,some:3,someth:[0,3],sometim:[0,4],sorri:0,sort:0,soul:5,sourc:[0,4,5],space:0,special:0,specif:0,specifi:0,spend:[0,3],spent:0,src:0,ssl_ecdh_curv:0,sslcertificatefil:0,sslcertificatekeyfil:0,stack:0,start:[0,2],step:[0,3,4],still:[0,4],storag:3,store:[0,2],strategi:0,stream:[4,5],strict:0,strip:0,strongli:[0,2],stuff:3,sub:0,submit:4,substitut:0,successfulli:3,suddenli:0,sudo:[0,3],suffici:0,support:2,sure:[0,1,5],surpris:0,sync:[0,1,3],system:[0,2,3,4],tab:[0,3,4],tag:[0,1],take:3,tap:0,target:3,tcp:0,team:3,tell:0,templat:0,termin:0,terribl:0,test:0,text:[0,1,4],than:[0,4],thank:[0,3],thei:[0,1],them:[0,3],themselv:0,thi:[1,2,3],thing:[2,3],think:0,those:[0,3],though:0,thread:0,tighten:0,till:[0,4],time:[2,3],time_wait:0,timelin:2,timestamp:0,tip:5,todai:0,togeth:0,toggl:[0,2],token:0,told:0,too:0,tool:[0,3],toolkit:3,top:[0,4],total:0,track:0,transmit:0,trial:0,trick:[2,5],trivial:0,troubleshoot:5,trust:0,tweak:0,two:0,type:[0,4],typic:[0,2,3],typo:0,ubuntu:0,uncom:4,understand:0,unfortun:0,uninstal:0,uniqu:[0,2],unix:0,unless:0,unsaf:0,upgrad:3,upleft:2,upload:0,upright:2,uri:0,usabl:5,usag:0,use:[2,3,4],used:[0,2],useful:[0,2],user:[0,2,3,4],uses:0,usin:0,using:[1,3,4],usr:[0,3,4],usual:3,utf8:4,v59:0,valid:[0,1,3,5],valu:[0,3],variou:5,veri:3,version:[1,2,4],view:[2,4],virtualhost:0,visibl:0,wai:[0,1],wait:0,want:[2,3,5],watch:2,webserv:0,webview:[0,3],well:[0,2,3],what:[1,2,3],when:[1,2,4],where:[0,1],which:[0,1],whine:0,who:[3,5],why:3,willing:0,win:3,window:[0,2,3],wipe:0,wizard:0,wkwebview:0,won:0,word:3,work:[1,2,3,5],workaround:0,workspac:3,would:[0,5],write:0,wrong:[0,3],www:[0,3,4],x264:0,x509:0,x86_64:2,xcode:3,xcworkspac:3,xdg_config_hom:2,yeah:0,year:0,yet:[0,3],you:[1,2,5],your:[0,1,2,3,4,5],yourself:[0,3],yourserv:0,ysammi:0,zmninja:[1,2],zmninjadesktop:2,zmninjanot:3,zmninjanotif:3,zmninjapro:2,zmview:0,zone:4,zonemind:[4,5],zoom:2},titles:["zmNinja FAQ","Contributing a new language","Desktop port tips","Building from Source","Validating APIs","Welcome to zmNinja\u2019s documentation!"],titleterms:{"24hr":0,"new":1,"try":0,Adding:1,And:0,For:3,Not:0,ONE:0,The:0,abov:0,actual:0,alarm:0,all:[0,3],allow:0,android:[0,3],api:[0,4],app:0,ask:0,auth:0,authent:0,author:0,basic:0,befor:[0,4],behind:0,beyond:[0,3],bin:0,bind:2,bower:3,browser:0,bui:0,build:3,can:0,caus:0,cert:0,cgi:0,clear:0,code:0,command:2,compar:0,compil:0,complet:0,configur:3,connect:0,consol:0,contribut:1,cool:0,cordova:3,custom:0,data:[0,2],delai:0,depend:3,descript:0,desktop:[2,3],develop:0,document:5,doe:0,doesn:0,don:[0,3],donat:0,download:[0,3],easier:3,either:0,enabl:0,enter:0,error:0,even:0,event:0,everyth:0,except:0,expertis:0,faq:0,featur:0,feed:0,file:1,fine:0,firefox:0,fix:0,frame:0,free:0,frequenc:0,from:3,gener:0,get:[0,3],great:0,harder:3,have:[0,3],help:[0,1],hotkei:2,how:[0,1],iOS:[0,3],idea:0,imag:0,improv:0,individu:0,inform:0,instal:3,instanc:2,ionic:3,issu:0,keep:0,keyboard:2,lan:0,languag:1,like:0,line:2,littl:0,live:0,locat:2,look:0,main:1,make:[0,3,4],mean:0,messag:0,minimum:0,misc:0,miss:0,mocord:0,modifi:0,monei:0,monitor:0,montag:0,more:0,multi:0,multipl:2,mysql:0,need:[0,3],nodej:3,note:[0,4],notif:[0,3],nph:0,offici:0,onli:0,opera:0,option:0,other:0,own:0,pan:0,paramet:2,person:0,phone:0,pictur:3,platform:3,playabl:0,pleas:4,plugin:3,port:[0,2],problem:0,product:0,profil:0,push:[0,3],reach:0,read:0,recogn:1,record:0,redirect:0,refund:0,regular:0,relat:0,report:0,requir:3,reverseproxi:0,review:0,run:0,sai:0,save:0,scope:2,screen:0,second:0,secur:0,see:0,seem:0,self:0,send:0,server:0,set:0,should:0,show:0,sign:0,simpl:0,skip:0,smooth:0,snapshot:0,some:0,sourc:3,ssl:0,starter:0,stop:0,storag:[0,2],stream:0,suddent:0,summari:0,support:[0,3],sure:[3,4],take:0,thi:[0,4],thing:0,through:4,thumbnail:0,tilt:0,time:0,timeout:0,tip:[0,2],translat:1,tri:0,troubleshoot:3,unabl:0,updat:0,upgrad:0,url:0,use:0,using:0,valid:4,veri:0,version:[0,3],video:0,view:0,wan:0,want:0,wasn:0,web:0,webconsol:0,welcom:5,were:0,what:0,when:0,who:0,why:[0,4],without:0,wonder:4,work:[0,4],you:[0,3,4],zm_auth_hash_login:0,zmninja:[0,3,4,5],zms:0,zonemind:0,zoom:0}}) \ No newline at end of file diff --git a/docs/guides/FAQ.rst b/docs/guides/FAQ.rst index c5ecc3c6..b36936d7 100644 --- a/docs/guides/FAQ.rst +++ b/docs/guides/FAQ.rst @@ -55,8 +55,7 @@ Try before buy Some users legitimately look around for an option to try before they buy and they are not savvy enough to `download the -code `__ and -`compile `__ +code `__ and compile (:doc:`source`) for themselves. Fair enough. In that case, `download the Desktop version `__ of zmNinja. It's free and is the same code as mobile. Make sure the desktop @@ -128,12 +127,9 @@ How to report errors - Before you create an issue, please make sure you have read the sections on `connection - issues `__ - and - `streaming `__ - issues and `Step 6 of - validating `__ - APIs. + issues <#connectionauthentication-issues>`__ + and `streaming <#live-streaming-issues>`__ + issues and Step 6 of :doc:`validating-api` - Its often hard to infer a problem especially when its due to some unique apache/nginx mungling you might have done but haven't told me @@ -332,7 +328,7 @@ In the above case my zmNinja cgi-bin setting is ``https://myserver:myport/zm/cgi-bin`` - You are using Basic Authentication. See - `here <#i-cant-see-streams-i-use-basic-auth>`__ + `here <#i-can-t-see-streams-i-use-basic-auth>`__ - You have 'multi-server' configuration enabled and you have done it wrong. Go to ZM Web Console->Options->Servers - if you see any entries there and you don't know what multi-server is, or you don't @@ -341,7 +337,7 @@ In the above case my zmNinja cgi-bin setting is - example Apache's ``error.log`` - see any image/jpg errors? That means you are missing libraries - You have set up a multi-server install of ZM without knowing you did - See `here <#i-cant-see-streams--multi-server-is-enabled>`__ + See `here <#i-can-t-see-streams-multi-server-is-enabled>`__ - Look at zmNinja, ZoneMinder and web server error logs at the time of error - one of them should give more clues. Please send me *all* the logs if you ask for help @@ -605,7 +601,7 @@ to read your distro notes on how to **properly** update. Read `this `__ thread. Before you think zmNinja is the problem, make sure your `APIs are -working `__. +working :doc:`validating-api` Summary of reasons why zmNinja might have stopped working: - You did not check if your APIs are working after the upgrade - You did not upgrade properly (just updating the ZM package without following distro @@ -651,8 +647,7 @@ discussion APIs are not working ! ZM console works fine. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Read -`this `__ +:doc:`validating-api` I'm using mocord/record and I don't see events without alarms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/guides/source.rst b/docs/guides/source.rst index 75785de7..87252e09 100644 --- a/docs/guides/source.rst +++ b/docs/guides/source.rst @@ -3,7 +3,7 @@ Building from Source **NOTE** If you want to run it on your desktop, you can directly download desktop binaries -`here `__ +`here `__ and if you want it for Android/iOS you can get from the play/appstore. This is only for those who *want* to run from source. @@ -113,6 +113,32 @@ installed. You also need to have your developer certificates/etc. (I am not going to detail this out - there are many internet resources on this) +(Harder) If you need picture notification support in push +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +As of Mar 2019, cordova-ios does not support multiple targets, nor does +it support automatic building of notification extensions. So there is manual work to be done: + +- Open up ``platforms/ios/zmNinja.xcworkspace`` in XCode +- Go to ``File->New->Target->Notification Service Extension``, select Objective C +- In the "Product Name" put in ``zmNinjaNotification`` (your BundleID should now read ``com.pliablepixels.zmninja-pro.zmNinjaNotification``) +- Say "Yes" to "Activate zmNinjaNotification scheme?" popup +- Now go to zmNinjaNotification target and make version and build same as zmNinja +- Now in XCode Targets, select ``zmNinjaNotification``, and make sure you select a Team and make sure Deployment Target is 10 or above +- Change Deployment target to 10.1 (same as zmNinja target) +- ```cp www/external/NotificationService.m platforms/ios/zmNinjaNotication/`` +- ``cd platforms/ios/`` +- ``pod install`` + +You can now do `build_ios.sh`. However, after you build, you will have to go back to XCode +after the build to make the following changes: + +1. Sync notification version with app version +2. Change notification bundle ID back to com.pliablepixels.zmninja-pro.zmNinjaNotification (cordova removes the last word) + + +(Easier) If you don't need picture notification support in push +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + There are a few steps you need to take to get the iOS build working for the first time. If you don't do this, you may get a compilation error that says ``ld: library not found for -lGoogleToolboxForMac`` @@ -201,53 +227,6 @@ You now have the following options: Your packages will be created in the ``dist`` folder -Set up desktop dependencies -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code:: bash - - npm install -g electron - npm install -g asar - -Make sure ``electron`` is installed. You should be able to do a -``which electron`` - -Also make sure ``unzip`` and ``wget`` tools are installed in your -system. - -First time setup -~~~~~~~~~~~~~~~~ - -If this is the first time you are building a desktop version, you need -to download electron images for various platforms. There is a helper -script called ``prepare_desktop.sh`` that you can run. This creates a -directory called ``desktop`` inside your zmNinja directory. It currently -downloads all supported platforms. - -.. code:: bash - - ./prepare_desktop.sh - -This will download a bunch of files. If completed successfully, you can -proceed to the next step. - -Make the desktop build -~~~~~~~~~~~~~~~~~~~~~~ - -Once you are done with ``prepare_desktop.sh``, you can do a -``./make_desktop.sh``. This will actually build images for all -platforms. - -Running desktop builds -~~~~~~~~~~~~~~~~~~~~~~ - -``cd`` into the desktop directory and run whichever port you want - -Subsequent builds -~~~~~~~~~~~~~~~~~ - -You need to ``./make_desktop.sh`` each time you make changes. - Troubleshooting --------------- diff --git a/docs/guides/validating-api.rst b/docs/guides/validating-api.rst index 0b3d478b..a2acdfae 100644 --- a/docs/guides/validating-api.rst +++ b/docs/guides/validating-api.rst @@ -49,13 +49,14 @@ response like: } - Step 6: (If you find your APIs show ok, but zmNinja has issues) -- Open a browser, log into ZM -- Open a new tab, enter ``http://server/zm/api/host/getVersion.json`` -- Now, right click and do a ``View Source`` in your browser (different - browsers may have different names for it). This brings up a full - source code view of the page. Do you ONLY see the JSON output or do - you see gobs of HTML on top like ``
      New->Target->Notification Service Extension, select Objective C 
      -In the "Product Name" put in zmNinjaNotification (your BundleID should now read  com.pliablepixels.zmninja-pro.zmNinjaNotification)
      -Say "Yes" to "Activate zmNinjaNotification scheme?" popup
      -
      -Now go to zmNinjaNotification target and make version and  build same as zmNinja
      -
      -Now in XCode Targets, select zmNinjaNotification, and make sure you select a Team and make sure Deployment Target is 10 or above
      -
      -Change Deployment target to 10.1 (same as zmNinja target)
      -
      -
      -  532  cp www/external/NotificationService.m platforms/ios/zmNinjaNotication/
      -  534  cd platforms/ios/
      -  535  pod install
      -
      -
      -
      -You can now build using ./build_ios
      -Every time you build:
      -1. Sync notification version with app version
      -2. Change notification bundle ID back to com.pliablepixels.zmninja-pro.zmNinjaNotification (cordova removes the last word)
      -- 
      cgit v1.2.3