View Full Version : XBMC "Server" - centralized XBMC management for multiple XBMC devices/platforms?
Would it be feasible/possible/an interest for an XBMC "Server" this server would be on a local PC or NAS device and would recognize devices that are netbooting , save the device(s) HW settings and run a centralized version of XBMC ala Linuxmce (http://wiki.linuxmce.org/index.php/User's_Manual#Media_Directors). Or go the way similar to VMWare VDI (http://www.vmware.com/products/vdi/faqs.html)
This way all of the devices (XBOX's, PC's laptops, Webtablets) would run the same version of XBMC, same settings, fanart/thumbs, profiles etc.)
With the webserver enabled on the "server" (PSP's iphones, smartphones) could be used as remotes to control these devices in different rooms like an ORBITER used HERE (http://wiki.linuxmce.org/index.php/Orbiters)
I think this is a logical step in the evolution of the remarkable XBMC cross platform program. More and more people have multliple XBMC devices. I have 3 XBOX's 2 win laptops 2 win PC's and 2 linux PC all running XBMC. So a solution along the lines above would benefit me and others like me greatly.
Can this be done and how?
By no means am I a scripter or developer - but I would like to pitch in if there is anyone willing to work this, I have a networking background.
I posted this yesterday in another thread. I see people asking for syncing features; profile mgmt; userdata updating between multiple boxes; centralized admin; "the ability to watch a movie in one room stop it, then continue where it left off in anothere room". etc on this forum.
Would this be a viable option for the future evolution of XBMC? a Whole home solution, a dedicated server. with "roaming profile" type of features.
niko7865
2008-09-18, 19:20
I think it would be possible on linux at least. Have a 'central' install of xbmc on a pc that is always on, share the userdata folder (through nfs or something) and mount that share on all your other linux xbmc's, then erase the current userdata folder on all of the client xbmc, and replace it with a symbolic link (ln -s) to wherever the 'central' userdata folder is mounted.
Having them all share one userdata folder probably will cause problems if you use more than one xbmc at a time, however it should sync the library/settings/seen&unseen. I think resume data is stored there too, so you could stop a movie on one xbmc, turn it off, go to another one, select that same movie and hit 'resume' and it should start playing from where you left off on the other xbmc.
troutbum
2008-09-18, 22:32
+1 for this idea, it can be put together in linux with symlinks and server shares, but it would be nice to have this officially supported.
You could essentially designate one install of XBMC as the master DB and userdata directory, When designated as a master XBMC could make the userdata directory when you installed on a second machine you would be able to designate a symlink or pointer to the master install. Would be nice if it could handle concurrent changes and multiple users.
theoretically, the userdata folder could be shared between xbmc systems. the biggest issue is the database. for this to really work, xbmc needs to move away from sqlite to a true database server (mysql, postgre, whatever.) once the database is abstracted away to a pure remote sql connection, this is easy as everything else is just files (xml based settings, or cached thumbnails.) and there would be a trade-off of speed.
ultrabrutal
2008-09-19, 00:31
http://xbmc.org/trac/ticket/4826
http://xbmc.org/trac/ticket/4826
that would be a great step forward!
I would like to go a step further and have 100% centralized administration, ALL updates/config would be handled on the server.
for example I have numerous XBMC's running on multiple platforms, today beta1 was released. So now I would have to FTP to all of my xboxes, pc's etc. to upgrade. it can be a bit time consuming.
should I open a ticket in TRAC?
Gamester17
2008-09-19, 19:25
Is this suggestion not the same as this?:
http://xbmc.org/forum/showthread.php?t=23314
...and a bit similar to this as well http://xbmc.org/forum/showthread.php?t=15971 and this one does IMHO seams much more reasonable from my point of view as it sounds more practical to implement, the end-user would simply set one XBMC instance as the 'master' and all the other XBMC instances as read-only 'slaves', then the userdata would synchronize out from the master to the slaves in realtime or update when they boot if they been turned off.
???
Rand Al Thor
2008-09-19, 21:46
userdata would synchronize out from the master to the slaves in realtime or update when they boot if they been turned off.
???
Only issue I could see with that is that watched/unwatched wouldn't get updated if you watched a movie on one of the slaves, correct?
ultrabrutal
2008-09-19, 22:34
wells, xbmc instances could auto update from the internet. no need for a server here. this would benefit users with only one xbmc
First off thanks gamester!
Clearly your search skills are better than mine :;): and from the looks of it you have been fielding similar requests questions for awhile so I apologize if it seems redundant.
to answer your question yes and no??
I have searched these forums and most requests are for the userdata folder to be sync'd up, via a NAS device. My suggestion I believe is different because the system 'XBMC' as a whole would be installed locally on 1 machine and any changes would be made there only. I know it sounds lazy but it gets time consuming.
MY SITUATION:
I have 4 kids, either with a PC or XBOX and a wife with PC and laptop, then my pcs are all running XBMC (this is the best thing since motion pictures itself :grin:) .
When I make a change to one especially in the realm of new skins and plugins it becomes " I want that too daddy!" so now I spend forever and a day turning them on and updating them.
SOLUTION (maybe):
I would like to only make 1 change on 1 box(server) and when they turn on XBMC the changes will be there because it (an image/snapshot) is being ran from the Server. XBMC is small enough to be ran over LAN via PXE and the media sources still remain on the SAN or NAS device.
@ ULTRABRUTAL -
I forgot... You are absolutely right about the updates auto DL'ing from the interweb it can be done using the t3ch script (I've been having issues getting that to work properly with my setup :sniffle:)
I hope someone takes on these type of feature requests. As i said before Im willing to help, I just need a "lead" with experience willing to do it.
I think alot of us users would be willing help we just need sound guidance
It seems intense but I believe it can be done. Is it Practical? im not sure. but it would save me (and others) so much time.
Thanks again you guys.
I hope I made "some" sense
Gamester17
2008-09-20, 23:30
userdata would synchronize out from the master to the slaves in realtime or update when they boot if they been turned off.Only issue I could see with that is that watched/unwatched wouldn't get updated if you watched a movie on one of the slaves, correct?Correct, but in my head I imagine an XBMC solution like that could have the potential of being made popular as a commercial solution for hotels, hospitals, airplanes, and other internal on-demand TV services, and for those type of solutions they would only need instances of XBMC in which the gets userdata gets restored from the master after use, after a reboot if you may.
:cool:
I imagine an XBMC solution like that could have the potential of being made popular as a commercial solution for hotels, hospitals, airplanes, and other internal on-demand TV services
For this a 'Kiosk' Mode would most definitely need to be established as discussed in other threads, correct?
Rand Al Thor
2008-09-21, 18:22
Correct, but in my head I imagine an XBMC solution like that could have the potential of being made popular as a commercial solution for hotels, hospitals, airplanes, and other internal on-demand TV services, and for those type of solutions they would only need instances of XBMC in which the gets userdata gets restored from the master after use, after a reboot if you may.
:cool:
While I definitely agree with you that this would be the perfect solution for instaces such as Hotel implementation as you mentioned previously where keeping track of watched/unwatched would not make any sense, I would still like to see a way of keeping multiple databases up to date on a smaller scale. For example I will end up having 3-5 instances running in my house with about 3 unique user accounts. It would be nice to centralize and be able to keep at least a small number of xbmc devices synced.
One other thing I wanted to mention on this topic. Keeping the databases centralized is pretty much a given but we should give some thought to guisettings.xml. It should either be left on the individual instance or have some way of making a separate guisettings.xml for each xbmc device NOT just for each user. Some people might have a 1080p monitor in the living room and 4x3 standard def tv in the bedroom. You would definitely want different resolution, skin, etc. Just some thoughts I had been mulling around. Cheers.
I'm using XBMC on 2 PC's. My computer is the host for all the movies and the other one use a SMB share.
Is it possible for the other PC to use the same library from my computer, instead of creating another one?
cellopoly
2008-09-21, 20:06
I have the same type of setup and I use the XBMC Media Companion (http://xbmc.org/forum/showthread.php?t=33961) to create nfos for all my videos. Then just have XBMC library auto update on load.
That exactly how i used it until now, but now there is a new scrapper that get info in my language so I prefer use it over XBMC Media Companion.
So I need another idea to work around it.
I'm using also multiple XBMC instances and it would be great if i could put the library on a shared network location.
I'm not sure what will happen if you fire 2 instances of XBMC and each one will try to lock any of the library files at the same time. But you can edit userdata\profiles.xml and change the location of <directory/>, ie.:
<directory>E:\Whatever you want</directory>
This would make XMBC to save \Database, \Playlist, \Thumbnails and \Visualisations folders at the given location. You can put there advancedsettings.xml, favourites.xml and sources.xml files as well.
althekiller
2008-09-22, 01:42
Problem with the current way things are handled in instances like; start XBMC0, start XBMC1, update XBMC0, XBMC1 won't see updates cause it doesn't know anything. Problems become increasingly problematic with stuff like watched. There would have to be a centeral server that handles the transactions and pushes and pulls as necessary. There is another thread about this, search "OFDB".
EDIT: "ODBC" not "OFDB"
Gamester17
2008-10-15, 15:08
If XBMC already had ODBC support then perhaps "Miniconf" could be implemented as a base to manage the other requirements?
???
http://moblin.org/projects/miniconf
Miniconf a lightweight version of a gconf style key management system which trims out all features that are unnecessary for the mobile environment. Mobile platforms tend to be decentralized multi-user system with users logging in one at a time. Global administration is usually fixed by the OEM with administrative control of the user environment shifted to the user him/herself.
Miniconf operates from the perspective that each user's environment is unique and separate. It satisfies the following basic requirements:
1) Settings Key/Value pairs: An application running on the system should be able to create an unlimited number of settings keys which support all the basic types that DBUS supports: integer, unsigned integer, string, boolean, double, and arrays of the preceding.
2) Notifications on change: Keys should support registering callbacks which send notifications on changes to the key, reads, writes, or deletes.
3) Readable Database: All the keys, their owners, actions, and permissions should be stored in a database for retrieval on boot or applications settings manager restart. The database will reside in the user's home directory.
4) Key Ownership: The application which creates a key should be recorded as the owner of the key (by recording its binary path) and should be able to set notify, read, write, and delete its keys at will.
5) Key Permissions: An owner application should be able to establish permissions on whether other applications can register for change notify, read, write, or delete a key.
6) Control Keys: An owner can designate a key as controlled, which disables writes/deletes for apps other than the owner. When a caller changes the key, the owner is notified with the requested change, and decides whether to allow the change by either returning fail (which sends a fail to the caller), or by returning pass (resulting in the change and notifications for reg'd apps).
The first three requirements are also satisfied by gconf, but with gconf the database is stored centrally in /usr/share and is mirrored to every user's home directory. For our purposes we will maintain a single database in the user's home directory, one that is visible only to that user. The last three requirements are additions to gconf functionality that improve security and expand the functionality of key/value pairs.PS! Checkout this other related but still off-topic feature suggestion => http://xbmc.org/forum/showthread.php?t=24415
AaronG85
2009-01-22, 05:32
Ok i know alot of people here only use XBMC on one machine or two. But my problem is im currently in the middle of building a 5 bedroom house and have 6 LCD screens (1 in each room + the lounge room) and they all are going to have small computers connected to them for the kids internet/games/etc. But what i was wondering that instead of setting each one up with a separate XBMC i was wondering if there is a way that i can setup my lounge room XBMC as the main one and then on each of the other computers can just extend it to them.
smcnally75
2009-01-22, 14:00
You already can connect them all together via UPnP. You will, however, still need to setup XBMC on each one and store games locally on each one since the games can only be played from the local drive.
AaronG85
2009-01-23, 09:13
the internet and games are fine stored locally they can just exit xbmc and load there games but the main thing is letting them access XBMC but without the chance of them changing/deleting/moving something.
I don't have any experience in this so I won't act like I do.But couldn't The Gemini server(for xbox) be implemented as a application somehow to run beside XBMC?Like I said I have no Idea if any of what it was or is can even be used in this situation.If I am way off please ignore me.:)
n1ght3y3s
2009-05-04, 07:00
Hi there everyone.
I did a little poking around but couldn't really find anything that fit what I wanted to do.
I have a main HTPC installation with XBMC on it and it it running beautifully. What I want to do is install it on my bedroom PC and share the database/fanart across the two PCs. Is this at all possible ?
Thanks
althekiller
2009-05-04, 07:08
There are several threads on this. ATM, the only *way* to do this would be to put the profile data on some network share and point all installs to this. However, you will likely run into the obvious latency and concurrency problems. If you want more detail on what's been discussed before just search the forums for things like "share database" and you should finds all sorts of info.
Maybe a case could be made for making a sort of API interface between the data store and the rest of XBMC, it would not change the way XBMC works right now but it would offer further development posibilities.
As soon as there is an API between the data store and the rest of the system one could take out the datastore and replace this by a system that is able to handle multiple users and multiple locations.
I have no idea how hard it might be to do something like that in the code (never looked at that part of it before) but I think it would be a worthy investment of time and effort that could open up a whole new realm of posibilities for displaying and using the data stored in the DB.
Gamester17
2009-05-04, 17:01
Maybe a case could be made for making a sort of API interface between the data store and the rest of XBMC, it would not change the way XBMC works right now but it would offer further development posibilities.
As soon as there is an API between the data store and the rest of the system one could take out the datastore and replace this by a system that is able to handle multiple users and multiple locations.Yes I believe that something like ODBC (Open Database Connectivity) database abstraction layer would be needed to allow multiple client connections to the same database at the same time, this has been discussed before, see:
http://xbmc.org/forum/showthread.php?t=37449
and
http://xbmc.org/forum/tags.php?tag=synchronize
The problem is, as usual, getting a developer with the time, interest, and skill to code this and submit a patch.
PS! I am not a programmer/coder myself :sniffle:
wstewart
2009-05-05, 03:36
As a first step, I am looking at providing an option to use a networked mysql database for videos (and later music). My idea to add an setting that allow you to chose either the current local database scheme, or specify a server address/name, userid, password for a mysql server. The databases would be created based on the user profile selected in xbmc. If the same user profiles are setup in each frontend, then the database would be shared. Mysql has no issue with multiple database connections. This is the way mythtv works and I have a fair amount of experience with the mythtv side.
I've just started looking at the code, but it doesn't look to bad since sqllite and mysql are pretty similar.
TigerHeart
2009-05-15, 10:53
Why don't you just split database (library) to remote (read only) part and local (full access) part? And let the XBMC merges them all together on every power on.
Because XBMC clients may have their own HDDs and some media files on it. So local media will be scanned to local database, which will be stored on the local HDD or USB Flash Drive.
In the same way you can split profiles to the remote and local parts, which will be merged on every power on. The local part may contain, for example, hardware information (like screen resolution, audio output and so on).
I am fairly new to XBMC but I am loving it. I am a long time mythtv user, and I still use that for recording. But I much prefer XBMC's interface and the metadata scraping support.
I want to have a system with my media on a server and a number of xbmc clients around the house, all having access to the server.
It seems that each client has its own database, which seems a little crazy for my situation. I see little point in downloading movie/tv show metadata for each client.
I have searched here a little and can only find some fairly old threads about this. Knowing that development goes pretty fast and a thread from 2007 may be completely out of date, I was just wanting a pointer to how other people handle this.
I guess one way to handle it would be to use one client as the "master" and do all scraping there. And then somehow export that data to all the other clients.
Or has someone developed a way to make use of just one central database for number of clients?
I just use MIP (http://xbmc.org/forum/showthread.php?t=47071) so all the data is stored with my videos/music and each machine reads from there.
I too would like to see some kind of central management of XBMC, this would be especially useful with the Live version.
Perhaps a more elegant solution would be instead of mounting the userdata, use the existing built in web server to share the configs and thumbnails. Since the idea is a master/slave relationship, the slaves don't need to change the master config, they just need a copy of it. I think that keeping the local cache of configs and thumbnails is a good idea, especially if the master goes down for any reason.
This way, the slaves can send a request out to sync with the master, possibly by specifying an address or some kind of auto-detect method. This would keep slave configuration a simple as possible. Of course for the paranoid, this might lead to wanting a username and password for the config sections of the web server, which would require a little more config at the slave. Or, it could even be moved to a real web server and updated manually.
As for the the thumbnails, probably should have it poll the master when it looks for a thumbnail for the first time, that way if it has been updated, it can get that. Otherwise it can get it through the normal channels is uses now.
Of course the database is the tricky part, as stated the SQLlite won't work in a shared environment. Perhaps a hybrid of what has been proposed would work. Store the master data in a MySQL database and then have the clients replicate that to the local SQLlite database. Of course that may end up being more trouble than it is worth in trying to sync the DB, especially if multiple versions of XBMC are in the network.
I think getting a shared master config, at least the sources.xml, would be pretty easy, especially if using the web server. Providing a master repository for the thumbnails would probably also be fairly easy too. It would probably work as a variation on the existing scrapers, except it would be for the config and cache data. Even if the database has to manually updated or copied, having the first two would speed up the other operations because it would not have to resize all the thumbnails again.
Just my 2 cents.
The ideal in many ways would be one machine with all the config on it using a proper RDBMS. The sqlite docos say
Situations Where Another RDBMS May Work Better
*
Client/Server Applications
If you have many client programs accessing a common database over a network, you should consider using a client/server database engine instead of SQLite. SQLite will work over a network filesystem, but because of the latency associated with most network filesystems, performance will not be great. Also, the file locking logic of many network filesystems implementation contains bugs (on both Unix and Windows). If file locking does not work like it should, it might be possible for two or more client programs to modify the same part of the same database at the same time, resulting in database corruption. Because this problem results from bugs in the underlying filesystem implementation, there is nothing SQLite can do to prevent it.
A good rule of thumb is that you should avoid using SQLite in situations where the same database will be accessed simultaneously from many computers over a network filesystem.
So you'd need to use something else like MySQL, which in turn would require a major internal change to XBMC. You'd also want to have alternatives - SQlite for those who want a simple one machine setup, and a RDBMS option for those who want a house full of the things. I doubt the devs want to go there.
For one thing the "ease of use" would diminish. As a long time user and supporter of MythTV, which uses MySQL in the backend, one of the biggest stumbling blocks for a beginner is setting up the MySQL access for frontends. If you get it right first time its easy, but muck something up and you're in for a hard time. Also MythTV pretty well runs only on one OS (yes there is also OSX ports and windows frontends but they are very much minority situations). On XBMC you have to cater for Windows, OSX, Linux, xBox and the livecd. I have never set up MySQL on windows, I know it is possible but windows users do not generally want to be mucking about with text config files and console apps.
The solution between ease of use and some sort of centralisation? I dunno. However I suspect duplication of the SQlite database files by copying them from a master store might be the way to go, unless someone is willing to try and code a MySQL backend data store, and a whole new database layer in XBMC.
bidossessi
2009-05-24, 13:48
So you'd need to use something else like MySQL, which in turn would require a major internal change to XBMC. You'd also want to have alternatives - SQlite for those who want a simple one machine setup, and a RDBMS option for those who want a house full of the things. I doubt the devs want to go there.
Hi this is my first post, but i'm an avid follower of xmbc especially as a whole-house media management solution (PVR and all).
I should think that people who want a whole house setup are ready to go the extra mile required (such as setting up an 'X'SQL server). most of the people who follow xbmc-pvr branch already have one setup (mythtv-backend). i believe an extra option or two could be added to the SETTINGS section offering to choose between local and remote DB, with potentially running a creation script for the different databases required as long as the user specifies which type of DB he's using (MYSQL, PGSQL, etc... in a dropdown menu), and, if applicable, give a UID to the XBMC instance being setup to allow multiple instance keep integrity while still using the same remote backend.
This way, other projects like "follow-me" could get a strong push.
The issue where backend could be offline is the same for either XBMC or Myth, but that hasn't stopped Myth users. xbmc has the possibility of falling back to it's local SQLite DB if need be. Redundancy might even be a good idea:
Assuming each instance of XBMC has both local and remote sources, if backend is online, each instance has access to both local and remote media on the backend. Instance-to-instance sharing is already available through the included uPnp server so that's not much of an issue.
I really believe this ODBC step is the next crucial step.
Whether the devs intended it or not, XBMC has become a reference in temrs of Media Center, and a lot of people are building whole-house systems with a backend/storage center and multiple XBMC instances.
It seems only natural to follow that trend, without loosing what already exists.
I see XBMC becoming the best LinuxMCE frontend available, since it can use what is already being done in other OSS projects. All that needs to be done is keep a door open.
most of the people who follow xbmc-pvr branch already have one setup (mythtv-backend).
How do I do that? ie follow the xbmc-pvr branch?
jmarshall
2009-05-25, 02:36
Sqlite is already abstracted from the main database layer. You'd "just" need to add the other underlying layer for whatever other database you want to use.
A patch would, ofcourse, be most welcome. It's not something the main dev crew are likely to work on at this point - not enough of us use it in a multiple room scenario to warrant the effort. We will, however, offer assistance to anyone wanting to take a crack at this.
Once that's done, there'd have to be some changes (multiple user watched counts for instance) to the library layout most probably.
Cheers,
Jonathan
RockDawg
2009-05-25, 03:12
It's a shame that this can't even be put on some future to do list. Especially when there is already going to be some reworking of the video db to come.
jmarshall
2009-05-25, 04:00
No point putting on some future to do list that never gets done - the only thing that accomplishes is to give false hope :)
In the meantime we wait until someone with the time and motivation works on it.
Cheers
Jonathan
RockDawg
2009-05-25, 05:10
No point putting on some future to do list that never gets done - the only thing that accomplishes is to give false hope :)
Cheers
Jonathan
I know, and that's exactly what I meant. It's a shame that any hope for implementation would be false hope at this time, and that this feature is not thought important enough to be considered forthcoming at some point. This isn't some fringe, little-to-be-used feature request. In my years on XBMC related forums, I have seen this requested over and over again. It's usefulness is obvious and it would benefit many (even if not many of the devs).
I realize, and am appreciative, that devs do this free of charge and in their own spare time. Thanks for XBMC regardless!
Just thinking ahead to a central SQL server for the database, would we want some sort of priority for users to make changes.
ie I don't want the kids mucking up my nicely set up metadata by deciding they prefer the descriptions from imdb when i like the ones form themoviedb.org, etc.
bidossessi
2009-05-26, 18:25
there is a post about a Unified media manager (http://http://xbmc.org/forum/showthread.php?t=50388&page=14) that would take care of central db management (scraping, sorting, etc)...
This application should be located on/interfacing with the db server, if I understood the intention correctly, thus restricting access somewhat. I believe what it is supposed to do is take over all scraping and sorting work (abstracting it somewhat).
feerlessleadr
2009-05-26, 20:02
there is a post about a Unified media manager (http://xbmc.org/forum/showthread.php?t=50388&page=14) that would take care of central db management (scraping, sorting, etc)...
This application should be located on/interfacing with the db server, if I understood the intention correctly, thus restricting access somewhat. I believe what it is supposed to do is take over all scraping and sorting work (abstracting it somewhat).
just fixed the link for you
rossgemuend
2009-05-26, 21:07
Would the centralized DB allow for one to start watching something on one XBMC instance, and then transfer it to another XBMC instance? I would love to see this ability or maybe even being able to stream the same movie to multiple XBMC instances simultaneously.
Would the centralized DB allow for one to start watching something on one XBMC instance, and then transfer it to another XBMC instance? I would love to see this ability or maybe even being able to stream the same movie to multiple XBMC instances simultaneously.
It would probably allow a bookmark to be transferred from one instance to another, so you could go to the other room and start from where you left off.
Precise synchromisation between instances, so two screens are exactly matched in time is not something that a simple fix to the database backend could do. It requires changes in the player. It is not a trivial exercise. It is off topic in this thread. There are plenty of other threads about synchronisation.
bidossessi
2009-05-27, 13:44
just fixed the link for you
Thanks, mate
Pete_London
2009-06-08, 16:44
Would a few hundred dollars motivate somebody to make this sort of system happen?
I'm more than happy to put some money in to get a master/slave system working, and I'm sure a few others would chip in....
Pete
I have been looking and saw the ODBC layer request but it didn't really look like what i was looking for.
Wondering if there is a possibility of running a server side database where all XBMC can gain data and read/write access to.. Basically for some of us who have multiple clients throughout their house and on different computers looking for a way to centralize the database instead of each client housing their own. Would make it easier in cases where a media file is scrapped incorrect and you have to manually change it on all boxes.. or take the database and image files from the fixed client and paste it over all the other databases on the other clients... I know this is possible if you add nfo files to each media file on the server but that creates a really cluttered folder and makes indexing a pain and a half on "older" (none quad or i7) servers (i am running a dual prestonia xeon server with vista as the backend till 7 comes out.. tried 2008 but i also use the server as a desktop so that was a pain)...
Also this would allow some form of state transfer between clients... Watching a movie in one room and want to transfer it to another room.. If you put it on hold the current state information for that file should be stored in the database correct? If you pull the video from another client on the same database it should pull the current state information or no?
Since the database is in sql lite it shouldn't have a problem with multiple client read/write at the same time...
this has been requested and discussed and whatnot in tons of threads already.
so you got a standard response;
pw = patch welcome.
this has been requested and discussed and whatnot in tons of threads already.
so you got a standard response;
pw = patch welcome.
True.. i suck at coding though... i am more of a hardware person... can you give me a tip on keywords to search on the board.. Tried unified database, central database, server database, centralized location, and other variants of the same thing...
share userdata seems to do it
share userdata seems to do it
I guess i fail at the KISS concept (keep it simple stupid)
How about a different approach to this... Instead of it reading all data from the centralized database and doing everything server side, how about treating it more as how we treat scrappers... Basically scrap the server database and sync each client database with it when you turn on the box... It would be nice to be able to do read/write function (rescrap info for a movie because it has the wrong movie and it uploads it back to the server database) but for the time being it would seem easier to just have it one direction to each client...
wstewart
2009-06-16, 19:13
Look here: http://www.xbmc.org/forum/showthread.php?t=37449
The intention discussed in this thread, is to have a server side database.
KingCrab
2009-06-23, 19:05
Hi everybody,
I just installed my first xbmc and I'm very happy with it. As I'm planning to build at least one more xbmc, I'm wondering if it is possible to have one music/movie/picture database shared between all clients?
In extensions I would love to have all clients netboot of the same server. Anyone done this already and can give me a hint?
Thanks in advance...
I have a few XBMC rigs at my place as well and this would be an interesting feature.
-Bahndit
miked2024
2009-06-23, 22:33
there are a couple of threads about this in the "Feature Suggestions" forum.
support for 1 LAN library would be great.
until then you could do something like this...
move ~/.xbmc to /some/mounted/remote/path/
link /remote/path/.xbmc to ~/
mount external share at boot
but if both try writing at the same time,
i think it would b0rk ?
i'd like to setup a 2nd box soon
is there a better way to do this ?
Pete_London
2009-06-24, 12:46
I spent Monday trying this.... I shared my ~/.xbmc directory over SMB then tried the following on an identical (Acer Revo) machine after mounting the remote share as /media/xbmc:
1. rename ~/.xbmc and create a symbolic link to the mount
2. as above for userdata, skin, pretty much all the folders.
At best, XBMC wouldn't start, getting to the splash page and then trying to restart. At worst, it wouldn't even do that.
Anybody else got any iseas to make this work? I REALLY want this to work...
Pete
dbldown768
2009-06-24, 16:44
just a suggestion but never tried it, what about something like dropbox.
It's been discussed several times over. Check on trac to see if anyone has opened a ticket for it, otherwise there won't be any chance for any support for it at all. Most cases involve Windows some of them involve Linux.
Gamester17
2009-06-24, 17:44
http://xbmc.org/forum/tags.php?tag=synchronize
Please always search before posting in the future :;):
I came across this thread because I am interested in having a media server that hosts the whole library. In fact I was thinking that it would be interesting to have xbmc run in a 'thin client' mode, where all the catalogues, except for certain specific stuff (optical media), are hosted on the server. In many way I think it matters less how the implementation is done, than how the communication is done (protocol, formats, etc).
Plugins would be handled by the server for the most part, but it should not exclude client side plugins.
The way I see this working is that any add/update command would simply call the server and update it centrally, though I can imagine the case of a 'read-only' state. The server would also have a notion of user, to support the multi-user mode in xbmc. The server could also become a proxy for anything that doesn't handle networking by nature.
What I am thinking as the data format and protocol is simply HTTP and XML. The advantage being that you have a larger choice of platforms for implementation and it could provide different solutions to choose from. Possible implementations include Apache/PHP, Apache/Python, Tomcat/Java, etc. We can decide which implementation ends up being the better one once we have had a little competition ;) The only mandate I would put on the implementation is that it should be able to run on any platform where xbmc runs, so IIS/ASP or .net should be discouraged IMHO.
If this is an approach that is appealing, then the next task is simply to come up with an XML format that is suitable for each type of node. As to file encoding it would have to be UTF-8, simply so we don't end up in charset-hell, and anyhow all XML parsers should support it natively.
The node types I can think of are:
- modules node (describes a module)
- list node (a list of items)
- media node (the media we are interested in)
I would like to keep the number of node types down to a minimum, so that it reduces the implementation work load and to encourage people to reuse what is there.
All entries would support descriptive elements such as:
- media type
- description
- title
- preview image
- url
IMHO, while there should be a base list of elements, we should not exclude the possibility of adding extensions as new needs arise.
It may make sense to have the localisation of some of this content on the server.
The added benefit of using HTTP/XML is that with xslt you can actually render everything as HTML in a web browser.
Edit: I realise this approach may allow anyone to build an HTPC front-end to the media server, but it many ways that is a good thing. It gives a little competition and encourages people to focus on the developing elements where their strengths lie.