New Webinterface (1 Viewer)

Bram

Portal Pro
December 12, 2005
851
3
's-Hertogenbosch
Home Country
Netherlands Netherlands
As soon as the ECP2 is stable I will start writing a remote control player for media. For music in first place (with all basic features i.a. Winamp offers) and hopefully, if possible, for video (and TV) also.

I started working on a webbased plugin (PHP/AJAX) before (some might have noticed) which was working pretty well (also thanks to samuel337) It was never finished because it was hard to keep up with the changes in MP (a layer would be nice :)) and my HDD crashed twice in a few months resulting in loss of all data. But I'd like to do it in C# now and make it fully functional on Mono (the .NET interpretation for Linux/Unix base systems), .NET compact (for mobile devices based on Windows CE) and .NET 2.0 for all other Microsoft operating systems.

I have to be able to develop it on a Linux computer because that's all I'm using now for my workstation. I guess that won't be a problem because of the ECP2 plugin. Thank you for your dedication to the plugin Sam!
 

AdmiralUD

Portal Member
September 15, 2006
14
0
I do have issues with this point:
XHTML/CSS interface powered by asp.net (written in c#), communicating with TvServer3 via its database. I do not see a reason to put a layer between them, all of the data is available easily and quickly through the database.

I believe there should be a layer, and that layer should be the native MP methods. Why? Because then we don't have to worry about any changes that are made to the database structure, and also the way that MP operates. For example, if you add a recording directly to the database, I don't believe that MP will know about that, hence it should be added via MP (yes, this can be worked around using notifications, but its just an example). It means less work overall because we're not creating our own database code and updating it everytime it changes in MP.

About the svn-repo, I can add you into the mp-webinterface sourceforge project if you like.

Sam

When you say the native MP calls, do you mean using the TvBusinessLayer/TvDatabase assembly...or doing some kind of remoting via webservice?

Also it will pick up a recording inserted into the database, if you look in TvEngine3/TvLibrary/TvService/Scheduler/Scheduler.cs it polls the database looking for new recordings.

Originally I had intended to create a webservice layer between the webinterface and MP, but then the most efficient way i could see to do it was to just do queries straight from the db anyway so it seemed a lot of extra steps. By placing a webservice that makes an incredibly long chain to get to the data....Database > MP > Remoted > SOAP > ASP.NET > Databinding > HTML/CSS...seems like a lot.

As for svn, sure that would be great.
 

samuel337

Portal Pro
August 25, 2004
772
0
Melbourne, Australia
When you say the native MP calls, do you mean using the TvBusinessLayer/TvDatabase assembly...or doing some kind of remoting via webservice?

If the former's possible, then that's obviously better than remoting.

Also it will pick up a recording inserted into the database, if you look in TvEngine3/TvLibrary/TvService/Scheduler/Scheduler.cs it polls the database looking for new recordings.

Haven't looked in to that yet, but that looks good.

Originally I had intended to create a webservice layer between the webinterface and MP, but then the most efficient way i could see to do it was to just do queries straight from the db anyway so it seemed a lot of extra steps. By placing a webservice that makes an incredibly long chain to get to the data....Database > MP > Remoted > SOAP > ASP.NET > Databinding > HTML/CSS...seems like a lot.

Definitely. The more efficient the better, but I didn't think it should get in the way of ease-of-updating. There's no need to use a web service for everything, and I wasn't advocating that. Its still necessary to communicate with MP anyway, e.g. get its current state. You could leave the web service step out for ASP.NET though - it can use the remoting assembly natively.

As for svn, sure that would be great.

Drop me your sourceforge username and I'll check it out with the other project admin and see if I can get you added.

Sam
 

AdmiralUD

Portal Member
September 15, 2006
14
0
Hrm, im gonna think about it a little more tonight...ill keep working on the general asp.net framework, so far im setting up the masterpages and ill have to think about localization a bit.
 

thechad

Portal Pro
February 5, 2005
187
0
Geelong, Australia
Home Country
Hi All,

Good to see that this topic is up and running again. I am looking at reviving my plugin for XBMC on original Xbox for the new TVServer. I have looked into using WCF in .Net 3 but I think it would be a while before I could get all the interfaces up and running. Do you plan to offer any form of webservices in the Web Interface?

The plugin currently does everything except live TV for the TV Engine v2 and I would like to get it to that point with TVEngine 3.

How do you plan to overcome the App Domain issues mentioned previously in the thread or am I missing something?

Finally I have not programed any Ajax web interfaces before but it is my understanding that all the callbacks are to webservices anyway so aren't you going to require a weservices layer although you mentioned you want to avoid one?
 

samuel337

Portal Pro
August 25, 2004
772
0
Melbourne, Australia
How do you plan to overcome the App Domain issues mentioned previously in the thread or am I missing something?

Well now that MP's a client/server app, I don't think it makes sense to run the web server within MP anymore. So if we make the web server a seperate service, that solves the issue, right? I can't remember the exact app domain issue...

Finally I have not programed any Ajax web interfaces before but it is my understanding that all the callbacks are to webservices anyway so aren't you going to require a weservices layer although you mentioned you want to avoid one?

Not an expert on AJAX either, but AJAX itself doesn't require web services, however I did hear somewhere that the Atlas framework did.

Sam
 

AdmiralUD

Portal Member
September 15, 2006
14
0
Hi All,

Good to see that this topic is up and running again. I am looking at reviving my plugin for XBMC on original Xbox for the new TVServer. I have looked into using WCF in .Net 3 but I think it would be a while before I could get all the interfaces up and running. Do you plan to offer any form of webservices in the Web Interface?

The plugin currently does everything except live TV for the TV Engine v2 and I would like to get it to that point with TVEngine 3.

How do you plan to overcome the App Domain issues mentioned previously in the thread or am I missing something?

Finally I have not programed any Ajax web interfaces before but it is my understanding that all the callbacks are to webservices anyway so aren't you going to require a weservices layer although you mentioned you want to avoid one?

I dont see a reason to hook into the app domain of MP so far...all of the tv data is available straight from the database.

The way ASP.NET Ajax works is it hooks into an async postback and executes the methods that are wired up for whatever control executed it. It uses almost the exact same model for programming (event/control driven) as traditional asp.net...no webservices required.
 

samuel337

Portal Pro
August 25, 2004
772
0
Melbourne, Australia
Alright, just to keep the momentum going, I've just completed the client discovery code for the ECP2 plugin. This means that any program can send a standard UDP multicast and all MP clients with ECP2 loaded will respond. The program can then use this info and use ECP2 to connect to and control a particular client. I'll be updating the web service soon to make sure its client/server config ready too. Changes in SVN if interested.

While I was doing this, I was wondering what we'll do with TVEngine2 support. Given the different nature and different structure between the old and the new TV engines, do we attempt a solution that works with both, or go with the newer one only...

I've also attempted to gather info and the consensus from this thread and put all that into a nice graphic for those who hate reading long blocks of text. This is the current plan, but still in its early stages. Let me know what you think, suggestions, criticisms etc. here, and I'll update it as we go along until we get a general consensus on most things. (I'm a big fan of diagrams and pictures - makes things much easier and quicker to digest I reckon.)

I am doing this at 1am btw, so if bits don't make sense its probably not you ;). Without further ado,
L.jpg


Sam
 

quiller

Portal Pro
November 28, 2006
90
1
38
Nebraska
Home Country
United States of America United States of America
I'd be interested in helping with the web interface front-end work (XHTML/CSS/JS/Ajax), if anyone wants another hand for coding.
 

misterd

Retired Team Member
  • Premium Supporter
  • April 4, 2006
    1,597
    314
    Home Country
    Germany Germany
    Hi everyone,
    I also thought about the architecture of the new web interface a long time. My idea of integrating the web server doesn't make sense anymore because of the TVServer.
    My current ideas are very congruent with the diagram of Sam. Instead of cassini I would prefer: Hevea. Hevea is also an application server written in C# and licensed under GPL. It has more options than cassini and I think that it could be easier to integrate this in an own application.
    I would prefer to write an own windows service which uses Hevea or cassini and not to use IIS to avoid problems (XP Home, installation etc.). The web application can be developed with IIS of course, but the whole web interface should be released as one package.

    I have attached a small diagram of a possible architecture of such a windows service. I would like to help with the windows service, web service and my suggest abstraction layer.

    Regards,
    MisterD
     

    Users who are viewing this thread

    Top Bottom