View Full Version : Help: VFS
ohpleaseno
03-08-2011, 05:46 PM
Let me see if I understand the VFS.
There are different aspect for media types. For lack of a better word, I refer to them as tags. Movies can be both DVDs and Imports where Movies would be a Media Type and DVDs and Import would be a "tag".
Setting up the views is defining which "tags" (or combination thereof) I want to show up in that view.
Does that start to scratch the surface? I looked at the guide to setting up views and got a little bit intimidated, but I'm going to soldier ahead and try my best.
stuckless
03-08-2011, 05:56 PM
"tags" in the vfs has a special meaning, sort of like labels.
A view is basically a collection of media files (from one or more sources) that can then be filtered, grouped and sorted..
A view can have multiple "tags". ie, a DVD view might have a tag of "dvd" and a tag of "video" meaning that when browsing the view categories the DVD view would should show up in the "dvd" category, AND it would show up in the "video" category.
Vew categories (ie, tags) are just a way to organize the views into groups. Since phoenix will have 100s of views over time, "tags" is just a way to organize things.
While the main vfs file has sourcs, filters, groups, sorters, and views... your editing will probably just be in the <views> area. The other parts are for adding new filters, sources, groupers, etc.
Views simply slice and dice data to present it in any way that you want.
ohpleaseno
03-08-2011, 06:26 PM
BMT has subversively got me used to the way Phoenix categorizes things.
One thing I don't understand though is why there is not a item just called "Movies". When I select "Videos" it encompasses all imported video. In BMT, all video content is either Movie or TV.
Is there a distinction I'm not understanding between the two?
stuckless
03-08-2011, 06:33 PM
BMT has subversively got me used to the way Phoenix categorizes things.
One thing I don't understand though is why there is not a item just called "Movies". When I select "Videos" it encompasses all imported video. In BMT, all video content is either Movie or TV.
Is there a distinction I'm not understanding between the two?
I consider a video to be any visually playable media, dvds, blurays, tv, etc. But because SageTV categorized things are Videos, BluRays, DVDs, TV then so do we.
You can build a Movies view and it would include all media files that were of MediaType "Movie". That would pull in dvds, blurays, recorded movies, etc.
ohpleaseno
03-09-2011, 05:57 AM
I don't know why I get frustrated by that. I just want to click "Movies" in BMT and have them pop up. I know I can create a view, but it just seems so natural. It's like the drop-down in the metadata editing page taunts me. ;)
If we create a custom view in Phoenix, does it show up across the board in all Phoenix "products"? Will the custom view be selectable in BMT?
Will there be some sort of xml generator available either as a STV or webUI?
I'm really regretting not learning more about xml now. :D
stuckless
03-09-2011, 07:10 AM
I don't know why I get frustrated by that. I just want to click "Movies" in BMT and have them pop up. I know I can create a view, but it just seems so natural. It's like the drop-down in the metadata editing page taunts me. ;)
If we create a custom view in Phoenix, does it show up across the board in all Phoenix "products"? Will the custom view be selectable in BMT?
Will there be some sort of xml generator available either as a STV or webUI?
I'm really regretting not learning more about xml now. :D
I'll look at adding a default "Moves" view to the core vfs, since it does make sense. This view will show all movies, less the Home Videos (that was just added).
BMT and Phoenix share the same views, so if you create it in Phoenix then it will show up in bmt.
At some point, we will have view editing tools available. I'm looking at adding that support to bmt, and I'm the Mike and Brian are looking at that from the STV side of things as well. The problem is the the views are so flexible that it's really hard to make an editor that is "simple". I think when we do have an editor, it may just be some basic editing, and then if you really need to tweak a view, then you'll have to dive into the XML.
ohpleaseno
03-09-2011, 08:09 AM
I'll look at adding a default "Moves" view to the core vfs, since it does make sense. This view will show all movies, less the Home Videos (that was just added).
BMT and Phoenix share the same views, so if you create it in Phoenix then it will show up in bmt.
At some point, we will have view editing tools available. I'm looking at adding that support to bmt, and I'm the Mike and Brian are looking at that from the STV side of things as well. The problem is the the views are so flexible that it's really hard to make an editor that is "simple". I think when we do have an editor, it may just be some basic editing, and then if you really need to tweak a view, then you'll have to dive into the XML.
90% of users would probably be satisfied by a very simple view editor. I'm starting to look at this like I originally looked at SJQ. At first it seemed daunting, but I was able to do the one or two things that I really wanted it to do. After time and a little patience and research, I was able to dip into more complex actions that really showed the muscle and flexibility.
Thanks for considering a "Movies" view. Even for people who don't end up using Phoenix UI, those who rely on BMT will greatly appreciate it.
Okay, I'm going to stop with the theoretical stuff and actually get into using Phoenix. I'm sure I wasn't invited to the private beta to ask questions. :D
bialio
03-09-2011, 08:16 AM
I get all of my movies with the All Titles view, which is the first item in the 'Movies' on the Landing zone. Is this not showing you all of your movies? It isn't sorted! so this might be throwing you off a bit.....
ohpleaseno
03-09-2011, 08:18 AM
I get all of my movies with the All Titles view, which is the first item in the 'Movies' on the Landing zone. Is this not showing you all of your movies? It isn't sorted! so this might be throwing you off a bit.....
I'm at work, but if I remember the All Titles view gives me Movies and TV. Again this is from memory so I may be off.
bialio
03-09-2011, 10:15 AM
It does have movies that were recorded on TV. But anything that BMT thinks is a TV show, or that Sage thinks is a Recording, shouldn't be in there.....
ohpleaseno
03-15-2011, 07:52 AM
Made my first attempt at creating a view. I'm trying to get all TV (recorded/imported) to be presented in alpha order, then the next level be seasons in reverse order and then episodes in reverse order.
My knowledge of xml sucks, but I did a bit of copy and paste. Here is the result...
<!DOCTYPE vfs SYSTEM "vfs.dtd">
<vfs>
<tags>
<tag value="tv" label="TV"/>
<tag value="video" label="Videos"/>
<tag value="dvd" label="DVD"/>
<tag value="bluray" label="Blu-Ray"/>
<tag value="picture" label="Pictures"/>
<tag value="music" label="Music"/>
<tag value="videodisc" label="DVD or Blu-Ray"/>
<tag value="epg" label="Program Guide"/>
<tag value="metadata" label="Metadata"/>
<tag value="online" label="Online"/>
<tag value="web" label="Web" visible="false"/>
<tag value="android" label="Android" visible="false"/>
<tag value="landingzone" label="Landing Zone" visible="false"/>
<tag value="quickchange" label="Quick Change" visible="false"/
</tags>
<views>
<view name="tvseriesseason2" label="TV">
<description>TV Grouped by Series and then Season</description>
<tag value="tv"/>
<view-source name="recordings"/>
<view-source name="archivedrecordings"/>
<view-source name="videos" >
<filter by="mediatype" value="tv" />
</view-source>
<presentation level="1">
<group by="show"/>
<sort by="title"/>
<hint value="series"/>
</presentation>
<presentation level="2">
<group by="season">
<option name="prune-singe-item-groups" value="true"/>
</group>
<sort by="SeasonNumber">
<option name="sort-order" value="desc"/>
<sort/>
</presentation>
<presentation level="3">
<sort by="EpisodeNumber">
<option name="sort-order" value="desc"/>
<sort/>
</presentation>
</view>
</views>
</vfs>
I'm not quite sure if there is an element missing. Do I need to reload VFS for it to show up?
ohpleaseno
03-17-2011, 07:11 AM
Any tips on the xml file I posted?
stuckless
03-17-2011, 07:56 AM
Sorry I did see this yesterday morning on my way to work, but then I forgot about it :(
I can see one issue that stands out, and that is we don't have a SeasonNumber sorter (Check out the VFS Documentation page (http://code.google.com/p/sagephoenix/wiki/VFSDocumentation) under Sorters)
So, here's how I'd change things....
<!DOCTYPE vfs SYSTEM "vfs.dtd">
<vfs>
<views>
<view name="ohpleaseno_tvseriesseason2" label="Custom TV">
<description>TV Grouped by Series and then Season</description>
<tag value="tv"/>
<view-source name="recordings"/>
<view-source name="archivedrecordings"/>
<view-source name="videos" >
<filter by="mediatype" value="tv" />
</view-source>
<presentation level="1">
<group by="show"/>
<sort by="title"/>
<hint value="series"/>
</presentation>
<presentation level="2">
<group by="season">
<option name="prune-singe-item-groups" value="true"/>
</group>
<sort by="metadata">
<option name="field" value="SeasonNumber"/>
<option name="compare-numeric" value="true"/>
<option name="sort-order" value="desc"/>
</sort>
</presentation>
<presentation level="3">
<sort by="metadata">
<option name="field" value="EpisodeNumber"/>
<option name="compare-numeric" value="true"/>
<option name="sort-order" value="desc"/>
</sort>
</presentation>
</view>
</views>
</vfs>
1. I've changed the name to startwith 'ohpleaseno_'. This makes it easy to identify which views you've modified/added vs core views.
2. I've changed the label to "Custom TV" for now, since that'll make it easy to see if your view is actually being loaded. views that have errors will not be loaded.. So if you don't see Custom TV in your view list, then you know it had errors (or you didn't reload the vfs)
3. For presentation level=2 (ie the Season view) I used a metadata sorter (since we don't have a specific season only sorter). I'm telling to sort on metadata field SeasonNumber and to compare them as numbers.
4. For the presentation leve=3 (ie the Episode view) I'm telling it to sort by metadata field EpisodeNumber and compare those numerically as well.
5. I also fixed some xml errors. Validating your xml before you try to have them processed by phoenix will go a long way in reducing your headaches.
I don't use Windows... but i did a quick search for free xml editors... apparently MS has one (http://www.microsoft.com/downloads/en/details.aspx?familyid=72d6aa49-787d-4118-ba5f-4f30fe913628&displaylang=en)...
I would edit ALL xml using an xml editor just so that you can minimize the potential for typos.
If you open a vfs file and it complains that it is missing the "dtd" then copy the vfs.dtd file from STVs/Phoenix/vfs/ directory to the same directory as your .xml file.
ohpleaseno
03-17-2011, 09:13 AM
Thanks Sean,
I copied and pasted the xml from your rewrite into a file called tv.xml and put it in the sagetv/stvs/phoenix/vfs folder. After doing that, I should see a view in BMT called "Custom TV", right?
stuckless
03-17-2011, 10:07 AM
Thanks Sean,
I copied and pasted the xml from your rewrite into a file called tv.xml and put it in the sagetv/stvs/phoenix/vfs folder. After doing that, I should see a view in BMT called "Custom TV", right?
You will if you reloaded the vfs AND there were no other errors. I just manually edited your xml that you pasted, not with an xml editor, so I'm not sure if there other xml editors or not. Do you get any errors when you open the file file with an xml editor?
MeInMaui
03-17-2011, 11:23 AM
FYI, Just in case you miss it, there is a typo in the view that Sean posted:
<group by="season">
<option name="prune-singe-item-groups" value="true"/>
</group>
Think singe should be single.
Aloha,
Mike
ohpleaseno
03-17-2011, 11:46 AM
FYI, Just in case you miss it, there is a typo in the view that Sean posted:
<group by="season">
<option name="prune-singe-item-groups" value="true"/>
</group>
Think singe should be single.
Aloha,
Mike
I fixed the typo that Mike pointed out and ran it through a validator found here http://www.w3schools.com/xml/xml_validator.asp which showed no errors.
I named the file tv.xml and put it in the vfs folder, but when I refresh the vfs, it doesn't show up in BMT or as a selectable view in the Phoenix UI.
stuckless
03-19-2011, 10:22 AM
Sorry for not getting back to you on this, but I was away for a couple days...
Here's the view (I tested this in my local setup)
<!DOCTYPE vfs SYSTEM "vfs.dtd">
<vfs>
<views>
<view name="ohpleaseno_tvseriesseason2" label="Custom TV">
<description>TV Grouped by Series and then Season</description>
<tag value="tv"/>
<view-source name="recordings"/>
<view-source name="archivedrecordings"/>
<view-source name="videos" >
<filter by="mediatype" value="tv" />
</view-source>
<presentation level="1">
<group by="show"/>
<sort by="title"/>
<hint value="series"/>
</presentation>
<presentation level="2">
<group by="season">
<option name="prune-single-item-groups" value="true"/>
</group>
<sort by="metadata">
<option name="field" value="SeasonNumber"/>
<option name="compare-numeric" value="true"/>
<option name="sort-order" value="desc"/>
</sort>
</presentation>
<presentation level="3">
<sort by="metadata">
<option name="field" value="EpisodeNumber"/>
<option name="compare-numeric" value="true"/>
<option name="sort-order" value="desc"/>
</sort>
</presentation>
</view>
</views>
</vfs>
New views should go in userdata/Phoenix/vfs/NAME.xml. Where NAME is whatever filename you want to give to your view. You can have multiple files in the userdata/Phoenix/vfs/ directory.
New views are NOT loaded automatically, but rather you'll need to refresh the vfs. You can do this from the web ui; Configures -> Refresh Configuration -> Refresh VFS
or, you can do it from the phoenix stv ui, but hitting home twice.
After I reloaded my vfs with this new file, I saw an entry called "Custom TV", and that grouped by series, then season, sorting decending order for season and episode (ie newer seasons and episodes show first).
Let me know how yo make out with this view.
ohpleaseno
03-19-2011, 10:36 AM
Worked great!
Two things though.
1) the userdata/phoenix/vfs folder doesn't exist, so that needs to be created.
2) the vfs.dtd file needs to be copied over.
In a future build of Phoenix, could you auto-populate those two items?
stuckless
03-19-2011, 02:28 PM
Worked great!
Two things though.
1) the userdata/phoenix/vfs folder doesn't exist, so that needs to be created.
2) the vfs.dtd file needs to be copied over.
In a future build of Phoenix, could you auto-populate those two items?
The userdata area are meant to be an alternate location for loading configurations. I'm not sure I want to create them automatically or not, since hopefully, at some point, we'll have a more user friendly way of creating views :)
As for the dtd file. It is not required by phoenix, since I automatically process the xml files against the central .dtd file. But, an xml validation tool may complain about the missing dtd.
bialio
03-19-2011, 04:06 PM
We could probably stub out at least the directory structure there. Would probably save us time in the long run.
btl.
stuckless
03-19-2011, 04:23 PM
Ok I'll look at adding some code to create the directories on startup.
OneOfMany
03-21-2011, 08:48 AM
Hi Sean,
In another post, you posted this code that allows you to setup a new view by folder. I spent a few hours this weekend trying to setup one for mine, and I can't seem to get it to filter correctly. I know you offered some help, and I would appreciate if you could point me in the right direction.
As posted
-------------
"<!DOCTYPE vfs SYSTEM "vfs.dtd">
<vfs>
<views>
<view name="sls_newmovies" label="New Movies" flat="false">
<option name="bookmark" value="/Movies/New"/>
<option name="children-only" value="true"/>
<description>Movies in the New folder</description>
<tag value="video"/>
<view-source name="sagevideoimportsv7"/>
</view>
</views>
</vfs>
-------------------
I have multiple import directories. Eg. \\HOMESERVER\Videos\Cartoons, \\HOMESERVER\Videos\Music Vids etc.
I first created the client's userdata structure, copied your example in, then changed the display name to Cartoons. When I opened the media browser it showed up as an option, and when chosen, displayed some files. I tried changing the path (and renamed the "label" to ensure it was reading the changes), without being able to narrow down the path.
I am going to change my Cartoon collection to type - TV as I prefer them to be displayed like archived TV (double list and episode) as opposed to Movies.
THanks in advance
Grant
stuckless
03-21-2011, 09:11 AM
Probably the best way to do this is to open the Sage Video Imports (Combined) view in bmt and take note of the folders that are showing as you are navigating. The bookmark is not a physical location but rather a virtual location relative to the view.
So, in my case when opened my Sage Video Imports View (Combined) view in bmt, I see the following folders... "Magic Videos", "Movies", "Music Videos"
Then under "Movies", is see, "Kids", "DVD", "New", "Christmas".
So my bookmark value ends up being
"/Movies/New", since I wanted to navigate to the "Movies" folder followed by the "New" folder. Case matters, and you must use "/" to separate the names.
Based on your video imports that you lised, I think in the "Sage Video Imports (Combined)" view you'll see "Cartoons" and "Music Vids", so your bookmark will be
<option name="bookmark" value="/Cartoons"/>
vBulletin® v3.7.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.