= Browser Based Setup = Page to document the design and implementation of Browser Based Setup == Requirements == * Replace Existing mythtv-setup * All backend setup to be done via a web browser connection to the backend. * Enumerate and autodetect tuners/available inputs to the best of our ability. * Enumerate and present only existing network interfaces. * Simplify setup of slave backends with sanity checking of IP address setup * Do not permit a misconfigured backend. Add enough sanity checking that the resulting product is functional, even if not perfectly configured. * Present only relevant options/modulations/frequency tables to the hardware and locale in the scanner * Validate all input, require that each step is successfully completed/configured before moving on to the next. * If advanced options are to be presented at all, they should be kept in an advanced pane-- dev nodes, etc. should be invisible to the average user since they are unnecessary to anyone not overriding the information * Track reassignment of dev nodes on system restart if possible-- store a "fingerprint" of tuner information to track changes (serial number when available, PCI ID when not, vendor/name/etc. when all else fails) == Design == == Sanity Checking == === General === * IP Addresses to be selected from a simple dropdown. If address is non-loopback, add a "Make this backend the master" button/checkbox. * Simplify slave backend setup with a simple checkbox or by detecting existing backends and offering a simple option to add this backend to the existing setup. === Capture Card Setup === * Hide DiSEqC options for incapable devices. === Video Sources === * Support the XMLTV configuration API. The API allows this config to be done in the browser (or other UI). This is preferable to redirecting the user to a shell for interactive configuration of xmltv e.g. channel selection. === Channel Scanner/Input Connections === * If we have only one video source, we don't need to even ask the user to manually map the card to source. This step can be skipped. * Display names can be arrived at automatically by taking the video source name and appending an incremented number, e.g. Freeview 1, Freeview 2. === Channel Editor/Icon Download === * Do not allow frequencies/mplexid/etc. to be edited outside of the functional range of the device. * Allow filtering by a range of criteria including service providers (DVB). This would take some of the pain out of hiding the unwanted channels (shopping/adult channels) from satellite lineups with hundreds of channels. See Kaffeine for an example. === Storage Group Setup === * Do not permit assignment of directories to a storage group if the backend user does not have permissions to read and write to them.