A couple of questions about SearchLite
I'm a big fan of NextPVR.
The standard search is basically a title search. For me, I'm interested in browsing what's on TV by Genre. In my opinion, searching by title or keyword is fine, but when I don't know what I want to see, being able to search by Genre is invaluable. Using TVListings and SearchLite and the NEWA web interface get me what I want and I think there's a way to improve upon what we have.
I've got a few background architecture questions and then I'll get to my main question concerning SearchLite's UI.
I'm running SearchLite with a build date of 10/24/2015. Is that the most recent build?
From what I've read in the Wiki, SearchLite was built to utilize NEWA. Why was it built being dependent upon NEWA rather than querying the database directly? I'm guessing the built in search just queries the database?
I get the impression that NEWA has it's own database. Is that true or is it just a web server? If it has it's own database, why is that the case?
My thinking in asking these questions is it seem more efficient to have a single database.
I understand that GenreLite makes a query against the database and then creates it's own database that SearchLite uses to display Genre information. Why isn't it reading the database directly which already has the Genre information and just displaying it that way?
I understand that it was built in 2011 and the architecture was different then so the design was the best decision at the time.
If we were starting over, would a search plug-in be built to access the database directly?
Since the modern web interface is being developed and improved, would/could it (theoretically) make sense to remove NEWA from the core code when the features are the same?
I noticed that SearchLite UI doesn't match the other NextPVR modules such as Recordings. Is there interest in tweaking the UI to match?
Taking that a bit further, I can see how it would make sense to remove the default title search with a more powerful search PlugIn.
Putting it all together, if we're going to go to the trouble to make significant changes to the UI, would it make any sense to remove the dependency upon NEWA and have it access the database directly?
I have attached a later build not sure if it is better, it could have some debug code included.
The main reason for using NEWA is the NextPVR database is not client/server and sqlite access can be extremely slow on network clients. Web service interfaces aren't really related to the any of the browser presentation interfaces (ie modern) they simply allow me to make most of the database and API calls at local speed.
NEWA does allow saved queries that can be requeried and SearchLite provided access to these too but other than that web services is using the NextPVR database and local NextPVR APS's for all of it's calls.
I am not sure what power you are looking for Searchlite may default to Title search but does allow Description and Cast searching. With genreLite easy Genre and Movie lists (without searching) are displayed.
For the genre search I could just query the database but that implies knowing the genre and typing it and then having to check each row for the match. genreLite creates a few small tables that allows much faster and direct access to the NextPVR EPG data. It also allows me to easily filter genres for movies in the guide. Adding genreLite it to postUpdateEPG.bat is trivial so I am not really sure why a user would care that it is separate database and not additional tables or indexes in npvr.db3
To answer your last question while the UI could use a refresh to me it would make no sense to simply directly database access npvr.db3
Thanks for going the extra mile and giving me the "why". Really appreciate it and really appreciate the most recent version.
No problem. If you have any suggestions for the UI or even want to mock some skins up yourself feel free. I am open to making the addon better for the few people that use it.
To get GenreLite to run after the Epg update, would I simply do the following?
1. Create the file "postUpdateEPG.bat" in the "C:\Users\Public\NPVR\Scripts" directory.
2. And the file would contain the following code:
C:\Program Files (x86)\NPVR\GenreLite.exe
Does that look right? No quotes or anything?
And does the service call the .bat so no one has to be logged in?
If someone want's to give me wiki access, I can add the most recent SearchLite application and add instructions for adding GenreLite, etc. I do documentation for a living so it'll look decent.
Quotes are actually needed so in your case on 64 bit Windows it is
"C:\Program Files (x86)\NPVR\GenreLite.exe"
If you want a 32 & 64 bit line for PostUpdateEPG.bat it is
The service will call this automatically after the nightly update is done, so no user has to be logged in.
If no one sees your comment about wiki access go to the documentation sub forum and make another request.