rbjtech 5284 Posted July 6, 2024 Posted July 6, 2024 On my db - I do not have a folder path - only the type 5 MKV (with the provider ID's) Providers Id's are there also - thus it working. So the question, is why in your db, do you have a db record for just the folder ?
sh0rty 715 Posted July 6, 2024 Posted July 6, 2024 24 minutes ago, rbjtech said: On my db - I do not have a folder path - only the type 5 MKV (with the provider ID's) Providers Id's are there also - thus it working. So the question, is why in your db, do you have a db record for just the folder ? I hope one of the devs can tell...
adminExitium 355 Posted July 6, 2024 Posted July 6, 2024 I still believe its the CollapseVideoFolders option because that matches both the observations and the settings atm. I have the same suggestion of setting up a temporary instance and scanning in a subset of the folders with it set to true to see if the plugin works after that. 1
sh0rty 715 Posted July 6, 2024 Posted July 6, 2024 (edited) 4 hours ago, adminExitium said: I still believe its the CollapseVideoFolders option because that matches both the observations and the settings atm. I have the same suggestion of setting up a temporary instance and scanning in a subset of the folders with it set to true to see if the plugin works after that. Is CollapseSingleItemFolders a checkbox feature when creating library or is this a xml-only setting? Just change the xml entry after creating library? Are multi-version movies in one parent folder supported? As far as I read in the forum CollapseVideoFolders global setting with the value false would override my test library CollapseSingleItemFolders setting set to true. So there would be no option to do a test library. If I would do, I had to build everything from scratch and perhaps that setting could be the culprit, perhaps not. Not everyone is writing in the forum and to be honest, a lot of plugins like this are awesome user projects for themselves published for a minority compared to the complete userbase of Emby. I guess I'm not the only one, just the one who tried this specific plugin with this usecase. At one time in the history of Emby (usind it since 2015) so software seemed to find it valuable to also give the conatining folder a library ID. So there must be given a way to the plugin devs which respects this older installations also imo. If @Lukeor any other dev doesn't know a solution apart from rebuilding from scratch, then it is what it is. Rebuild totally from scratch is no option for me. Edited July 6, 2024 by shorty1483
bakes82 167 Posted July 6, 2024 Author Posted July 6, 2024 @shorty1483Added more hack code to in theory account for this, for type of movies use recursive and filter out folders. Emby.TraktListCollections.dll 1
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 (edited) 3 hours ago, shorty1483 said: Is CollapseSingleItemFolders a checkbox feature when creating library or is this a xml-only setting? XML, dual setting as system.xml set to true overrides library options.xml option but now db only setting. So you have to use the api to change the collapse settings now. 3 hours ago, shorty1483 said: Are multi-version movies in one parent folder supported? Yes that is Emby's primary method with file naming scheme. 3 hours ago, shorty1483 said: As far as I read in the forum CollapseVideoFolders global setting with the value false would override my test library CollapseSingleItemFolders setting set to true. Global false allows library to be true or false. Global true overrides library option. As these have changed several times over time and believe both are false on NEW. So these setting are mixed across all older installs. 7 hours ago, rbjtech said: On my db - I do not have a folder path - only the type 5 MKV (with the provider ID's) Odd indeed as all my media show type 3 media folders. Unless they are just dropped in library folder then no type 3 folder. But system.xml option does appear to be relevant as I do have older test system with it set to true and items do not have type 3 parent folders unless nested. Edited July 6, 2024 by Happy2Play 1
bakes82 167 Posted July 6, 2024 Author Posted July 6, 2024 12 minutes ago, Happy2Play said: Odd indeed as all my media show type 3 media folders. Unless they are just dropped in library folder then no type 3 folder. How old is your setup, my guess is if you install a fresh version they go away for "movies" they are still there for series. Unless it's a "windows server" setting but that doesn't seem like it would be the case. Whatever the case is, if its no longer required emby should have removed the entries on that version that deprecated it.
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 10 minutes ago, bakes82 said: How old is your setup, my guess is if you install a fresh version they go away for "movies" they are still there for series. Unless it's a "windows server" setting but that doesn't seem like it would be the case. Whatever the case is, if its no longer required emby should have removed the entries on that version that deprecated it. Made edit above as it does appear to be related to system.xml set to true as all NEW setups will be false/false. So these flags will determine if folder exists in db or not.
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 (edited) But there is an obvious type difference as media will be type 5 (movies) and folder type 3. Edited July 6, 2024 by Happy2Play
zerodayz 8 Posted July 6, 2024 Posted July 6, 2024 Just tested with the latest release and happy to confirm that it did work and create a Movies collection. Did take quite a while to scan through the items mind. Thanks for taking the time to look into this!
bakes82 167 Posted July 6, 2024 Author Posted July 6, 2024 27 minutes ago, Happy2Play said: Made edit above as it does appear to be related to system.xml set to true as all NEW setups will be false/false. So these flags will determine if folder exists in db or not. Doesnt really explain why the GetItemList works fine for the systems in false/false (only 5s, no 3s) but in the other format, you need to pass in "recursive = true", so there it some other kind of logic in the GetItemsList method that is obscured from me as if there are both 3/5 type records in the DB and if I dont have 3s I only get 5s, why wouldnt the person with 3 and 5s still return just the 5s since they exist, see the issue, its only returning the 3s, its the dumbest thing I guess the question would be is, if you deleted the items in the db for the 3s of type movies does your system still work 1
bakes82 167 Posted July 6, 2024 Author Posted July 6, 2024 1 hour ago, Happy2Play said: CollapseSingleItemFolders Where is this setting, its not in the XML, I only see a <CollapseVideoFolders>true</CollapseVideoFolders> in my xml, and I dont have any 3 rows for movies. I also just used the "stock" settings when making the library, are you saying in your config its set to false?
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 3 minutes ago, bakes82 said: Doesnt really explain why the GetItemList works fine for the systems in false/false (only 5s, no 3s) but in the other format, you need to pass in "recursive = true", so there it some other kind of logic in the GetItemsList method that is obscured from me as if there are both 3/5 type records in the DB and if I dont have 3s I only get 5s, why wouldnt the person with 3 and 5s still return just the 5s since they exist, see the issue, its only returning the 3s, its the dumbest thing I guess the question would be is, if you deleted the items in the db for the 3s of type movies does your system still work Probably but it is all about the views as not folder view adds the folder layer. Where if you have a old install and Luke does not force a setting change you will never get the folder layer as your settings will exclude it as I have can see on old vs new system or it I wanted to test just toggle the system.xml from false to true. So this will create obstacles for plugins to overcome both structures. But all this is still beyond me as I just do trial and error to figure it out.
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 1 minute ago, bakes82 said: Where is this setting, its not in the XML, I only see a <CollapseVideoFolders>true</CollapseVideoFolders> in my xml, and I dont have any 3 rows for movies. I also just used the "stock" settings when making the library, are you saying in your config its set to false? Yes I believe system is still written and read, but library no long is written and only exist in api. Will have to retest a release portable but retested a new beta and system was set to false along with library.
adminExitium 355 Posted July 6, 2024 Posted July 6, 2024 7 minutes ago, bakes82 said: GetItemList works fine for the systems in false/false I don't believe it does work in those cases. Even @rbjtechhad it to set to true in the system.xml which is why he didn't have any type 3 in the DB. 8 minutes ago, bakes82 said: why wouldnt the person with 3 and 5s still return just the 5s It becomes a nested structure with only the movie folders themselves under the library subfolders and the actual movies nested within each of these folders, which is why you need to set the recursive parameter. 1
adminExitium 355 Posted July 6, 2024 Posted July 6, 2024 (edited) 1 minute ago, Happy2Play said: retested a new beta and system was set to false along with library Can confirm this when I setup a fresh server a few weeks ago with the latest beta at that time. I needed to set it to true manually since I don't like the extra folder layer. Edited July 6, 2024 by adminExitium 1
Luke 42077 Posted July 6, 2024 Posted July 6, 2024 1 hour ago, bakes82 said: @shorty1483Added more hack code to in theory account for this, for type of movies use recursive and filter out folders. Emby.TraktListCollections.dll 137 kB · 2 downloads I would add IncludeItemTypes=Movie to your query.
sh0rty 715 Posted July 6, 2024 Posted July 6, 2024 (edited) Finally I can also confirm that it's working flawlessly now. Thanks for the idea and bug contibutions to all participants so far! Edited July 6, 2024 by shorty1483
bakes82 167 Posted July 6, 2024 Author Posted July 6, 2024 9 minutes ago, adminExitium said: Can confirm this when I setup a fresh server a few weeks ago with the latest beta at that time. I needed to set it to true manually since I don't like the extra folder layer. This is my config: docker v4.8.8.0, I dont even see an option in the UI to "enable" nesting folder and the collapsevideo is set to true by default. <?xml version="1.0"?> <ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EnableDebugLevelLogging>true</EnableDebugLevelLogging> <EnableAutoUpdate>true</EnableAutoUpdate> <LogFileRetentionDays>3</LogFileRetentionDays> <RunAtStartup>true</RunAtStartup> <IsStartupWizardCompleted>true</IsStartupWizardCompleted> <EnableUPnP>true</EnableUPnP> <PublicPort>8096</PublicPort> <PublicHttpsPort>8920</PublicHttpsPort> <HttpServerPortNumber>8096</HttpServerPortNumber> <HttpsPortNumber>8920</HttpsPortNumber> <EnableHttps>false</EnableHttps> <IsPortAuthorized>true</IsPortAuthorized> <AutoRunWebApp>true</AutoRunWebApp> <EnableRemoteAccess>true</EnableRemoteAccess> <LogAllQueryTimes>false</LogAllQueryTimes> <EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds> <PreferredMetadataLanguage>en</PreferredMetadataLanguage> <MetadataCountryCode>US</MetadataCountryCode> <SortRemoveWords> <string>the</string> <string>a</string> <string>an</string> <string>das</string> <string>der</string> <string>el</string> <string>la</string> </SortRemoveWords> <LibraryMonitorDelaySeconds>90</LibraryMonitorDelaySeconds> <EnableDashboardResponseCaching>true</EnableDashboardResponseCaching> <ImageSavingConvention>Compatible</ImageSavingConvention> <EnableAutomaticRestart>true</EnableAutomaticRestart> <PreferredDetectedRemoteAddressFamily>InterNetwork</PreferredDetectedRemoteAddressFamily> <UICulture>en-US</UICulture> <RemoteClientBitrateLimit>0</RemoteClientBitrateLimit> <LocalNetworkSubnets /> <LocalNetworkAddresses /> <EnableExternalContentInSuggestions>true</EnableExternalContentInSuggestions> <RequireHttps>false</RequireHttps> <IsBehindProxy>false</IsBehindProxy> <RemoteIPFilter /> <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist> <ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs> <PathSubstitutions /> <UninstalledPlugins> <string>Emby.UserDeviceLimiter.dll</string> </UninstalledPlugins> <CollapseVideoFolders>true</CollapseVideoFolders> <EnableOriginalTrackTitles>false</EnableOriginalTrackTitles> <VacuumDatabaseOnStartup>true</VacuumDatabaseOnStartup> <SimultaneousStreamLimit>0</SimultaneousStreamLimit> <DatabaseCacheSizeMB>96</DatabaseCacheSizeMB> <EnableSqLiteMmio>false</EnableSqLiteMmio> <PlaylistsUpgradedToM3U>true</PlaylistsUpgradedToM3U> <ImageExtractorUpgraded1>true</ImageExtractorUpgraded1> <EnablePeopleLetterSubFolders>false</EnablePeopleLetterSubFolders> <OptimizeDatabaseOnShutdown>true</OptimizeDatabaseOnShutdown> <DatabaseAnalysisLimit>400</DatabaseAnalysisLimit> <DisableAsyncIO>false</DisableAsyncIO> <MigratedToUserItemShares8>true</MigratedToUserItemShares8> <MigratedLibraryOptionsToDb>true</MigratedLibraryOptionsToDb> <AllowLegacyLocalNetworkPassword>true</AllowLegacyLocalNetworkPassword> <EnableSavedMetadataForPeople>false</EnableSavedMetadataForPeople> <TvChannelsRefreshed>true</TvChannelsRefreshed> <ProxyHeaderMode>RemoteAddressesOnly</ProxyHeaderMode> </ServerConfiguration>
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 1 minute ago, bakes82 said: This is my config: docker v4.8.8.0, I dont even see an option in the UI to "enable" nesting folder and the collapsevideo is set to true by default. <?xml version="1.0"?> <ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <EnableDebugLevelLogging>true</EnableDebugLevelLogging> <EnableAutoUpdate>true</EnableAutoUpdate> <LogFileRetentionDays>3</LogFileRetentionDays> <RunAtStartup>true</RunAtStartup> <IsStartupWizardCompleted>true</IsStartupWizardCompleted> <EnableUPnP>true</EnableUPnP> <PublicPort>8096</PublicPort> <PublicHttpsPort>8920</PublicHttpsPort> <HttpServerPortNumber>8096</HttpServerPortNumber> <HttpsPortNumber>8920</HttpsPortNumber> <EnableHttps>false</EnableHttps> <IsPortAuthorized>true</IsPortAuthorized> <AutoRunWebApp>true</AutoRunWebApp> <EnableRemoteAccess>true</EnableRemoteAccess> <LogAllQueryTimes>false</LogAllQueryTimes> <EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds> <PreferredMetadataLanguage>en</PreferredMetadataLanguage> <MetadataCountryCode>US</MetadataCountryCode> <SortRemoveWords> <string>the</string> <string>a</string> <string>an</string> <string>das</string> <string>der</string> <string>el</string> <string>la</string> </SortRemoveWords> <LibraryMonitorDelaySeconds>90</LibraryMonitorDelaySeconds> <EnableDashboardResponseCaching>true</EnableDashboardResponseCaching> <ImageSavingConvention>Compatible</ImageSavingConvention> <EnableAutomaticRestart>true</EnableAutomaticRestart> <PreferredDetectedRemoteAddressFamily>InterNetwork</PreferredDetectedRemoteAddressFamily> <UICulture>en-US</UICulture> <RemoteClientBitrateLimit>0</RemoteClientBitrateLimit> <LocalNetworkSubnets /> <LocalNetworkAddresses /> <EnableExternalContentInSuggestions>true</EnableExternalContentInSuggestions> <RequireHttps>false</RequireHttps> <IsBehindProxy>false</IsBehindProxy> <RemoteIPFilter /> <IsRemoteIPFilterBlacklist>false</IsRemoteIPFilterBlacklist> <ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs> <PathSubstitutions /> <UninstalledPlugins> <string>Emby.UserDeviceLimiter.dll</string> </UninstalledPlugins> <CollapseVideoFolders>true</CollapseVideoFolders> <EnableOriginalTrackTitles>false</EnableOriginalTrackTitles> <VacuumDatabaseOnStartup>true</VacuumDatabaseOnStartup> <SimultaneousStreamLimit>0</SimultaneousStreamLimit> <DatabaseCacheSizeMB>96</DatabaseCacheSizeMB> <EnableSqLiteMmio>false</EnableSqLiteMmio> <PlaylistsUpgradedToM3U>true</PlaylistsUpgradedToM3U> <ImageExtractorUpgraded1>true</ImageExtractorUpgraded1> <EnablePeopleLetterSubFolders>false</EnablePeopleLetterSubFolders> <OptimizeDatabaseOnShutdown>true</OptimizeDatabaseOnShutdown> <DatabaseAnalysisLimit>400</DatabaseAnalysisLimit> <DisableAsyncIO>false</DisableAsyncIO> <MigratedToUserItemShares8>true</MigratedToUserItemShares8> <MigratedLibraryOptionsToDb>true</MigratedLibraryOptionsToDb> <AllowLegacyLocalNetworkPassword>true</AllowLegacyLocalNetworkPassword> <EnableSavedMetadataForPeople>false</EnableSavedMetadataForPeople> <TvChannelsRefreshed>true</TvChannelsRefreshed> <ProxyHeaderMode>RemoteAddressesOnly</ProxyHeaderMode> </ServerConfiguration> There is only one setting in system.xml, New installs will be false. But as mentioned true overrides library setting As for library option since it is no longer written you will have to verify per library in the api. <CollapseSingleItemFolders>true</CollapseSingleItemFolders> But default both are false on a NEW install. But are mixed across all previous systems or changed per user needs.
bakes82 167 Posted July 6, 2024 Author Posted July 6, 2024 36 minutes ago, Happy2Play said: But default both are false on a NEW install. But are mixed across all previous systems or changed per user needs. How do you change it per library is there a option on the UI?
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 1 minute ago, bakes82 said: How do you change it per library is there a option on the UI? No since /root/default/your library is no longer written you have edit via the api. LibraryStuctureService /Library/VirtualFolders/Query to see current settings for all libraries and repost /Library/VirtualFolders/LibraryOptions for the specific library.
Luke 42077 Posted July 6, 2024 Posted July 6, 2024 4 hours ago, Happy2Play said: There is only one setting in system.xml, New installs will be false. But as mentioned true overrides library setting As for library option since it is no longer written you will have to verify per library in the api. <CollapseSingleItemFolders>true</CollapseSingleItemFolders> But default both are false on a NEW install. But are mixed across all previous systems or changed per user needs. None of this should actually matter to this plugin though, unless the plugin is doing non-recursive queries. For example, if you look at the Reports plugin, it lists your movies and this report is not limited based on this hidden config switch. What you need on the query is IncludeItemTypes=Movie, Recursive=true And that should do it.
Happy2Play 9780 Posted July 6, 2024 Posted July 6, 2024 3 minutes ago, Luke said: None of this should actually matter to this plugin though, unless the plugin is doing non-recursive queries. For example, if you look at the Reports plugin, it lists your movies and this report is not limited based on this hidden config switch. What you need on the query is IncludeItemTypes=Movie, Recursive=true And that should do it. Recursive appears to be the overall issue as dev and @rbjtechdo not need recursive while @shorty1483does do to switches as it has changed so many time.
bakes82 167 Posted July 7, 2024 Author Posted July 7, 2024 3 hours ago, Luke said: What you need on the query is IncludeItemTypes=Movie, Recursive=true I didn’t need either of those setting and mine worked fine. I’m already filtering the data down to a a specific parentId so not sure what the type is doing for me since the parentid would be restricted on most cases, also you don’t use recursive when looking for series so …... Why would I use the include type when there is movie flag? What’s the difference. So the sdk logic is very much broken and not intuitive and you guys don’t provide any guides and allow systems to differ from version to version/system to system which then cause the api to function completely differently then you claim. For a commercial product the sdk is horrible, signatures on methods differ from one call to another. Some services have a get method or create then others don’t, it’s just wild. There honestly just needs to better simplified CRUD type methods, it could even just be a helper nuget that maybe is open sourced so people could PR some commonly used method like GetMovies, GetSeries, GetCollection, GetLibraries. This way they are just abstractions but can easily be referenced across multiple projects.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now