beginning work on zm cloud. Doing cakephp tutorials.
fixxxermet
oh boy. Whats your plan?
architecture wise?
ic0n
it's really just a simple accoutn management app, that will spawn a new instance of zm... so create a new database on the db server, and somehow configure a new virtualhost for zm... and maybe a chroot or vm based install of zm.
fixxxermet
makes sense.
I think cake 3.x is out now. My API is still on 2.x
ic0n
I want to keep zm fairly independent. I think I will have to make changes as to how zm gets it's config info.
I gotta get something roughed in today to please that guy. So... user registration/edit and spawn a zm instance is my goal for today.
um.. the cake I am working with is 1.3.15? uh oh...
yeah I'm there... just want to use ubuntu packages for the cake install....
fixxxermet
ohhh I wouldn't
digdilem
Would that mean cakephp becomes a dependancy for zm, or is it just a design thing?
fixxxermet
They make upgrading a sinch
digdilem: Cake is already a dependency as the API is built with it.
But it just gets cloned with the rest of the code and you don't know
web/api directory
digdilem
does it add much bloat?
ic0n
yeah.. I'll see. likely will use 3.
fixxxermet
Just a couple hundred thousands lines of code maybe :)
digdilem
sorry for the questions, but what is the advantage to the user?
fixxxermet
ic0n: After working with cake for years, my advice to you is to, before anything else, COMPLETELY settle on the DB schema
And then start with the code. Cake has a script that scaffoldes your entire app for you based on your DB schema, including create Create, Read, Update, Delete functionality for each table
digdilem: no worries
digdilem: to the end user, none
digdilem: The API makes it 'more better' for us Devs to code nice UIs though, which is good for the user.
digdilem
that is a reasonable point and one I can understand.
fixxxermet
'GET /api/monitors.json' gives you all the monitors. Now you don't have to worry about the DB layer.
'GET /api/monitors/1.json' give you just monitor 1
same with events, zones, frames, etc
digdilem
one could also say that bloat isn't that important on a resource-heavy application like zm
but zm is already problematic to package due to a lot of historical dependancies, and difficult packaging leads to fewer users. (IMO)
fixxxermet
digdilem: I was half joaking about the bloat. There is a lot of code in cakephp, but it is /fast/, and transparent to the user. Recourcse wise (CPU, RAM), no real bloat there
digdilem
any extra cake-related load would be restricted to web interactions, wouldn't it?
(ie, not the heavy lifting of zm doing its thing)
fixxxermet
yes digdilem
And the load is less than the current UI uses, as the API is more opimized
So while they're both (old and new) just hitting the DB, or looking in /events, one is doing it more efficiently
A proper API also makes it (almost) trivial for the community to create custom UIs (even smartphone apps) because they're coding against the same common, documented API
digdilem
(also, the console has always been historically slow due to the many queries it needs - something I think I've mentioned could be reduced, and I think I've seen that reflected in some of your ui designs
)
fixxxermet
yup
digdilem
cool.
fixxxermet
The new UI is in the angular-ui branch
It consists of an entirely rewritten UI (no longer PHP), which talks to the API (which is PHP)
digdilem
not seen that branch (not having much time of late to take an active interest)
fixxxermet
I just pushed it this morning
pingo has quit
ic0n
fixxxermet: all the tutorials use capitalized Model, Cnotroller, etc... but the installed cake seems to be using all lowercase. How case sensitive is it? Which should I be using?
nevermind
So here is a question... is a chroot sufficient to separate zm instances?
fixxxermet
ic0n: Yeah, it uses camel case IIRC, and capitalizaion is important
ic0n: In this day and age, I'd say no. I'd go with LXC and do true separation
LXC is kernel-level virtualization
Light weight and easy to use
lxc-create -n zm01 -t ubuntu
lxc-create -n zm02 -t ubuntu
lxc-ls
and so on
pingo joined the channel
GlenK joined the channel
GlenK
hi. so I'm trying to get a monitor set up for an axis ip camera. if I go with probe it lists my camera. great. select that, go to view the monitor and it's blank.
I've also tried presets and manually filling in the location, still nothing. any advice?
oh, and it's also not clear to me how I'd do a username/password
fixxxermet
GlenK: Possible the probe and presets didn't work for that model.
user and pass are added to the host field, like username:password@hostname
or username:password@ipaddress
GlenK
k
barjac has quit
fixxxermet
which model?
GlenK
m3014
same settings I'm manually entering work with xeoma
that doesn't answer your question directly, but gives some idea how you can adjust things
by using low fps and vga res, I run 35 ip cameras on one 4-core server
zm itself doesn't have practical limits to numbers of cameras.
scotepi
ouch, I want about 80 cameras at 15fps 720p. They don't all need to be on the same server but I would like 1 server to be able to log in a view them with
digdilem
view them live, or the events?
scotepi
we technicly have a remote site but im not going to run 12 cameras through a 10mbps MPLS
digdilem
I have about 80 cams over 5 sites, but I have one server per site. it eases bandwidth a lot too
scotepi
events, maybe up to 8 live at once
digdilem
I use a system I've called montage, which isn't zm related as such - to view live streams.