UserData profiles (databases and thumbnails cache) on a SMB/Samba network share?
#31
Make sure that you only use one "master" where changes are made. If you make changes on two xbox's, you won't be able to reconcile the database changes. (Well you could, but it's going to be alot more complicated. You'd need to script something to merge the database changes together on the NAS.)

And you can do some relatively simple checks to see if something has changed within Userdata. You can produce a hash value of the filenames, and or their content. I would suggest only doing it by filenames for everything except the actual databases. You can then hash the content of the database files as an extra check.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#32
Hey all,

Search for the master/slave solution on the forums. What is the current status using shared databases on a SMB share?

Regards,
joe
Reply
#33
I have a NAS that houses my media sources.

What is the easiest way to share the SAME userdata across the network?

If I setup my xbmc in pc1, how do i seamlessly setup pc2 to use the SAME setup as PC1?
Reply
#34
It is not currently possible, see => http://forum.xbmc.org/tags.php?tag=synchronize
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#35
vskatusa Wrote:I have a NAS that houses my media sources.

What is the easiest way to share the SAME userdata across the network?

If I setup my xbmc in pc1, how do i seamlessly setup pc2 to use the SAME setup as PC1?

For a one time thing, you can just copy the %appdata%\xbmc folder over. If you want to keep them in sync, a simple script around robocopy would do the trick. You could write a 3 line batch script to 1. robocopy a userdata folder on the NAS down to the PC (skiping unchancged files), 2. "start /wait xbmc" 3. copy userdata folder up to NAS (again skiping unchanged files). Example is for Windows, but the same basic thing would work in any OS.

That way you copy down the latest version at startup, keep it locally for fast access, then send it back to the server with updates when you're done. You also avoid two instances of xbmc stomping on each other (or being slow to access a remote db).
Reply
#36
Question 
Hello all,

I would like know if is possible to store the XBMC database on another PC.
The idea is to install XBMC on a HTPC and store the database on a NAS which is daily backuped.
So in case there is a problem with my HTPC like a crash disk, I have the database yet.
Reply
#37
If you use the portable mode you could have the entire install on share on your NAS. But the downside to all that is speed (LAN vs. HDD).

If you just worry about losing your XBMC setup when the disk crashes you could run a backup script that keeps a copy of your profile in a NAS share. I use the free Microsoft SyncToy on one machine. It is pretty simple and can do that easily. Just create a folder pair and setup a task which runs every week or day.
Reply
#38
I have been looking at the many requests to allow multiple instances of XBMC to share a single database. And they all basically are requesting the same... at least in my opinion.

A server that holds the data related to the media files and serves the files up to the client and a client that does all the beautiful GUI stuff. It would resolve the but what about machine A not being able to reach media on a disk in machine B problem and it resolves the but this network path is not available to all machines.
With a bit of imagination one could even setup a local instance of the server component that deals with the local files where it refers to the central server for any data it might be missing. That way you get the local files being handled by the local server, or even a single instance possibility without compromising the ability to have a central server setup.
With a bit more work one could even make it so that one could set files to be shared with the rest of the network which depending on setup makes the file available from your local computer (your local server serves it to the central server which serves it to the other client) or for the server to pull the file over and store is centrally possibly even removing the file from the local disk.

The huge advantage would be we finally have an unlimited number of clients that can use a central database, even if the central DB is not available one could still work with local files. As well as splitting the code in a presentation and a server part which will mean easier changes to both parts as they are far less interwoven.

Of course there will be all kinds of impossibilities in what I just suggested so please shoot the idea down or improve up on it of course, but I would be very interested in finding out how unrealistic this idea is and why.
Reply
#39
This makes sense (although you should note I'm not one of the devs Big Grin) hiwever it would need to be done transparently by the installer or there's a risk that XBMC could become the next MythTV in terms of complexity!
Reply
#40
My suggested solution has almost the same approach - but with less limitations.

- A distributed ressource system (not really client - server but peer to peer)
- Storage devices with no media server functioality and even dumb RO media like CD / DVD are supported the same way.
- The meta-data resides (if possible) on the media ressource and will be dynamically added / removed from the players UI on conection changes
- local oflline mirror of that ressources DB's can even show offline content in the xbmc UI when disconnected, so you can add all your DVD' collection to the database easily.

No central dedicated server necessary, any OS / Device can be used to extend functionality.

any connection means are supported (already in xbmc by the OS or directly):

- SMB
- NFS
- FTP
- WebDAV
- DAAP
- USB Drives, Flash Memory,...
- FireWire
- eSATA
- NAS / SAN
- iSCSI
- UPnP

The content is imported into the db, when a ressource goes online and removed from the working set lokal db when it goes offline.
A Computer can populate the ressource to the network via network shares to all other xbmc clients.

This is a any-to-any scenario that prevents the setup from performance bottlenecks on a single server instance and uses any available media storage in a consistent way.

And the best thing is - only a few extensions are necessary to make it happen. XBMC standalone does not need to be modified to much. Just a new deamon and some scripts can do the work.
Reply
#41
@cando, I have to admit I like your idea certainly because it removes performance bottlenecks like a central server which of course could be avoided as well in my suggestion by having the local clients share data between them selfs rather then using the server for that (depends on the network). But in may situations a central server is simply becoming the only way to go. Have a look at Microsoft, Sony, Dell, HP and so many other huge companies that are all trying to push the digital living room or digital home. All their solutions come with a central server that stores the vast amounts of media files we all tend to collect, rather then storing them on individual files.

In the end many a serious setup will look for a central point of storage both from backup point of view as from a pure convenience point of view. So from that perspective I think that you will not see a decrease in the number of people asking for a central storage solution.
Besides your suggestion could still be used in my suggestion it would actually complement my idea quite well.

The big advantage I see with a central server setup is for instance the day I add a PVR or even a few PVR's to the setup. The central server would then be informed about the PVR and how to talk to it. From that point on all clients would be able to schedule recordings on this PVR as the central server will advertise this new capability to the rest of the network. If I have a PVR with 3 tuners or 3 PVR's with 3 tuners then that is no problem the central machine would inform the network about the PVR availability and would schedule the recordings on the first available PVR.
The same with what in the near future will certainly start making its way to the media center home automation. The central machine will deal with all connected devices and will advertise them to the network, all the clients will have to know is that they can now switch the light in the hall on and off. This would also allow for specific rights and restrictions per client setup on the server.
Say you don't want your kids to to be recording anything on the playboy channel or even to be able to see the fact that mommy and daddy have a subscription to this channel via the EPG then the central server could simply filter this out, and block recordings of shows after say eight PM and all recordings for that one special mommy daddy channel. As well as restricting the home automation options to only the kids room rather then the whole house.

I really see no other way for a future media center to really have a center and to have clients hanging of it rather then having individual islands that all do their own thing.
Reply
#42
I see your point - and actually I have such a set up at home - not so high sophisticated - but centalized.

So I have a central media server with a 12-way sata2- controller from rocketRaid and a lot of HD connected - in the rooms there are Showcenter 200 Clients, while the server runs windows + pinnacle media library streaming server with SQL Express DB.

The good thing is - everything is central on one storage, well formatted, administered and sorted.

The bad thing is - if my wife want to listen music or watch their favorite shows while ironing in her room - this monster needs to be powered on (and consumes a lot of Energy). A decentral solution will have smart client with distributed content - so for that case all content my wife likes will be stored on the preferred player - but is accessible in the whole house if necessary.

The huge beast will be powered on only to watch some of the movie's collection. Current conten (recordet TV shows, one-time watch-and-delete-movies would be recorded / played by thin and energy efficient players in the room where needed - and if they are worth saving them for a second session they can be archived to the central repository...

My proposal does not deny the need of a large central storage - it includes it as a special use-case. However everybody can have his preferred content locally and connect to the central instance (or other storages) if needed.

The proposed set up is just more flexible and includes the opportunity of central instances.

I do have SAT-PVR boxes with twin receivers too and also sat receiver cards in a pc - so I can record tv too and cut off all adds / store the movies to my storage at any time. I also have "extendet" this boxes with hot-plugable HD drives (they do not have network card unfortunately).

The second thing is - many people do not design their entertainment system from scratch. It just grows with the content. Many have their movies on USB HD devices, other do have large DVD collections - not willing to rip all the content to expensive Hardware - the distributed approach would support them too in a great way.

If one wants to have only a central storage - no matter - just do not store things locally (network boot of a thin client with no HD in it - eg with nVidia ION Boards).

But you still will have the opportunity to just plug in a USB Thing (from a friend or relative having xbmc too) and enjoy the content directly from the library with no copying / rescanning.
Reply
#43
Question 
So my question is two-fold.

1.) I'm aware that XBMC stores a lot of its information in a SQLite database. Out of curiosity, would it be possible to store that database on a server (along with all the media) rather than the local XBMC machine? This way it would be possible for multiple XBMC boxes throughout a home to access one centralized database. And thereby hopefully cutting down on scanning the same media multiple times for different XBMC boxes.

2.) If this is something that is possible (I'm well aware that it could be unfeasible), how would one go about configuring XBMC to use this centralized database? What would be the pros and cons of having a unified "XBMC brain" that is accessed from multiple points?

Part of the reason I'm asking is that it strikes me as ideal to keep all of my media in one place - it's easy to manage, easy to locate, and duplicates are easy to deal with. As an extension of that principle, I feel that keeping the XBMC database for all of that media in a central place would help keep the different XBMC boxes I'm looking to setup throughout my home more unified and easier to manage.

The other reason I'm asking is that, perhaps by having a centralized database on a server, it might be easier to build different web apps around XBMC. For example, displaying a media collection on a website, or generating an RSS feed of the most recent additions to a media collection.

I know I'm probably reducing a big technological idea to a few simplistic questions, but any insight on the matter would be supremely appreciated. Thanks in advance! Smile
Reply
#44
I thought the whole purpose of linux was so multiple users can use the same network than in the administrative mode changes could be made throughout the entire system.linux i also thought that the admin. could set up user account that i am sure can be customized if not by the user then the admin.
Reply
#45
CallMeCam Wrote:1.) I'm aware that XBMC stores a lot of its information in a SQLite database. Out of curiosity, would it be possible to store that database on a server (along with all the media) rather than the local XBMC machine?

Yes. I have submitted patches to allow this (initially via mysql). See ticket #8169.

CallMeCam Wrote:2.) If this is something that is possible (I'm well aware that it could be unfeasible), how would one go about configuring XBMC to use this centralized database?

The ticket explains it all.

CallMeCam Wrote:2.)What would be the pros and cons of having a unified "XBMC brain" that is accessed from multiple points?

The main pro's is the single location for all information and no need for crappy scripting or replication. It can facilitate a number of other nice features (e.g. "Follow Me") at later stages.
Reply

Logout Mark Read Team Forum Stats Members Help
UserData profiles (databases and thumbnails cache) on a SMB/Samba network share?0