Digital Media Suite API Forums

« Back to Digital Signs API Forum

Can I pass extra information to DMM when displaying a playlist.

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
I am new to the DMM/DMP suite so bear with me.
Through an http client I need to be able to display text on a series of DMPs. The text will vary each time I want to display it and each DMP might get slightly different text.
This of it like this:
One day the message might be: "Happy Birthday Bob", the next day it might be "Donuts in the Breakroom". The general display would be the same, jus the text would change.
 
As I understand the DMM/DMP suite I could do the following through the rest API.
1) create an asset on my client for each message.
2) upload the asset to the DMM
3) create a playlist and assign the asset uploaded in step 2 to that playlist
4) tell the DMM to activate the playlist just created to whichever DMPs I desire.
 
I'm quite certain this will work, but it entails publishing a lot of stuff that will only be useful for the duration of the playlist which may only be a few minutes. At that time I now have a cleanup issue to get rid of these assets that will never be used again. I can certainly do it through the rest api, but it seems like a lot of housekeeping.
 
What I would like to do if possible is the following:
1) Create one playlist through any mechanism desired.
 
Then when I need to display the playlist on some DMPs just tell the DMM, through the REST api, to display it and, oh by the way, here is some extra text I want you to display within the playlist (Bob's Birthday, or Donuts in the Breakroom).
 
This solution would have the advantage of not having any content to really manage. It's just the one playlist. It would also still be able to take full advantage of the DMM's management capabilities.
 
I've been able to do something similar to this by uploading an html page with javascript in it that can read query string parameters to the DMM then I tell each DMP through the :7777 port set_param= to tell the tvzilla browser to load this page and I pass in the extra arguments. This technically works, but I lose a lot of the management capabilities of the DMM, (specifically surrounding emergency messages).
 
Is there a better way to do this?
 
Is there something I am missing entirely regarding the existing functionality in the DMM/DMP suite that makes this task much simpler than I am grasping. That wouldn't surprise me given the spartan developer's documentation I have found to date.

You can go into the DMM and upload an HTML asset. From there you can display this html asset on any number of playlists or presentations and deploy to your DMPs. Once you have done this, you can edit the text on your web page as needed, and the changes should be reflected in all of your playlists and presentations. One point to note is that this will not work with the 4310 (which has no browser).

-Hashir

i need to do the same of above,,, and i understand the way on HTML, but here i m using the 4310 DMP, so wht's the solution for this???

You can go into the DMM and upload an HTML asset. From there you can display this html asset on any number of playlists or presentations and deploy to your DMPs. Once you have done this, you can edit the text on your web page as needed, and the changes should be reflected in all of your playlists and presentations. One point to note is that this will not work with the 4310 (which has no browser).

-Hashir

 
Hashir,
Your suggested solution won't work because each DMP might be displaying a different piece of text at the same time. I would need a different html page for each display. The option you suggested would require each DMP to display the same thing. I was in contact with a Cisco person about this about a month ago and he agreed that there is no way to do the elegant solution and I am forced to create an asset and playlist each time I want to display something unique.

then you can biuld a playlist for each zone..

then you can biuld a playlist for each zone..

The use cases we need to accommodate would make it difficult (actually impossible) to pre-define zones.
 
The fundemental enhancement that would make all of this work would be to add the ability to pass additional parameters to the DMM REST interface for activating a playlist that would then be passed to each DMP. Then I can move control for content from the DMM to the DMP through either javascript or flash http callbacks. This would be a very flexible and useful enhancement.

Yes, there is a better way. You will likely have some standard content, put that in a playlist inside a presentation. When you want these custom messages to play add an item that points to a web service like- http://internal.mycompany.com/myserver/todaysmessage.php (or asp, cgi, etc..)

At that URL you have built a web service that accepts the incoming request, processes any data necessary to make a decision and returns the appropriate piece of content. You will also need a front end for someone to define the messages and the rules that define when and where they will play. That might be as simple as an XML file or a more complex database, its up to you.

There are some slight variations in the exact methods you will use based on which player you have. The 4400 is a little different from the 4310.

Yes, there is a better way. You will likely have some standard content, put that in a playlist inside a presentation. When you want these custom messages to play add an item that points to a web service like- http://internal.mycompany.com/myserver/todaysmessage.php (or asp, cgi, etc..)

At that URL you have built a web service that accepts the incoming request, processes any data necessary to make a decision and returns the appropriate piece of content. You will also need a front end for someone to define the messages and the rules that define when and where they will play. That might be as simple as an XML file or a more complex database, its up to you.

There are some slight variations in the exact methods you will use based on which player you have. The 4400 is a little different from the 4310.

 
Greg, we talked about this over the phone. That's the solution I wanted to implement. But it isn't possible through the REST api because there is no way to pass a messageID to each DMP to know which message to load.
 
Say for example my xml service that has the custom text would be http://internal.mycompany.com/myserver/messageService?messageId=<##> where <##> is the message I am interested in loading.
 
I could load an html with javascript or flash application to the DMM that can make an ajax call back to http://internal.mycompany.com/myserver/messageService?messageId=<##>. I could then create a playlist (let's call it EmergMsg) that contains this html page with the javascript.
 
Then say I have 2 DMP Groups (ex. BostonOffice and ChicagoOffice). Now I have two events that require me to push out emergency playlists at the same time (A hazmet situation in Chicago and a tornado warning in Boston). The message ID for the hazmet is 1234 and the message ID for the tornado warning is 55433.
 
There is no way, through the REST interface to tell the DMM the following: "For the Boston DMPGroup activate the EmergMsg playlist and include a messageID=55433". Simultaneously I would have another playlist activation REST command say "For the Chicago DMPGroup load the EmergMsg playlist and include the messageID=1234". Note, the only difference between the requests would be the messageID.
 
For this to work correctly I would have to have three things happen:
1) There would have to be a mechanism in the activation REST api that allows me to pass a specific messageID= value unique for each DMP or DMPGroup
2) That REST api would have to be able to pass that messageID= key/value pair to each DMP that is to load the playlist.
3) My html javascript or flash application would have to be able to read that messageID= value so it can construct the http://internal.mycompany.com/myserver/messageService?messageId= with the appropriate messageID value.
 
If that functionality were added to the DMM/DMP suite I would change my current implementation in a heartbeat.