|
SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
Is there a way to programmatically install plugins?
Greetings,
I've been reading some good comments in some of the plugin posts (commercial skipping, etc), and I would love to try and auto install a base set of plugins as part of an automatic install... or at least ask a user and if they say yes auto install. Does anyone know how to install plugins automatically? I would note that I think the sagex api will let you do it (or possibly through the web interface which I assume is using sagex). That said, whichever plugin is providing this support has to be installed first so its a bit chicken and egg I think? A totally acceptable solution to me is something that bootstraps in the basic api (sagex) and then uses sagex to install everything else. Side note, is there a list of recommended/favorite plugins? (commercial skip, web servers, sagex, UI mod, ??) Thanks in advance!
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1 Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3 |
#2
|
||||
|
||||
While I can appreciate your enthusiasm and applaud your effort, your final question highlights the issue with such a project. Plugins are such a personal choice that asking for recommendations or favorites is problematic. If you ask 20 people what plugins they have installed or what their favorites are, I'm pretty confident you'll get 20 different answers. What people probably need is a way to discover what plugins are out there. This is currently done by asking if there's a way to accomplish a certain thing, after they've played with the stock Sage for a bit. Then, the friendly people on this forum reply with, "Oh, check out the X plugin." There might be a more effective way, but I'm not sure bundling plugins with a stock install is it. Additionally, particularly for new users, making the default installation even more complicated could wind up being a deterrent.
Now, if this is for experienced users to be able to have an installer which will add in all the plugins from an existing installation to be carried over to a new installation, I might be singing a different tune.
__________________
Server: XP, SuperMicro X9SAE-V, i7 3770T, Thermalright Archon SB-E, 32GB Corsair DDR3, 2 x IBM M1015, Corsair HX1000W PSU, CoolerMaster CM Storm Stryker case Storage: 2 x Addonics 5-in-3 3.5" bays, 1 x Addonics 4-in-1 2.5" bay, 24TB Client: Windows 7 64-bit, Foxconn G9657MA-8EKRS2H, Core2Duo E6600, Zalman CNPS7500, 2GB Corsair, 320GB, HIS ATI 4650, Antec Fusion Tuners: 2 x HD-PVR (HTTP tuning), 2 x HDHR, USB-UIRT Software: SageTV 7 |
#3
|
||||
|
||||
If there was a clean way to have a plugin auto-install, I doubt Andy would have put the prompts to install the Google Weather plug-in the way he did.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#4
|
||||
|
||||
I've given this some thought, since sagetv has gone open source. Ultimately, I'd like to build "packages" of SageTV that would be auto-configured with some plugins, out of the box.
Personally I think that sagetv might require some changes to make this happen smoothly. On thought that I had was that we could have a "manifest" in an "core-plugins" directory and when sagetv starts it would check if these plugins are installed, and if not, then install them using the plugin manager apis. I think the plugin system does need a "refresh" to have it work a little better, and this might be a good excuse to do that... For example, I'd like to specify plugin dependencies (especially jar dependecies) are just references to Maven Central archives. I'd also like to modify the plugin xml to include an architecture field like 32 or 64... so that we can create some native plugins (ie, the tuner plugins should be installed as plugins, but we'd only want to install the 32bit ones on a 32bit system, etc). And lastly, I think that since we are re-entering the "age of javascript", I think the plugin system should be tweaked to allow JavaScript as a first class programming language to extend SageTV. This would push the min java requirement to Java 8 (Java 7 could also we min, but Java 8 has much better JavaScript support with a better JS engine).
__________________
Batch Metadata Tools (User Guides) - SageTV App (Android) - SageTV Plex Channel - My Other Android Apps - sagex-api wrappers - Google+ - Phoenix Renamer Downloads SageTV V9 | Android MiniClient |
#5
|
||||
|
||||
It would be nice to add the ability to install and configure tuning plugins. One of the things that is still somewhat difficult for new users is when they need to use one of the tuning plugins that doesn't come with SageTV. It would be nice if the configuration was accessible through the UI instead of requiring the importing of a registry key or editing a configuration file.
Also adding to your idea about a "manifest." I don't know if you can already do this or not, but it would be nice to be able to export what plugins are currently installed so you can easily get all of the plugins you had before installed again after a complete reinstall or transfer the configuration over to a SageTV Client install.
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 6x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 2x 6TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.7.2 (Dual Parity + SSD Cache). Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI. Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom). Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG |
#6
|
||||
|
||||
Quote:
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#7
|
||||
|
||||
Yes, but where's the convenience in that? That's going back to the way things used to be done. The whole process should be available via the plugin system so you don't need to copy some files to the right place, then import an STVi.
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 6x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 2x 6TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.7.2 (Dual Parity + SSD Cache). Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI. Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom). Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG Last edited by EnterNoEscape; 06-15-2016 at 05:40 PM. Reason: too many plugins |
#8
|
||||
|
||||
The UI MOD section of the plugin system ARE .stvi files.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#9
|
||||
|
||||
I know that. This would still be a two part installation. If I'm not mistaken, I don't believe there any tuning plugins that actually show up in the plugins section of the UI. Are you saying that today it's possible to install a tuning plugin from the UI?
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 6x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 2x 6TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.7.2 (Dual Parity + SSD Cache). Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI. Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom). Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG |
#10
|
||||
|
||||
yes, you should be able to install just about anything. It wouldn't be two part, but it would require two plugins. Likely installing the plugin file itself via a standard plugin, and the configuration as a UI Mod. If the UI Mod is set up with the general as a dependency, than all you have to do is install the ui mod in a single step.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#11
|
|||
|
|||
Quote:
That said, what I can imagine for a new user is a web based wizard (wizard like?) selection guide. It could ask a user things they care about (skipping commercials?) type of hardware, etc. It could then provide a guided install file to help automatically install / upgrade the default SageTV to be better for them. Almost like slipstreaming a windows install or getting a curated linux distribution. If sage is to really be accessible to people, it must "just work" out of the box. Then when folks get comfortable with it, they can come ask questions. My personal opinion is that in today's world, Sage should always install with a WebUI (both mobile optimized and desktop - looking forward to the respin I think folks are talking about). I also believe that a programmatic API and commercial skipping should come pre-installed. These provide a pretty competitive system out of the box.
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1 Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3 |
#12
|
|||
|
|||
Quote:
It used to be possible to hook running windows applications through rpc calls... any of you really smart Java guys know if its possible to do this with Java? Can an external process execute a procedure in a running Sage Java instance? Specifically (or obviously), whatever call it is that the UI calls when I click install on the UI. (Edit: I probably said this wrong, can I have my own java application that loads the sage jar and executes the same "install" function that would correctly download, install and update the config file?)
__________________
Server: Centos Server 14.04 LTS - 64Bit, VM in XenServer, 2 cores of a Intel i7, 2-4 GB Ram, 8 GB system Disk, 1.8 TB storage, SageTV V9.0.4.232, HDHR Prime x 1 Clients: PC Client x 1, HD-300 x 1, AppleTV x 2, WebClient (phone/tablet) x 3 |
#13
|
|||
|
|||
The most Important plugin to "unlicensed" users is the Schedules Direct Plugin ... this should be included out of the box as SageTV needs this plugin all other plugins are optional. If you do not enter a license it should Install this plugin.
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct. Last edited by nyplayer; 06-16-2016 at 09:40 AM. |
#14
|
||||
|
||||
Quote:
We can modify the plugin system to, on startup once the plugin manager is up and running, look for a loadplugins.txt file that is a simple list of plugins by id, pull those plugins in, and then delete the text file. The installer would simply have to dynamically create this file as it needs. Put up an issue on github, and it can be looked at - I don't actually foresee this being incredibly hard to implement.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#15
|
||||
|
||||
Agreed. This is critical.
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 6x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 2x 6TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.7.2 (Dual Parity + SSD Cache). Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI. Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom). Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG |
#16
|
||||
|
||||
I should say that plugins can definitely be installed programmatically; the way the STV does it right now is through API calls...so those API calls can be executed by anything (STVI, sagex, startup runnables). You just need some kind of initial hook in that will do this.
__________________
Jeffrey Kardatzke Founder of SageTV |
#17
|
||||
|
||||
Quote:
__________________
Buy Fuzzy a beer! (Fuzzy likes beer) unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers. Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA. Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S Other Clients: Mi Box in Master Bedroom, HD-200 in kids room |
#18
|
||||
|
||||
May be critical for you, but not for anyone outside the US
John |
#19
|
||||
|
||||
I thought that Schedules Direct was expanding/has expanded their EPG support to other countries. It's not really that important to me personally since I have a SageTV license, however I believe that all EPG support beyond what the licensed users get is very important to the future of the SageTV platform (not just for US).
Do you have an EPG service in mind that you would like to see available in SageTV?
__________________
SageTV v9 Server: ASRock Z97 Extreme4, Intel i7-4790K @ 4.4Ghz, 32GB RAM, 6x 3TB 7200rpm HD, 2x 5TB 7200rpm HD, 2x 6TB 7200rpm HD, 4x 256GB SSD, 4x 500GB SSD, unRAID Pro 6.7.2 (Dual Parity + SSD Cache). Capture: 1x Ceton InfiniTV 4 (ClearQAM), 2x Ceton InfiniTV 6, 1x BM1000-HDMI, 1x BM3500-HDMI. Clients: 1x HD300 (Living Room), 1x HD200 (Master Bedroom). Software: OpenDCT :: WMC Live TV Tuner :: Schedules Direct EPG |
#20
|
||||
|
||||
I do agree that ideally EPG plugin selection would be part of the installer so that a new user could just select which EPG source they wanted to use, and configure it easily.
An alternative option would be to have that be part of the setup wizard (in the STV) that's run the first time you run Sage. |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Trying to install a few plugins but some of the dependencies are failing to download | craigap | SageTV v7 Customizations | 5 | 07-17-2015 09:23 PM |
Programmatically add timed recordings to SageTV? | hagur | SageTV Customizations | 13 | 11-07-2011 07:11 PM |
Programmatically detect a current recording? | rjudge | SageTV Software | 2 | 03-05-2011 08:59 AM |
How do plugins get into the list of plugins? | michaeldjcox | SageTV v7 Customizations | 4 | 06-12-2010 03:05 AM |
How/Where to install plugins on the Mac? | cnr1089 | SageTV Mac Edition | 0 | 04-10-2009 10:40 AM |