Post Reply 
incorrect tag for option indexValue.yearOnly
13-04-2013, 23:46
Post: #1
incorrect tag for option indexValue.yearOnly
Hi,

I separate between the release date and the original release date of an album with the entries 'Date' and 'OriginalDate' in the indexTags property.
When applying the indexValue.yearOnly tag option to Date, it works fine. However, when applying it to OriginalDate, I get a red icon with the following message:
MinimServer: incorrect tag 'OriginalDate' for option 'indexValue.yearOnly' in property 'tagOptions'

Is the indexValue.yearOnly option valid for the Date tag only?
Find all posts by this user
Quote this message in a reply
14-04-2013, 08:48
Post: #2
RE: incorrect tag for option indexValue.yearOnly
(13-04-2013 23:46)winxi Wrote:  Hi,

I separate between the release date and the original release date of an album with the entries 'Date' and 'OriginalDate' in the indexTags property.
When applying the indexValue.yearOnly tag option to Date, it works fine. However, when applying it to OriginalDate, I get a red icon with the following message:
MinimServer: incorrect tag 'OriginalDate' for option 'indexValue.yearOnly' in property 'tagOptions'

Is the indexValue.yearOnly option valid for the Date tag only?

At the moment, this option is limited to the Date tag only. This is because Date is handled specially in various ways (validation and formatting as well as indexing).

To allow indexValue.yearOnly to be applied to other tags, I'd need to do one of the following:

1) Apply all the special processing for Date to any other tags that have the indexValue.yearOnly option

2) Apply the indexValue.yearOnly rule to these other tags, but don't apply any other special processing

I'll think about which of these approaches would work best. Do you have a strong preference between them?
Find all posts by this user
Quote this message in a reply
14-04-2013, 14:35
Post: #3
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 08:48)simoncn Wrote:  At the moment, this option is limited to the Date tag only. This is because Date is handled specially in various ways (validation and formatting as well as indexing).

To allow indexValue.yearOnly to be applied to other tags, I'd need to do one of the following:

1) Apply all the special processing for Date to any other tags that have the indexValue.yearOnly option

2) Apply the indexValue.yearOnly rule to these other tags, but don't apply any other special processing

I'll think about which of these approaches would work best. Do you have a strong preference between them?

No, I don't have a strong preference between these two approaches, as with both I could easily achieve the desired display. With option 2) I think I would just have to reverse the list sort order for the OriginalDate index tag.
As for option 2), I think it might lead to confusion if there is applied special processing also to other tags than date. My view is that the most generic way would be that even Date is treated as every other tag. There could be an additional tag option 'treatAsDate' which applies all the special processing. By default, MinimServer could set tagOption to Date.treatAsDate, and indexTag to -Date to reverse the sort order. However, this may lead to extra complexity.

As an additional suggestion, it would be worth considering that the indexValue.yearOnly option should also apply when using $date in a format item in the tagFormat property. Taking the example from the user guide and presuming a DATE tag value 1970-05-08,
Title.displayFormat={$title^$date^ [^]}
now results in
Let It Be [1970-05-08]
even when Date.indexValue.yearOnly is set in tagOptions.
Find all posts by this user
Quote this message in a reply
14-04-2013, 15:21
Post: #4
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 14:35)winxi Wrote:  No, I don't have a strong preference between these two approaches, as with both I could easily achieve the desired display. With option 2) I think I would just have to reverse the list sort order for the OriginalDate index tag.

Do you have an index for ReleaseDate and a separate index for Date? If you are happy to merge these indexes, the simplest solution is to use aliasTags to rename ReleaseDate tags to Date.

If you do want these indexed separately, which of them are you expecting to be sent to the control point in the <dc:date> XML tag?

Quote:As for option 2), I think it might lead to confusion if there is applied special processing also to other tags than date. My view is that the most generic way would be that even Date is treated as every other tag. There could be an additional tag option 'treatAsDate' which applies all the special processing. By default, MinimServer could set tagOption to Date.treatAsDate, and indexTag to -Date to reverse the sort order. However, this may lead to extra complexity.

I agree that this would cause extra complexity. I'd prefer to find a simpler solution to your requirement.

Quote:As an additional suggestion, it would be worth considering that the indexValue.yearOnly option should also apply when using $date in a format item in the tagFormat property. Taking the example from the user guide and presuming a DATE tag value 1970-05-08,
Title.displayFormat={$title^$date^ [^]}
now results in
Let It Be [1970-05-08]
even when Date.indexValue.yearOnly is set in tagOptions.

This would be a displayValue option, not an indexValue option.
Find all posts by this user
Quote this message in a reply
14-04-2013, 15:40
Post: #5
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 15:21)simoncn Wrote:  Do you have an index for ReleaseDate and a separate index for Date? If you are happy to merge these indexes, the simplest solution is to use aliasTags to rename ReleaseDate tags to Date.

If you do want these indexed separately, which of them are you expecting to be sent to the control point in the <dc:date> XML tag?

Yes, I want to merge these and I already use ReleaseDate:Date in aliasTags. This gives me the desired result and it works just great. My only concern is that I want to show also for the OriginalDate indexTag just YYYY instead of YYYY-MM-DD. I would be very happy with either your proposed approaches.

Quote:This would be a displayValue option, not an indexValue option.

I think I still didn't get the point in the difference between a displayValue and an indexValue option and also in the difference between displayFormat and indexFormat in the tagFormat property. I might have missed this in the user guide. Could you please point me in the right direction concerning these differences? Thanks!
Find all posts by this user
Quote this message in a reply
14-04-2013, 15:59
Post: #6
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 15:40)winxi Wrote:  Yes, I want to merge these and I already use ReleaseDate:Date in aliasTags. This gives me the desired result and it works just great. My only concern is that I want to show also for the OriginalDate indexTag just YYYY instead of YYYY-MM-DD. I would be very happy with either your proposed approaches.

I'm sorry for confusing releaseDate and originalDate in my previous post. I meant to ask if you want to have separate indexes for OriginalDate and Date. From this reply, I presume you do want separate indexes and you don't want to send the OriginalDate value to the control point. In this case, I think the simplest solution is for MinimServer to allow indexValue.yearOnly to be applied to any tag in indexTags, without overloading this with any other semantics.

Quote:I think I still didn't get the point in the difference between a displayValue and an indexValue option and also in the difference between displayFormat and indexFormat in the tagFormat property. I might have missed this in the user guide. Could you please point me in the right direction concerning these differences? Thanks!

The indexValue and indexFormat options control what appears in the MinimServer index, and they don't affect what XML data is sent to the control point.

The displayFormat, displayRoles and display options control what XML data is sent to the control point, and they don't affect what appears in the MinimServer index.

The sortValue and sortTags options control the sort order that MinimServer uses for index lists and lists sent to the control point.
Find all posts by this user
Quote this message in a reply
14-04-2013, 16:16
Post: #7
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 15:59)simoncn Wrote:  I'm sorry for confusing releaseDate and originalDate in my previous post. I meant to ask if you want to have separate indexes for OriginalDate and Date. From this reply, I presume you do want separate indexes and you don't want to send the OriginalDate value to the control point. In this case, I think the simplest solution is for MinimServer to allow indexValue.yearOnly to be applied to any tag in indexTags, without overloading this with any other semantics.

Your presumption is correct Smile

Quote:The indexValue and indexFormat options control what appears in the MinimServer index, and they don't affect what XML data is sent to the control point.

The displayFormat, displayRoles and display options control what XML data is sent to the control point, and they don't affect what appears in the MinimServer index.

The sortValue and sortTags options control the sort order that MinimServer uses for index lists and lists sent to the control point.

Many thanks for helping me to understand this! I'm not so familiar with the mechanics of the UPnP protocol, so sorry for my basic questions.
By 'what appears in the MinimServer index', do you mean how the data is handled internally in MinimServer and not seen by the user? Can you provide an application example for the indexFormat option?
Find all posts by this user
Quote this message in a reply
14-04-2013, 16:48
Post: #8
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 16:16)winxi Wrote:  Many thanks for helping me to understand this! I'm not so familiar with the mechanics of the UPnP protocol, so sorry for my basic questions.
By 'what appears in the MinimServer index', do you mean how the data is handled internally in MinimServer and not seen by the user? Can you provide an application example for the indexFormat option?

The MinimServer index is what you use to browse and select your music. For example, when you select "Artist" from the top-level menu, you get a list (index) of artist values. These values are formatted according to the Artist.indexFormat setting (if any). Similarly, when you select "Date" from the top-level menu, you get a list (index) of all the dates for your albums and tracks. These dates are formatted according to the Date.indexValue setting (if any).

At present, the only indexFormat option that MinimServer supports is Artist.indexFormat, and the only indexValue option that MinimServer supports is Date.indexValue.yearOnly.
Find all posts by this user
Quote this message in a reply
14-04-2013, 17:28
Post: #9
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 16:48)simoncn Wrote:  The MinimServer index is what you use to browse and select your music. For example, when you select "Artist" from the top-level menu, you get a list (index) of artist values. These values are formatted according to the Artist.indexFormat setting (if any). Similarly, when you select "Date" from the top-level menu, you get a list (index) of all the dates for your albums and tracks. These dates are formatted according to the Date.indexValue setting (if any).

At present, the only indexFormat option that MinimServer supports is Artist.indexFormat, and the only indexValue option that MinimServer supports is Date.indexValue.yearOnly.

I see, thanks again. However, when i select albums from the top-level menu (e.g. in Kinsky or BubbleUPnP), I see the albums formatted according to displayFormat. So I'm still not completeley sure about the difference between 'MinimServer index' and 'XML data that is sent to the control point'.
Find all posts by this user
Quote this message in a reply
14-04-2013, 17:42
Post: #10
RE: incorrect tag for option indexValue.yearOnly
(14-04-2013 17:28)winxi Wrote:  I see, thanks again. However, when i select albums from the top-level menu (e.g. in Kinsky or BubbleUPnP), I see the albums formatted according to displayFormat. So I'm still not completeley sure about the difference between 'MinimServer index' and 'XML data that is sent to the control point'.

The 'n albums' and 'n items' selections are not index selections. They display lists of media objects, similar to the list of tracks you would see if you opened an album. These media objects are formatted according to the display* series of options.

The index selections are the names in the indexTags property. Each of these displays a list of choices, and these choices are formatted according to the index* series of options.

I'm finding this discussion very useful. Please continue to ask questions and suggest ways I could clarify this distinction.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)