Normal
That's helpful to know.Of course, we are dependent upon what the skins do to determine what we see.But I think the underlying database should reflect the real world and the skins can manipulate what the database holds and what we see - rather than the database being manipulated (because we can't get the real world back once it's changed). Do you see where I am coming from?I see what you mean about the times watched field being, perhaps, unnecessary. But while it's there, I think it should do what it says - tell you how many times the video has been watched. When you reset the status all of the fields (times watched, percentage watched and watch status) are changed back to the default values. When you look at the list of videos, the underline shows you how far you are through the video. That value is the percentage watched and I cannot see the value in playing with the actual value in the database to be anything other than the real world. If it is decided that the skin should follow other rules, that's fine, but I strongly disagree with changing the data itself.Anyway, that's how I feel. What I have been doing is to get the database side of things to work in a multi-user environment - in a separate layer from the skin. I have done this for all of the main databases - FolderDatabase, MusicDatabase, PictureDatabase and VideoDatabase. I update the FanartHandler database when videos are deleted. I have done my utmost to separate the back-end (data) from the front-end (skin) so that you can manipulate how MP looks without affecting the underlying data.I have brought the database technology right up-to-date using Entity Framework and LINQ for the most part and the data is fully object-oriented. I have only used the old code where dynamic queries are essential. This means that I've been able to cache the data throughout and makes the application run very smoothly and efficiently. It has been a tremendous relief to me not to have to worry about synchronizing databases or not being able to resume from where I last left off watching a video. That issue has simply gone away.Obviously, if you want to adopt this code, this version will need thorough testing. I can test what I use, but I assume that there will be things other people do that I don't touch. There is no such thing as bug free code so I expect there will be issues for me to fix, though I've done my best to capture the main ones already. I am happy to fix any issues you come up with.So far, it looks like the extensions will only need to be recompiled against the new code - databases.dll and EntityFramework.dll and a few other DLLs that are LINQ related. I've also added a few NuGet packages. I will leave it to you to decide whether the extensions for which you no longer have code are of real importance to your users as against the advantages of this version. It might be best for me to recompile the extensions and for someone at your end to build the MPE1 files because that is beyond my competence. I think you'll be more likely to get them right than I would.Tony
That's helpful to know.
Of course, we are dependent upon what the skins do to determine what we see.
But I think the underlying database should reflect the real world and the skins can manipulate what the database holds and what we see - rather than the database being manipulated (because we can't get the real world back once it's changed). Do you see where I am coming from?
I see what you mean about the times watched field being, perhaps, unnecessary. But while it's there, I think it should do what it says - tell you how many times the video has been watched. When you reset the status all of the fields (times watched, percentage watched and watch status) are changed back to the default values. When you look at the list of videos, the underline shows you how far you are through the video. That value is the percentage watched and I cannot see the value in playing with the actual value in the database to be anything other than the real world. If it is decided that the skin should follow other rules, that's fine, but I strongly disagree with changing the data itself.
Anyway, that's how I feel. What I have been doing is to get the database side of things to work in a multi-user environment - in a separate layer from the skin. I have done this for all of the main databases - FolderDatabase, MusicDatabase, PictureDatabase and VideoDatabase. I update the FanartHandler database when videos are deleted. I have done my utmost to separate the back-end (data) from the front-end (skin) so that you can manipulate how MP looks without affecting the underlying data.
I have brought the database technology right up-to-date using Entity Framework and LINQ for the most part and the data is fully object-oriented. I have only used the old code where dynamic queries are essential. This means that I've been able to cache the data throughout and makes the application run very smoothly and efficiently. It has been a tremendous relief to me not to have to worry about synchronizing databases or not being able to resume from where I last left off watching a video. That issue has simply gone away.
Obviously, if you want to adopt this code, this version will need thorough testing. I can test what I use, but I assume that there will be things other people do that I don't touch. There is no such thing as bug free code so I expect there will be issues for me to fix, though I've done my best to capture the main ones already. I am happy to fix any issues you come up with.
So far, it looks like the extensions will only need to be recompiled against the new code - databases.dll and EntityFramework.dll and a few other DLLs that are LINQ related. I've also added a few NuGet packages. I will leave it to you to decide whether the extensions for which you no longer have code are of real importance to your users as against the advantages of this version. It might be best for me to recompile the extensions and for someone at your end to build the MPE1 files because that is beyond my competence. I think you'll be more likely to get them right than I would.
Tony