Author Topic: Reorganizing development for scalability  (Read 38232 times)

danielk

  • Guru
  • ****
  • Posts: 153
    • View Profile
Re: Reorganizing development for scalability
« Reply #45 on: October 22, 2007, 07:31:57 am »
I understand that MythTV's backend is doesn't contain the functionallity of DCERouter at this time.  My suggestion was that maybe it should.

The concept behind MythTV and Pluto are one and the same, to create the "Mythical convergence device" for the home. Consequently there is a lot of overlap in functionality. MythTV is bolted on to Pluto for the PVR functionality, but it actually contains many of the components for which Pluto already has home grown solutions. In many cases these are more mature solutions. Pluto is a lot like Freevo, and in it's architecture is more like a bazaar than the cathedral like MythTV. In their development the roles are reversed which helps explain the strengths and deficiencies of both.

I think what you really want to do is have a choice in what DVD player to use or what movie player to use and get the full functionality of whatever player you choose without needing to reconfigure everything. The good news is that LMCE is open, it is what you do with it. If you write code to translate between the Pluto and MythTV movie databases then they will play nice for you and everyone else.

LMCE can bring the strengths of both these approaches to the same problem together into a unified whole. Paul has done a lot porting the Pluto components to Ubuntu, but there are two problems we need to address right now, stability and integration. And we have to do this without forgetting to apply patches for functionality like Peter's Insteon driver. Part of the stability and integration problem will probably be solved by both the MythTV and Pluto groups, but parts are unique to the LMCE software or unique to the esoteric hardware used out there by LMCE users installing the software on their own PC's.

Step 1 for me is to get LMCE to bootstrap itself. This is the best way to make sure that all the components can be build independently and that all the dependencies can be satisfied on a running LMCE system. (I've run into missing dependencies trying to compile various individual components, I would rather resolve them all and share with everyone else than just resolve my own issues and move on.)

PeteK

  • Guru
  • ****
  • Posts: 408
    • View Profile
Re: Reorganizing development for scalability
« Reply #46 on: October 22, 2007, 07:40:45 am »
Daniel--

I want to add my two bits in and thank you again for helping out with this project.  This is my first crack at helping develop OSS.  Thanks to guys like you, Paul, and that Zaerc dude who must monitor these forums 24/7 , I'm excited about this and I'm guessing more developers are as well.

tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Reorganizing development for scalability
« Reply #47 on: October 22, 2007, 07:47:10 am »
I am very excited as well. I'm trying hard to get my head around this code-base so that I can build a games plugin (at first mame, but there will be others.)

-Thom

darrenmason

  • Addicted
  • *
  • Posts: 529
    • View Profile
Re: Reorganizing development for scalability
« Reply #48 on: October 22, 2007, 08:24:56 am »
Daniel,

Is there space/capability on the servers that you setup to host the sqlcvs master(server)?

New devices and device templates as well as changes to existing ones are just as crucial to move forward as being able to compile the code base.

Regards
Darren

danielk

  • Guru
  • ****
  • Posts: 153
    • View Profile
Re: Reorganizing development for scalability
« Reply #49 on: October 22, 2007, 06:58:17 pm »
Is there space/capability on the servers that you setup to host the sqlcvs master(server)?
Yes.

New devices and device templates as well as changes to existing ones are just as crucial to move forward as being able to compile the code base.

I don't think it is just as crucial, we can update the DB in the compile and so add devices and device templates. When we get things compiling, I'll look at what it will take to get a sqlcvs working for us.

wsuetholz

  • Regular Poster
  • **
  • Posts: 44
    • View Profile
Re: Reorganizing development for scalability
« Reply #50 on: October 22, 2007, 07:00:24 pm »
I am very excited as well. I'm trying hard to get my head around this code-base so that I can build a games plugin (at first mame, but there will be others.)

-Thom


Yes, that's one of the reasons I switched back to MythTV..  I have a bunch of old NES games that my kids play using FCEU.  Why write a new plugin when the functionality is there in a MythTV plugin already?
I did try at one point to work with Pluto on how to plug in the MythTV Game plug in into the orbiter but didn't really get a good response.  I wanted the same kind of search screen that they had for videos.


tschak909

  • LinuxMCE God
  • ****
  • Posts: 5549
  • DOES work for LinuxMCE.
    • View Profile
Re: Reorganizing development for scalability
« Reply #51 on: October 22, 2007, 07:07:33 pm »
That is precisely what I am wanting to do, and I'm gonna keep digging through until it makes sense, which is ironic, esp considering that the code is very good... it's flexible as hell... it's just...not...documented worth a fuck... code forensics takes time. :-P

but really, I do think making a player for each type of game you wish to play, with a plugin to manage passing to the appropriate player (using the External Media Identifiers like everything else), will produce something REALLY neat and scalable.. hell, you can even put it on the floorplan! :-)

-Thom

wsuetholz

  • Regular Poster
  • **
  • Posts: 44
    • View Profile
Re: Reorganizing development for scalability
« Reply #52 on: October 22, 2007, 07:28:49 pm »
I understand that MythTV's backend is doesn't contain the functionallity of DCERouter at this time.  My suggestion was that maybe it should.

The concept behind MythTV and Pluto are one and the same, to create the "Mythical convergence device" for the home. Consequently there is a lot of overlap in functionality. MythTV is bolted on to Pluto for the PVR functionality, but it actually contains many of the components for which Pluto already has home grown solutions. In many cases these are more mature solutions. Pluto is a lot like Freevo, and in it's architecture is more like a bazaar than the cathedral like MythTV. In their development the roles are reversed which helps explain the strengths and deficiencies of both.

I saw a post once that really pointed out the different mindset between MythTV and Pluto@Home(LinuxMCE)..  Lets see if I can paraphrase...

Everything to Pluto@Home is a device of some kind, the Device is King everything else is subordinate to the device.  Whereas MythTV is more concerned with the storage, capture and presentation of media.

I think I got the gist of the comment.  I agree with you that both wish to be the convergence device, they just come at it from two different directions.  LinuxMCE is a Home Automation device that with the addition of MythTV attempts to also be your Media Center device as well.  It's unfortunate that they couldn't have made the orbiter be a better(integrated) MythTV frontend.  In most respects, I really like the orbiter concept (it is of course a device).

My contributions to this conversation, are getting somewhat off topic, so thanks for your effort helping out the project.


chriss

  • Veteran
  • ***
  • Posts: 140
    • View Profile
Re: Reorganizing development for scalability
« Reply #53 on: October 22, 2007, 08:00:50 pm »
Thom,

you wrote:
Quote
the code is very good... it's flexible as hell... it's just...not...documented worth a fuck... code forensics takes time. :-P

from scrolling through some parts of the code I totally agree with you. If you're really digging into the code and doing code forensics it would be awesome if you could just add (doxygen) comments with the information you're gathering. This would help the others understanding the code, too   8)

Cheers,
/Chriss

Zaerc

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 2256
  • Department of Redundancy Department.
    • View Profile
Re: Reorganizing development for scalability
« Reply #54 on: October 22, 2007, 08:58:19 pm »
... and that Zaerc dude who must monitor these forums 24/7 ...
I strongly resemble that comment! ;D
"Change is inevitable. Progress is optional."
-- Anonymous


darrenmason

  • Addicted
  • *
  • Posts: 529
    • View Profile
Re: Reorganizing development for scalability
« Reply #55 on: October 24, 2007, 01:32:06 am »
I don't think it is just as crucial, we can update the DB in the compile and so add devices and device templates. When we get things compiling, I'll look at what it will take to get a sqlcvs working for us.
I don't know if I agree with you here. The device configuration effectively equates to code in this system and updating the database only through the DB build scripts does not give an environment conducive to change. And the change is likely to be from the whole user base rather than just developers.

This was an effective feature of PlutoHome. Someone could do the work to add and configure a new device template (say for a new TV or receiver) and other users could create devices of this template within a couple of days, rather than waiting for a release cycle.
On reading through the forums this morning there was at least two explicit comments that a user has created a template that they wish to share but had no mechanism to do that.

Anyway, hopefully it is not too much effort to get running (and then maintain) on the servers that you have setup.

regards
Darren

PeteK

  • Guru
  • ****
  • Posts: 408
    • View Profile
Re: Reorganizing development for scalability
« Reply #56 on: October 24, 2007, 01:48:59 am »
Daniel--

I agree with Darren.  The fact that LinuxMCE is so dependent on Sql requires some sort of CVS control with multiple people working on it.  For another example, I've created several new commands as well as a new template to support Insteon integration.  I'm not sure how to distribute those changes for beta testing without some sort of CVS control of the database.

danielk

  • Guru
  • ****
  • Posts: 153
    • View Profile
Re: Reorganizing development for scalability
« Reply #57 on: October 24, 2007, 03:12:07 am »
I don't see how we can point everyone to the new sqlCVS unless we get the sucker to build...

I don't think sqlCVS is unimportant.

BTW If someone could get it working on their own and then tell me how to get it working on the server this would speed up the process of getting it working...

PeteK

  • Guru
  • ****
  • Posts: 408
    • View Profile
Re: Reorganizing development for scalability
« Reply #58 on: October 24, 2007, 03:28:24 am »
What?  You generously offer to help and we just want more?  I'm shocked, shocked! ;)

I'll try to take a look at it this weekend and see if I can make any headway.

-Pete

bulek

  • Administrator
  • wants to work for LinuxMCE
  • *****
  • Posts: 909
  • Living with LMCE
    • View Profile
Re: Reorganizing development for scalability
« Reply #59 on: October 24, 2007, 09:10:24 am »
Hi,

I have another proposition. I'm almost certain that Pluto guys will help on that, maybe even according to past cooperation, Paul can make some kind of agreement so they can maintain sqlcvs for a start. I think this is in common interest. Sqlcvs is afterall a Pluto's baby (from Aaron better said) ...

If that fails, at least we could contact Pluto sqlcvs guy to help out to get things started... They will also be using majority of contributions made this way...

HTH,

regards,

Bulek.


Thanks in advance,

regards,

Bulek.