|
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 |
#21
|
|||
|
|||
That OK I have a habit of mumbling
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct. |
#22
|
||||
|
||||
I fully support having the SDEPG integrated into the SageTV core.
__________________
Jeffrey Kardatzke Founder of SageTV |
#23
|
||||
|
||||
Quote:
The challenge that I see with the current SD plugin is that it's orphaned and it's based on groovy, and those of us that could adopt it, already have EPG (from legacy SageTV), so finding an owner is hard. Unless you hinting that SageTV epg is going away, then I'm not sure moving the SD plugin to core is going to get priority. I have looked at the SD plugin.. and I could move it into core, but I'd rather do it without a dependency on Groovy (I like groovy)... but at the end of day... I have EPG so it's never really getting the attention it deserves
__________________
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 |
#24
|
|||
|
|||
I agree but something should be done about the youtube menu item and the Online menu item in general. The stock install provides a broken youtube which is only going to cause confusion. The "Online" menu should have the broken items removed.
|
#25
|
||||
|
||||
Quote:
Quote:
When I built the list of things to install, I did not choose the things that "I" wanted, I chose things that I felt a newb might be interested in. For example, I don't use the SageTV web server or the mobile web server or youtube or upnp browser... but I do think these are things that many people might be interested in. Let's face it... if we have to build a list of items that we agreed that we all needed... it would be a very short list, and we'd probably agree that we don't really need layers, since it's just installing 2 plugins... and you just as easily go find those and install them. The point of a layer if really just a collection of useful plugins that make it easy to install. It's worth noting that since a "layer" is just a plugin, anyone can create their own layer, since it's just another plugin with dependencies. And Jusjoken's idea of enabling your to export your installed plugins as a layer is great example of this... it's just a simple means that creates a fake plugin (layer) that depends on all the plugins that you have installed... you can then use that to install it on another machine, etc.
__________________
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 |
#26
|
||||
|
||||
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 |
#27
|
||||
|
||||
That needs to be written as an issue on github, so it get's tracked to be fixed.
__________________
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 |
#28
|
||||
|
||||
So, I was thinking more on this, and I can see some complications if we were to move the SDEPG away from plugin and into a core feature. I still feel it needs to be a core feature - but we will run into a lucene style issue, in that in order to properly parse out the JSON data to/from objects, we should use a readily available library (natural choice would be the github neighbor google/gson). The problem is, however, that slugger already has a gson plugin in the repository, so including gson as part of the core might screw with all those plugins with the gson dependency - now, we can probably 'fix' this by simply massaging the dependencies in the repository, but it's back to one of those v7 vs. v9 issues I think.
I still think we need to bite the bullet and get this into the core somehow - it really needs to be considered the main EPG source for SageTV going forward - I'm just not sure the best approach for that though. There are only a few plugins currently dependent on GSON, so it might be able to be done 'smoothly' with some coordinated efforts between a few devs. Any ideas?
__________________
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 |
#29
|
||||
|
||||
Quote:
The other option that doesn't break V7 is to put EVERYTHING including sagetv core jars into plugins... then "gson" is owned by the sagetv core team and as other jars need to be included into core, then they can also be owned and updated by the core team. I guess the 3rd option is do the "lucene" thing and just include whatever jars we need/want and then hack through the plugin updates/messes that arise.
__________________
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 |
#30
|
||||
|
||||
If I recall, what Slugger was proposing was not to have JAR's auto-download as needed, but to have each plugin load the JARs it specifically needs into it's own CLASSPATH.
in any case, however, I don't see how moving JARs outside of the plugin system and creating some other process to ensure they are installed and updated is an improvement. The issue I was bringing up was about JARs needed BY the sagetv core, which really need to exist before plugins are (currently) processed/handled. This also would not aid the many plugins that are using JAR packaging for the actual plugin's primary work, and not just as a shared library. Perhaps the better solution is the 2nd option you alluded to: - Wrap every core-depending library into their own plugins, tied to a central (maven for instance) source - Implement a way for plugins to be pre-loaded on install (really, this could be as simple as prepackaging a version of the JAR with the install - as it already is - but include the plugin in the default sage.properties, sageclient.properties, and filetracker.properties files, so it can be recognized and managed as a plugin going forward. I don't think the previously discussed on-start plugin loader is really a good solution for these types, since the plugin manager doesn't really run BEFORE any other process, and everything starts up simultaneously - core-depending plugins might not be there before core functions that require them. transitioning to this might not be that difficult, since the SageTVPluginsV9.xml already overrides same-named plugins in SageTVPlugins.xml, we don't have to break backwards compatibility, as long as the team 'takes ownership' of the library plugins in the V9 repository. Of course, this brings up the question of whether SageTV7.xml and it's graphics resources should be handled in the same way as a pre-loaded 'baked-in' UI plugin, instead of the current self-contained updating method.
__________________
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 Last edited by Fuzzy; 07-08-2016 at 05:47 AM. |
#31
|
||||
|
||||
Quote:
Quote:
__________________
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 |
#32
|
||||
|
||||
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 Last edited by Fuzzy; 07-08-2016 at 08:39 AM. |
#33
|
|||
|
|||
Quote:
The details are fuzzy, but I had a working PoC that used gradle to manage all jar dependencies of the Sage installation and rebuilt the JARs folder on startup. All deps were pulled from maven, cached locally as needed, and then auto managed on each sage startup. The branch still exists at my github, but the details are a bit fuzzy now other than I know I ran it and it was working. I had also started working on an alternate plugin manager that dealt with generating the gradle build files for submitted plugins, etc. I think I was just getting started on this before I left and so there's not much here. Finally, I put together a sample plugin that a plugin dev would submit under this new ecosystem. Again, all the details are fuzzy now, but I didn't delete any of the repos so if the community decides to start heading down this type of direction then there's at least some reference material there for you. As for sdepg into the core, I think Fuzzy is probably right in that just writing a new SD JSON client might be easier than trying to migrate my plugin into the core. The SD JSON API itself is really straightforward. Dropping the groovy scripting functions (and really all the extras) makes sense, but I will say that even though I was the only one that I think ever actually used them, they were very, very powerful. You can deal with all kinds of upstream problems/workarounds when you can quickly and easily massage the data as it's coming in. For example, I saw someone struggling with Tour de France airings all having the same id even though morning/night were actually distinct. If you can process & analyze the data as it's coming, it becomes rather trivial to reassign a unique id to ensure both are recorded. It seems like these kinds of things are one offs/rare, but I had a half dozen or so different scripts preprocessing my epg data to handle various things.
__________________
Twitter: @ddb_db Server: Intel i5-4570 Quad Core, 16GB RAM, 1 x 128GB OS SSD (Win7 Pro x64 SP1), 1 x 2TB media drive Capture: 2 x Colossus STB Controller: 1 x USB-UIRT Software:Java 1.7.0_71; SageTV 7.1.9 Clients: 1 x HD300, 2 x HD200, 1 x SageClient, 1 x PlaceShifter Plugins: Too many to list now... |
#34
|
||||
|
||||
And for the problem with JAR compatibility relating to JSON parsing...you could probably find some Apache licensed parser which you could just change the package name on and add into the core directly for JSON parsing so it wouldn't conflict with any plugins doing it....I'd probably do it that way if I was writing the SD support myself.
__________________
Jeffrey Kardatzke Founder of SageTV |
#35
|
||||
|
||||
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 |
#36
|
||||
|
||||
Quote:
__________________
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 |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Is there a way to programmatically install plugins? | SageWizdom | SageTV Github Development | 29 | 06-20-2016 11:41 AM |
Philosophy for core vs plugins | wayner | SageTV Github Development | 48 | 08-14-2015 01:19 PM |
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 |