Jump to content

New library does not create config directory with options.xml


Recommended Posts

Posted

Hi, I run Emby 4.8.80 on Linux. When I create a new library, usually a new file under /config/root/default is creates that contains an options.xml file. For some reason, this directory and file isn't created for me. I need it as I want to <CollapseSingleItemFolders> to false. Is there any change in Emby that causes this directory and file to not be created any more? I have tried stopping emby, starting emby, changing the library type etc., this file simply does not appear as if it is stored somewhere else now. I'd be very happy if someone could help me on that. If there really is a change, I'd like to know how to set the CollapsesingleItemFolders to false now.

Thanks a lot!

Posted

HI, the settings are in the server database now.

Posted (edited)

Ah thanks, found it. In case anyone else is searching for this: the settings are now located in /config/data/library.db in the table ItemExtradata.

Edited by bnz99
  • Thanks 1
  • 2 weeks later...
Posted

I hope it's ok to add a subsequent question: I changed the paths in ItemExtradata table (e.g. from "/x-drive-movies" to "\\server\x\movies") and the new values are properly reflected in the library overview in the frontend. However, when I try to run a library scan, the logs show that still the old path is searched (and not found):

Quote

-02-13 23:53:23.195 Debug SqliteItemRepository: GetitemById UserRootFolder 2 Media Folders
2024-02-13 23:53:23.210 Error ProviderManager: Error validating children for x-drive-movies 278576 /x-drive-movies
    *** Error Report ***
    Version: 4.8.1.0
    Command line: C:\Users\andre\AppData\Roaming\Emby-Server\system\EmbyServer.dll
    Operating system: Microsoft Windows 10.0.22631
    Framework: .NET 6.0.26
    OS/Process: x64/x64
    Runtime: C:/Users/andre/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
    Processor count: 8
    Data path: C:\Users\andre\AppData\Roaming\Emby-Server\programdata
    Application path: C:\Users\andre\AppData\Roaming\Emby-Server\system
    System.IO.DirectoryNotFoundException: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\x-drive-movies'.
       at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
       at System.IO.Enumeration.FileSystemEnumerator`1.Init()
       at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options)
       at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized)
       at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized)
       at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
       at System.IO.DirectoryInfo.EnumerateFileSystemInfos(String searchPattern, EnumerationOptions enumerationOptions)
       at Emby.Server.Implementations.IO.ManagedFileSystem.EnumerateFileSystemInfos(DirectoryInfo dir, Boolean recursive)
       at Emby.Server.Implementations.IO.ManagedFileSystem.GetFileSystemEntries(String path, Boolean recursive, FileSystemCredentials credentials)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntriesInternal(String path)
       at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
       at MediaBrowser.Controller.Providers.DirectoryService.GetFileSystemEntries(String path)
       at MediaBrowser.Controller.Entities.BaseItem.GetFileSystemChildren(IDirectoryService directoryService)
       at MediaBrowser.Controller.Entities.Folder.GetNonCachedChildren(IDirectoryService directoryService, LibraryOptions libraryOptions)
       at MediaBrowser.Controller.Entities.BaseItem.ValidateChildrenInternal(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, BaseItem[] collectionFolders, LibraryOptions libraryOptions, Dictionary`2 newItemIds, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
       at Emby.Providers.Manager.ProviderManager.RefreshCollectionFolderChildren(MetadataRefreshOptions options, CollectionFolder collectionFolder, CancellationToken cancellationToken)
    Source: System.Private.CoreLib
    TargetSite: IntPtr CreateDirectoryHandle(System.String, Boolean)

Any assistance in this regard would be much appreciated!

Posted
10 hours ago, Error33 said:

I hope it's ok to add a subsequent question: I changed the paths in ItemExtradata table (e.g. from "/x-drive-movies" to "\\server\x\movies") and the new values are properly reflected in the library overview in the frontend. However, when I try to run a library scan, the logs show that still the old path is searched (and not found):

Any assistance in this regard would be much appreciated!

Hi, it's because there are database entries in the database pointing to the old locations. There is no official support for what you're trying to. It's best to use the function in the user interface.

I understand you're looking for a quick path change, but we don't have that feature yet, although we do recognize the need for it.

Posted

Thanks for the reply. Is my understanding correct that I cannot change the path in the UI but only add a new one and remove the old one?

Posted
6 hours ago, Error33 said:

Thanks for the reply. Is my understanding correct that I cannot change the path in the UI but only add a new one and remove the old one?

Correct, for now at least.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...