iOS controller ignores albumArtURI - sonos

Seeing a strange issue for the "Hype Machine" Sonos app where the iOS controller is not displaying album art provided by albumArtURI. The artwork shows up on the OS X controller.
The custom browse icons ARE working in this configuration, but that's a different section, of course.
pmap:
<?xml version="1.0" encoding="utf-8" ?>
<Presentation>
<PresentationMap type="BrowseIconSizeMap">
<Match>
<browseIconSizeMap>
<sizeEntry size="0" substitution="_legacy.png"/>
<sizeEntry size="40" substitution="_40.svg"/>
<sizeEntry size="290" substitution="_290.svg"/>
</browseIconSizeMap>
</Match>
</PresentationMap>
<PresentationMap type="ArtWorkSizeMap">
<Match>
<!-- Default URL provided: http://static-ak.hypem.net/thumbs_new/e1/2207457_120.jpg -->
<imageSizeMap>
<sizeEntry size="50" substitution=".jpg"/>
<sizeEntry size="120" substitution="_120.jpg"/>
<sizeEntry size="320" substitution="_320.jpg"/>
</imageSizeMap>
</Match>
</PresentationMap>
<PresentationMap type="InfoView">
<Match>
<MenuItemOverrides>
<MenuItem FailureStringId="SAVE_TRACK_FAILURE" InProgressStringId="SAVE_TRACK_DURING" MenuItem="AddTrackToFavorites" StringId="SAVE_TRACK" SuccessStringId="SAVE_TRACK_SUCCESS"/>
<MenuItem FailureStringId="DELETE_TRACK_FAILURE" InProgressStringId="DELETE_TRACK_DURING" MenuItem="RemoveTrackFromFavorites" PromptStringId="DELETE_TRACK_PROMPT" StringId="DELETE_TRACK" SuccessStringId="DELETE_TRACK_SUCCESS"/>
</MenuItemOverrides>
</Match>
</PresentationMap>
<PresentationMap type="NowPlayingRatings" trackEnabled="true">
<Match propname="isFav" value="1">
<Ratings>
<Rating Id="0" AutoSkip="NEVER" OnSuccessStringId="UNFAV_SUCCESS" StringId="UNFAV">
<Icon Controller="icr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/on_52.png"/>
<Icon Controller="acr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/on_52.png"/>
<Icon Controller="acr-hdpi" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/on_80.png"/>
<Icon Controller="macdcr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/on_40.png"/>
<Icon Controller="pcdcr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/on_40.png"/>
<Icon Controller="cr200" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/on_66.png"/>
<Icon Controller="universal" LastModified="11:11:11 24 Mar 2014" Uri="http://sonos-img.ws.sonos.com/love-selected.svg"/>
</Rating>
</Ratings>
</Match>
<Match propname="isFav" value="0">
<Ratings>
<Rating Id="1" AutoSkip="NEVER" OnSuccessStringId="FAV_SUCCESS" StringId="FAV">
<Icon Controller="icr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/off_52.png"/>
<Icon Controller="acr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/off_52.png"/>
<Icon Controller="acr-hdpi" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/off_80.png"/>
<Icon Controller="macdcr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/off_40.png"/>
<Icon Controller="pcdcr" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/off_40.png"/>
<Icon Controller="cr200" LastModified="14:00:00 17 Dec 2012" Uri="http://hypem.com/images/sonos/off_66.png"/>
<Icon Controller="universal" LastModified="11:11:11 24 Mar 2014" Uri="http://sonos-img.ws.sonos.com/love-unselected.svg"/>
</Rating>
</Ratings>
</Match>
</PresentationMap>
<PresentationMap type="Search">
<Match>
<SearchCategories>
<Category id="artists" mappedId="SART" />
<Category id="tracks" mappedId="STRK" />
<CustomCategory mappedId="SBLG" stringId="Blogs" />
</SearchCategories>
</Match>
</PresentationMap>
</Presentation>
Example response:
<ns1:mediaMetadata>
<ns1:id>TRACK:2crvj</ns1:id>
<ns1:itemType>track</ns1:itemType>
<ns1:title>Can I (Tez Cadey Remix)</ns1:title>
<ns1:mimeType>audio/mp3</ns1:mimeType>
<ns1:trackMetadata>
<ns1:artist>Alina Baraz & Galimatias</ns1:artist>
<ns1:duration>185</ns1:duration>
<ns1:albumArtURI>http://static.hypem.net/thumbs_new/71/2808433_120.jpg</ns1:albumArtURI>
<ns1:canPlay>true</ns1:canPlay>
<ns1:canSkip>true</ns1:canSkip>
</ns1:trackMetadata>
<ns1:dynamic>
<ns1:property>
<ns1:name>isFav</ns1:name>
<ns1:value>0</ns1:value>
</ns1:property>
</ns1:dynamic>
</ns1:mediaMetadata>
Any idea what is incorrect about this configuration?
Thank you.
UPDATE: For those curious, a solution that worked here is to provide ArtWorkSizeMap entries that match exactly what the controllers require, even if the subsequent image size doesn't match the advertised size.
This entry made the images start showing up:
<imageSizeMap>
<sizeEntry size="50" substitution=".jpg"/>
<sizeEntry size="80" substitution="_120.jpg"/>
<sizeEntry size="120" substitution="_120.jpg"/>
<sizeEntry size="180" substitution="_320.jpg"/>
<sizeEntry size="300" substitution="_320.jpg"/>
<sizeEntry size="600" substitution="_320.jpg"/>
<sizeEntry size="1000" substitution="_320.jpg"/>
<sizeEntry size="1500" substitution="_320.jpg"/>
</imageSizeMap>

I wanted to follow up on this. We have updated the documentation on the portal located here: http://musicpartners.sonos.com/node/366
Anthony, it seems if you use this URI as the base, everything should work:
http://static.hypem.net/thumbs_new/71/2808433.jpg
(or removing the 50 replacement and letting Sonos re-size at run-time would work)

Related

Outlook Web Add-In error 'There were deployment errors. Continue?'

Currently I'm working on an Outlook Add-In using Visual Studio 2022 with React (TypeScript). When starting the application a message box appears containing following message:
There were deployment errors. Continue?
The output of the build console doesn't help at all because it only says that an error has occurred but without any further information.
Is there any way to get more error details or does anyone know how to fix this?
Manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0" xsi:type="MailApp">
<Id>0ca51293-705c-45d5-975c-e59909dab3ea</Id>
<Version>1.0.0.0</Version>
<ProviderName>Company</ProviderName>
<DefaultLocale>de-DE</DefaultLocale>
<DisplayName DefaultValue="OutlookAddInWeb" />
<Description DefaultValue="OutlookAddInWeb Description" />
<IconUrl DefaultValue="~remoteAppUrl/Images/Button64x64.png" />
<HighResolutionIconUrl DefaultValue="~remoteAppUrl/Images/Button80x80.png" />
<SupportUrl DefaultValue="https://www.somesite.com/" />
<AppDomains>
<AppDomain>https://login.microsoftonline.com</AppDomain>
<AppDomain>https://localhost:44488</AppDomain>
</AppDomains>
<Hosts>
<Host Name="Mailbox" />
</Hosts>
<Requirements>
<Sets>
<Set Name="Mailbox" MinVersion="1.1" />
</Sets>
</Requirements>
<FormSettings>
<Form xsi:type="ItemEdit">
<DesktopSettings>
<SourceLocation DefaultValue="~remoteAppUrl/" />
</DesktopSettings>
</Form>
</FormSettings>
<Permissions>ReadWriteItem</Permissions>
<Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
<DisableEntityHighlighting>false</DisableEntityHighlighting>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
<Requirements>
<bt:Sets DefaultMinVersion="1.5">
<bt:Set Name="Mailbox" />
</bt:Sets>
</Requirements>
<Hosts>
<Host xsi:type="MailHost">
<DesktopFormFactor>
<FunctionFile resid="Commands.Url" />
<ExtensionPoint xsi:type="MessageComposeCommandSurface">
<OfficeTab id="TabDefault">
<Group id="msgComposeGroup">
<Label resid="GroupLabel" />
<Control xsi:type="Button" id="msgComposeOpenPaneButton">
<Label resid="TaskpaneButton.Label" />
<Supertip>
<Title resid="TaskpaneButton.Label" />
<Description resid="TaskpaneButton.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Icon.16x16" />
<bt:Image size="32" resid="Icon.32x32" />
<bt:Image size="80" resid="Icon.80x80" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="Taskpane.Url" />
</Action>
</Control>
<Control xsi:type="Button" id="ActionButton">
<Label resid="ActionButton.Label" />
<Supertip>
<Title resid="ActionButton.Label" />
<Description resid="ActionButton.Tooltip" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Icon.16x16" />
<bt:Image size="32" resid="Icon.32x32" />
<bt:Image size="80" resid="Icon.80x80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>action</FunctionName>
</Action>
</Control>
</Group>
</OfficeTab>
</ExtensionPoint>
</DesktopFormFactor>
</Host>
</Hosts>
<Resources>
<bt:Images>
<bt:Image id="Icon.16x16" DefaultValue="~remoteAppUrl/Images/Button16x16.png" />
<bt:Image id="Icon.32x32" DefaultValue="~remoteAppUrl/Images/Button32x32.png" />
<bt:Image id="Icon.80x80" DefaultValue="~remoteAppUrl/Images/Button80x80.png" />
</bt:Images>
<bt:Urls>
<bt:Url id="Commands.Url" DefaultValue="~remoteAppUrl/commands.html" />
<bt:Url id="Taskpane.Url" DefaultValue="~remoteAppUrl/" />
</bt:Urls>
<bt:ShortStrings>
<bt:String id="GroupLabel" DefaultValue="Outlook Add-in" />
<bt:String id="TaskpaneButton.Label" DefaultValue="Show Taskpane" />
<bt:String id="ActionButton.Label" DefaultValue="Perform an action" />
</bt:ShortStrings>
<bt:LongStrings>
<bt:String id="TaskpaneButton.Tooltip" DefaultValue="Opens a pane displaying all available properties." />
<bt:String id="ActionButton.Tooltip" DefaultValue="Perform an action when clicked." />
</bt:LongStrings>
</Resources>
<WebApplicationInfo>
<Id>1d32bd7d-70ab-42b5-b11a-8e73a6b8ab4a</Id>
<Resource>api://localhost:44488/1d32bd7d-70ab-42b5-b11a-8e73a6b8ab4a</Resource>
<Scopes>
<Scope>openid</Scope>
<Scope>profile</Scope>
</Scopes>
</WebApplicationInfo>
</VersionOverrides>
</VersionOverrides>
</OfficeApp>
Use https://learn.microsoft.com/en-us/office/dev/add-ins/testing/troubleshoot-manifest to validate your manifest file. There are issues with your manifest file.

Outlook Add-ins OWA ios not loading

I'm a little stump with what's wrong with my manifest that my add-in won't load on the web version of Outlook 365. It loads just fine on the native iOS outlook and on desktop web browsers in outlook.office365.com. I followed the samples provided on how to Add MobileFormFactor, but can't get the icon to appear when I read an email.
My manifest validator says i'm ok so far.
Manifest Validation
here is my manifest.
<MobileFormFactor>
<ExtensionPoint xsi:type="MobileMessageReadCommandSurface">
<Group id="mobileMsgRead">
<Label resid="groupLabel" />
<Control xsi:type="MobileButton" id="TaskPaneBtn">
<Label resid="restpaneReadButtonLabel" />
<Icon xsi:type="bt:MobileIconList">
<bt:Image size="25" scale="1" resid="mobile-32" />
<bt:Image size="25" scale="2" resid="mobile-32" />
<bt:Image size="25" scale="3" resid="mobile-32" />
<bt:Image size="32" scale="1" resid="mobile-32" />
<bt:Image size="32" scale="2" resid="mobile-32" />
<bt:Image size="32" scale="3" resid="mobile-32" />
<bt:Image size="48" scale="1" resid="mobile-32" />
<bt:Image size="48" scale="2" resid="mobile-32" />
<bt:Image size="48" scale="3" resid="mobile-32" />
</Icon>
<Action xsi:type="ShowTaskpane">
<SourceLocation resid="readTaskPaneUrl" />
</Action>
</Control>
</Group>
</ExtensionPoint>
</MobileFormFactor>
Try adding the following at the end of your <Form> element:
<TabletSettings>
<SourceLocation DefaultValue="https://dev2.practicepanther.com/outlook" />
<RequestedHeight>250</RequestedHeight>
</TabletSettings>
<PhoneSettings>
<SourceLocation DefaultValue="https://dev2.practicepanther.com/outlook" />
</PhoneSettings>
Does that help?

Oracle - How to Capture a value Under an XML TAG

Need Help with the below.
If i wanted to capture a value for a particular tag , how do i approach the same ?. for example
I wanted to capture the value(800.422.2762 (U.S. and Canada)) from the highlighted tag .
<text top="89" left="611" width="177" height="11" font="1">800.422.2762 (U.S. and Canada)</text>
in short , I wanted to hardcode this tag to capture the underlying value every time my program runs .
Sample XML:
<?xml version="1.0" encoding="UTF-8"?>
<pdf2xml producer="popple`enter code here`r" version="0.51.0">
<page number="1" position="absolute" top="0" left="0" height="1188" width="918">
<fontspec id="0" size="27" family="Helvetica" color="#000000"/>
<fontspec id="1" size="9" family="Helvetica" color="#000000"/>
<fontspec id="2" size="9" family="Helvetica" color="#000000"/>
<fontspec id="3" size="9" family="Times" color="#000000"/>
<fontspec id="4" size="12" family="Helvetica" color="#000000"/>
<fontspec id="5" size="12" family="Helvetica" color="#000000"/>
<fontspec id="6" size="9" family="Helvetica" color="#000000"/>
<image top="27" left="54" width="203" height="108" src="ext-resources\bin\asdf-1_1.jpg"/>
<text top="103" left="346" width="123" height="28" font="0"><b>INVOICE</b></text>
<text top="75" left="611" width="211" height="11" font="1">+1 913.217.6000, Fax +1 913.341.3742</text>
<text top="89" left="611" width="177" height="11" font="1">800.422.2762 (U.S. and Canada)</text>
<text top="102" left="611" width="230" height="11" font="1">headquarters#armaintl.org, www.arma.org</text>
<text top="32" left="611" width="104" height="11" font="1">ARMA International</text>
</page>
</pdf2xml>
So far, i have tried the below approach.
I am succeeded in extracting the data but i wanted to extract a particular value based on the hard coded tag. Kindly Help with the approach.
WITH data
AS (SELECT xmltype (
'<?xml version="1.0" encoding="UTF-8"?>
<pdf2xml producer="popple`enter code here`r" version="0.51.0">
<page number="1" position="absolute" top="0" left="0" height="1188" width="918">
<fontspec id="0" size="27" family="Helvetica" color="#000000"/>
<fontspec id="1" size="9" family="Helvetica" color="#000000"/>
<fontspec id="2" size="9" family="Helvetica" color="#000000"/>
<fontspec id="3" size="9" family="Times" color="#000000"/>
<fontspec id="4" size="12" family="Helvetica" color="#000000"/>
<fontspec id="5" size="12" family="Helvetica" color="#000000"/>
<fontspec id="6" size="9" family="Helvetica" color="#000000"/>
<image top="27" left="54" width="203" height="108" src="ext-resources\bin\asdf-1_1.jpg"/>
<text top="103" left="346" width="123" height="28" font="0"><b>INVOICE</b></text>
<text top="75" left="611" width="211" height="11" font="1">+1 913.217.6000, Fax +1 913.341.3742</text>
<text top="89" left="611" width="177" height="11" font="1">800.422.2762 (U.S. and Canada)</text>
<text top="102" left="611" width="230" height="11" font="1">headquarters#armaintl.org, www.arma.org</text>
<text top="32" left="611" width="104" height="11" font="1">ARMA International</text>
</page>
</pdf2xml>')
xmldoc
FROM DUAL)
SELECT x.*
FROM data,
XMLTABLE ('/pdf2xml/page/text'
PASSING xmldoc
COLUMNS text VARCHAR2 (50) PATH '/text') x
/
Output:
TEXT
--------------------------------------------------
INVOICE
+1 913.217.6000, Fax +1 913.341.3742
800.422.2762 (U.S. and Canada)
headquarters#armaintl.org, www.arma.org
ARMA International
Just change the XQuery from
'/pdf2xml/page/text'
to
'/pdf2xml/page/text[#top=89]'
and the result will be
800.422.2762 (U.S. and Canada)
If you only have one source document and only want one node value, you could use XMLQuery instead of XMLTable, with a slightly variation on #wolφi's XPath:
select XMLQuery('/pdf2xml/page/text[#top=89]/text()'
passing xmldoc
returning content) as text
from data;
which gives you an XML fragment, or
select XMLQuery('/pdf2xml/page/text[#top=89]/text()'
passing xmldoc
returning content).getStringVal() as text
from data;
which gives you a string:
TEXT
------------------------------
800.422.2762 (U.S. and Canada)
XMLTable is the way to go if you really have multiple documents or nodes though, of course.
Or change the query into:
SELECT x.*
FROM data,
XMLTABLE ('/pdf2xml/page/text'
PASSING xmldoc
COLUMNS
text VARCHAR2 (50) PATH '/text',
top number PATH '#top',
left number PATH '#left',
width number PATH '#width',
height number PATH '#height',
font number PATH '#font'
) x
where x.top = 89
and x.left = 611
and x.width = 177
and x.height = 11
and x.font = 1;

Post Array type of Xml data to Http calls

Hi i just want to know how to post xml data to Http post method in Objective-C by dynamically instead of static string Appending
here my sample xml Data :
<xml-packet version="2.5" ctr="1" timestamp="1345193301000">
<device id="0" name="hh" ipaddr="0.0.0.1" type="Hello" status="NORMAL"
capability="ios">
<devcice name="5s" type="2" status="NORMAL">
<sensor name="sample" type="" status="NORMAL">
<event timestamp="1345193300000" type="ITEM">
<position agid="3" name="Manager" lastsynctime="1344433367000" action="" />
<position agid="6" name="LOC3" lastsynctime="1343818867000" action="" />
<position agid="8" name="LOC5" lastsynctime="1344433367000" action="" />
<position agid="4" name="LOC1" lastsynctime="1344504045000" action="" />
<position agid="5" name="LOC2" lastsynctime="1343386683000" action="" />
<position agid="7" name="LOC4" lastsynctime="1344238182000" action="" />
</event>
<event timestamp="1345192938000" type="ITEM">
<position agid="1" name="CEO" lastsynctime="1344594202000" action="update">
<item id="ac001520101217000a012222" result="" status="NEW" lastmodifiedtime="" />
<item id="e20019838306016127500770" result="" status="NEW" lastmodifiedtime="" />
<item id="e20019838309014424301e64" result="" status="NEW" lastmodifiedtime="" />
<item id="2005790000000000000005fc" result="" status="MISSING" lastmodifiedtime="1345212728000" />
<item id="00000000012102007400bd39" result="" status="MISSING" lastmodifiedtime="1344594171000" />
</position>
</event>
</sensor>
</device>
</xml-packet>

How can I add a record with a foreign key using entity framework?

I'm trying to add records to my database through XML files like this one:
<Answers ExamID="1" StudentID="abcd" Date="10/26/2011 11:50:34 AM" Seed="495"
IsSED="False">
<Summary>
<Objective ID="1" MakeUp="False" Quantify="5" Difficulty="Easy"
Accredited="True" Produced="True">
<Details Result="0" Date="10/26/2011 11:35:18 AM" />
<Details Result="1" Date="10/26/2011 11:50:34 AM" />
</Objective>
<Objective ID="2" MakeUp="True" Quantify="5" Difficulty="Easy"
Accredited="False" Produced="True">
<Details Result="0" Date="10/26/2011 11:35:18 AM" />
<Details Result="0" Date="10/26/2011 11:50:34 AM" />
</Objective>
</Summary>
<Answer ProblemID="0" ObjectiveID="1" IsCorrect="True" Difficulty="Easy">
<Result DataType="System.Decimal" Value="9" />
</Answer>
<Answer ProblemID="0" ObjectiveID="1" IsCorrect="True" Difficulty="Easy">
<Result DataType="System.Decimal" Value="20" />
</Answer>
<Answer ProblemID="0" ObjectiveID="1" IsCorrect="True" Difficulty="Easy">
<Result DataType="System.Decimal" Value="16" />
</Answer>
<Answer ProblemID="0" ObjectiveID="1" IsCorrect="True" Difficulty="Easy">
<Result DataType="System.Decimal" Value="36" />
</Answer>
<Answer ProblemID="0" ObjectiveID="1" IsCorrect="True" Difficulty="Easy">
<Result DataType="System.Decimal" Value="18" />
</Answer>
<Answer ProblemID="0" ObjectiveID="2" IsCorrect="False" Difficulty="Easy">
<Result DataType="System.Decimal" Value="Null" />
</Answer>
<Answer ProblemID="0" ObjectiveID="2" IsCorrect="False" Difficulty="Easy">
<Result DataType="System.Decimal" Value="Null" />
</Answer>
<Answer ProblemID="0" ObjectiveID="2" IsCorrect="False" Difficulty="Easy">
<Result DataType="System.Decimal" Value="Null" />
</Answer>
<Answer ProblemID="0" ObjectiveID="2" IsCorrect="False" Difficulty="Easy">
<Result DataType="System.Decimal" Value="Null" />
</Answer>
<Answer ProblemID="0" ObjectiveID="2" IsCorrect="False" Difficulty="Easy">
<Result DataType="System.Decimal" Value="Null" />
</Answer>
</Answers>
Please, check the diagram. I need to get some data to add records to EXAM PRODUCED, EXERCISE AND ANSWER tables (entities).
In EXAM PRODUCED, I've got a field called ExamID hide. My main problem is, how can I to reference the current file to the exam?
Do you think I need to create a stored procedure and SQL SERVER must do this?
Or using Linq to SQL?
I'm a bit confused with this situation.
You can add an ExamProduced instance to the ExamsProduced collection of Exam. The DbContext will set the ExamId on insert.