• sammyd
  • NEWBIE
  • 0 Points
  • Member since 2010

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 28
    Replies

We want to use Service Cloud Console, which runs off of a View definition.

 

the UI & data for picking our product/serviceable component will not fit into the View list definition tool

 

When the service rep selects a case from the console list, the list is no longer shown.. working the selected

case might be hours worth of work.. with the list of cases not shown..

 

we want to tell the service rep somehow that a new case has arrived that is higher priority than the one they are working on,

without having the user have to do something on the SF web page.. (alert popup, something)  cause the rep could be using

some other app during this long work period ( our cases last way longer than a day).

 

if we write our own service cloud console app, then we can do whatever we need.. I don't want to go there..

if we had 1000 pushtopics, we could get almost everythign we need.. but there are only 10 per org.

 

so, we are thinking how we could simulate what streaming does..  when a case changes, inform the interested parties..

we can build & store a soql stmt with a new view list type & UI.

if we somehow make a special case relationship object for each user for each case (inclusion list), then we could show THAT in the

std view list..

 

so, one idea is a shared folder, for each user with a list of related cases in it.  don't know if the system supports 1000 shared folders.

another idea is a junction object for each case ot each user when the view criteria  match.

another might be permission sets..

 

effectively we would have to run a trigger/workflow on any case change, and run all 1000 defined soql stmts and make/update the relationship in some way or another.   we have at least 10,000 case updates a day.

 

then we could use the new case console marque feature (added in summer 12) to poll to see if the list changed to add new priority 1 cases to the users list over what is already displayed on the console list (on the non-visible tab).

 

OR we could use a generic case streaming event to fire this check..  

when does streamimg event happen relative to triggers? (I hope guaranteed to be after.)

Ihate the inrush of streaming client callbacks on every event hit.. but such is the current limitations

 

man, if there were just more pushtopics..

so, my app is working.. but I notice that sometimes after receiving the event, I add some more code and recycle the app,

and I get a recurrance of the event that just processed.

 

If I wait 3-5 minutes (not tracking time really), then I don't get a recurrance.

 

is there an event lifetime I need to think about?

 

  • March 02, 2012
  • Like
  • 0

I am trying to collect all the data related to a custom object in a  single soql query (I am making the query call from the other side of a remote connection to my org, and only want to make one data transfer)

 

I have two custom objects  (comments__c and attachments) with master/detail look relationships to the source object(problem__c), and the query works fine

 

select id,priority__c,severity__c,summary__c,description__c,status__c,howtoreproduce__c,circumvention__c,impact__c,defectsystemnumber__c,(select name from attachments),(select name, body__c, created__c from comments__r) from problem__c where id='hhgkjhlkhhk'

 

I also have a junction object (map__c) which connects case to my problem__c object.

map__c : {name, id, {case__c: lookup case}, {prob__c:lookup problem__c}}

 

so I want to get fields out of the case record, linked thru the junction off this problem.

 

as a test , I 'should' be able to pull back the name field from the junction object using the normal syntax

 

select id, name, (select name from map__r) from problem__c where id='llllllll'

 

but I get a relationship error.."didn't understand the relationship map__r"

but this is the same syntax I used above for the other related objects..

 

once solved, I actually want to look thru the case lookup on the map to get case fields

 

select id, name (select case.number from case__r.map__r) from problem__c where id='kjkkjjlk'

 

(there could be more than one case related to this problem,so I need to get info from all of them)

(<- means pointing back to)

problem   list of comments (<- problem)

                  list of attachments (<- problem)

                  list of cases (<-problem thru junction object 'map')

                      (a case might be related to multiple problems, thus the need for the many to many junction)

 

thanks for any guidance.

 

  • March 01, 2012
  • Like
  • 0

I am using the sample java program and the Spring 12 api definition to by 'production' org.

 

I created a pushTopic,

ushTopic pushTopic = new PushTopic();
pushTopic.Name = 'updatedProblem';
pushtopic.Query = 'SELECT Id, Name, Description__c FROM Problem__c';
pushTopic.ApiVersion = 24.0;
pushTopic.NotifyForOperations = 'Update';
pushTopic.NotifyForFields = 'All';
insert pushTopic;

 

my java client is a cut/paste of the one in the api guide

http://www.salesforce.com/us/developer/docs/api_streaming/api_streaming.pdf#event_notification_rules_intro

 

I get

Running streaming client example....
Login successful!
Endpoint: https://na1-api.salesforce.com
Sessionid=00D30000000jo9e!AQQAQEbJr3rM1vgwppitYURcIplikvmta8l5u__5T7gmedcBDEctGGoRs262NxS7NzCet8jVIZLSExOaQZ0Ph6Xa5VBC4rP6
Waiting for handshake
[CHANNEL:META_HANDSHAKE]: {"id":"1","minimumVersion":"1.0","supportedConnectionTypes":["long-polling"],"successful":true,"channel":"/meta/handshake","clientId":"31dcwirt5psp2c12frbcxjofwtu","version":"1.0"}
[CHANNEL:META_CONNECT]: {"id":"2","successful":true,"advice":{"interval":0,"reconnect":"retry","timeout":110000},"channel":"/meta/connect"}
Subscribing for channel: /updatedProblem'
Waiting for streamed data from your organization ...
[CHANNEL:META_SUBSCRIBE]: {"id":"4","subscription":"/updatedProblem'","successful":true,"channel":"/meta/subscribe"}
[CHANNEL:META_CONNECT]: {"id":"3","successful":true,"channel":"/meta/connect"}

 

I edit an existing 'Problem' record, (I have disabled the trigger I created for this object) press save

 

nothing..

 

I have notify set to All

 

from the doc: (emphasis mine)

NotifyForFields Set to All
When you set the value of PushTopic.NotifyForFields to All, a change to any field value in the record causes the
Streaming API matching logic to evaluate the record to determine if a notification should be generated. Changes to record
field values cause this evaluation whether or not those fields are referenced in the PushTopic query SELECT clause or WHERE
clause.

 

I do see the cycle thru the read timeout and reconnect

  • February 07, 2012
  • Like
  • 0

As we evaluate SF Service Cloud, there is a hard problem to solve, and I'm looking for help.

 

our case attachments are stored on a system INSIDE our firewall. no access from the outside. The support engineer is using the SF app, from OUTSIDE the firewall, but I need to give them access to the files.. we use a custom secure application for that. launched from an intranet web server.. (applet)..   but.. I can't find a way to invoke the url for the intranet as it is on another domain from SF, and the xmlhttpprequest() fails for cross site scripting checks. 

 

I can't use the standard proxy approach, cause the proxy would run on the SF server outside the firewall, and it can't get back in from out there.. 

 

I have other apps I need to deploy in this area as well..  so this is a general problem, not a one timer..

 

funny, watching the httpwatch and firebug, the transactions actualy run fine, but the output is discarded at the httpresponse() callback method..  (under firefox.. IE 8 fails it right away,access denied)..

 

any ideas welcomed.. a real head banger..

 

Sam

Message Edited by sammyd on 03-18-2010 05:16 AM
  • March 17, 2010
  • Like
  • 0

We want to use Service Cloud Console, which runs off of a View definition.

 

the UI & data for picking our product/serviceable component will not fit into the View list definition tool

 

When the service rep selects a case from the console list, the list is no longer shown.. working the selected

case might be hours worth of work.. with the list of cases not shown..

 

we want to tell the service rep somehow that a new case has arrived that is higher priority than the one they are working on,

without having the user have to do something on the SF web page.. (alert popup, something)  cause the rep could be using

some other app during this long work period ( our cases last way longer than a day).

 

if we write our own service cloud console app, then we can do whatever we need.. I don't want to go there..

if we had 1000 pushtopics, we could get almost everythign we need.. but there are only 10 per org.

 

so, we are thinking how we could simulate what streaming does..  when a case changes, inform the interested parties..

we can build & store a soql stmt with a new view list type & UI.

if we somehow make a special case relationship object for each user for each case (inclusion list), then we could show THAT in the

std view list..

 

so, one idea is a shared folder, for each user with a list of related cases in it.  don't know if the system supports 1000 shared folders.

another idea is a junction object for each case ot each user when the view criteria  match.

another might be permission sets..

 

effectively we would have to run a trigger/workflow on any case change, and run all 1000 defined soql stmts and make/update the relationship in some way or another.   we have at least 10,000 case updates a day.

 

then we could use the new case console marque feature (added in summer 12) to poll to see if the list changed to add new priority 1 cases to the users list over what is already displayed on the console list (on the non-visible tab).

 

OR we could use a generic case streaming event to fire this check..  

when does streamimg event happen relative to triggers? (I hope guaranteed to be after.)

Ihate the inrush of streaming client callbacks on every event hit.. but such is the current limitations

 

man, if there were just more pushtopics..

so, my app is working.. but I notice that sometimes after receiving the event, I add some more code and recycle the app,

and I get a recurrance of the event that just processed.

 

If I wait 3-5 minutes (not tracking time really), then I don't get a recurrance.

 

is there an event lifetime I need to think about?

 

  • March 02, 2012
  • Like
  • 0

I am trying to collect all the data related to a custom object in a  single soql query (I am making the query call from the other side of a remote connection to my org, and only want to make one data transfer)

 

I have two custom objects  (comments__c and attachments) with master/detail look relationships to the source object(problem__c), and the query works fine

 

select id,priority__c,severity__c,summary__c,description__c,status__c,howtoreproduce__c,circumvention__c,impact__c,defectsystemnumber__c,(select name from attachments),(select name, body__c, created__c from comments__r) from problem__c where id='hhgkjhlkhhk'

 

I also have a junction object (map__c) which connects case to my problem__c object.

map__c : {name, id, {case__c: lookup case}, {prob__c:lookup problem__c}}

 

so I want to get fields out of the case record, linked thru the junction off this problem.

 

as a test , I 'should' be able to pull back the name field from the junction object using the normal syntax

 

select id, name, (select name from map__r) from problem__c where id='llllllll'

 

but I get a relationship error.."didn't understand the relationship map__r"

but this is the same syntax I used above for the other related objects..

 

once solved, I actually want to look thru the case lookup on the map to get case fields

 

select id, name (select case.number from case__r.map__r) from problem__c where id='kjkkjjlk'

 

(there could be more than one case related to this problem,so I need to get info from all of them)

(<- means pointing back to)

problem   list of comments (<- problem)

                  list of attachments (<- problem)

                  list of cases (<-problem thru junction object 'map')

                      (a case might be related to multiple problems, thus the need for the many to many junction)

 

thanks for any guidance.

 

  • March 01, 2012
  • Like
  • 0

Hi,

I am trying to build an app on .NET that uses the Streaming API and sends the notifications down to .NET Client. I am not sure i there is a Bayeux services references that can be used in .NET for this work.

 

Can anyone post any thoughts?

I receieved a question via email which I'll repost here, and answer:

 

Hi Greg,

I'm trying to interpret the Force.com Streaming API limits noted in the documentation. These are my questions:

1. "Maximum Number of Topics: 20" - is that referring to the total number of PushTopic records? Is that limit per user or per org?

2. "Maximum number of clients (subscribers) per topic: 10" - does that mean if I build a VF page that allows users to select streams to "follow" and deploy that into an org with 100 users, only 10 of them can subscribe to the same topic? Is that limit of 10 at any given moment, or is there a duration for which a subscription lives and "blocks" other subscribers?

  • February 27, 2012
  • Like
  • 0

Hi,

 

I want to generate an Enterprise WSDL file excluding one custom object.

We need to exclude one cutom object for security reason. Is there any way to do this?

 

Regards,

Nilesh.

Has anyone been able to get the streaming API to work with PHP? 

  • February 19, 2012
  • Like
  • 0

I am using the sample java program and the Spring 12 api definition to by 'production' org.

 

I created a pushTopic,

ushTopic pushTopic = new PushTopic();
pushTopic.Name = 'updatedProblem';
pushtopic.Query = 'SELECT Id, Name, Description__c FROM Problem__c';
pushTopic.ApiVersion = 24.0;
pushTopic.NotifyForOperations = 'Update';
pushTopic.NotifyForFields = 'All';
insert pushTopic;

 

my java client is a cut/paste of the one in the api guide

http://www.salesforce.com/us/developer/docs/api_streaming/api_streaming.pdf#event_notification_rules_intro

 

I get

Running streaming client example....
Login successful!
Endpoint: https://na1-api.salesforce.com
Sessionid=00D30000000jo9e!AQQAQEbJr3rM1vgwppitYURcIplikvmta8l5u__5T7gmedcBDEctGGoRs262NxS7NzCet8jVIZLSExOaQZ0Ph6Xa5VBC4rP6
Waiting for handshake
[CHANNEL:META_HANDSHAKE]: {"id":"1","minimumVersion":"1.0","supportedConnectionTypes":["long-polling"],"successful":true,"channel":"/meta/handshake","clientId":"31dcwirt5psp2c12frbcxjofwtu","version":"1.0"}
[CHANNEL:META_CONNECT]: {"id":"2","successful":true,"advice":{"interval":0,"reconnect":"retry","timeout":110000},"channel":"/meta/connect"}
Subscribing for channel: /updatedProblem'
Waiting for streamed data from your organization ...
[CHANNEL:META_SUBSCRIBE]: {"id":"4","subscription":"/updatedProblem'","successful":true,"channel":"/meta/subscribe"}
[CHANNEL:META_CONNECT]: {"id":"3","successful":true,"channel":"/meta/connect"}

 

I edit an existing 'Problem' record, (I have disabled the trigger I created for this object) press save

 

nothing..

 

I have notify set to All

 

from the doc: (emphasis mine)

NotifyForFields Set to All
When you set the value of PushTopic.NotifyForFields to All, a change to any field value in the record causes the
Streaming API matching logic to evaluate the record to determine if a notification should be generated. Changes to record
field values cause this evaluation whether or not those fields are referenced in the PushTopic query SELECT clause or WHERE
clause.

 

I do see the cycle thru the read timeout and reconnect

  • February 07, 2012
  • Like
  • 0

Hello, 

I'm having the dullest problem possible.
I believe everything is set up correctly.
I use Developer's SFDC account, Streaming API is enabled (I verified checkbox is on) , I believe I'm on API version 23 (this what generated Enterprise API says).

I have set up the simplest  PushTopic from examples - AllAccounts("Select Id, Name from Account").

The Pushtopic is visible in Workbench.

My problem is that on create/update to Accounts I do not get any notification messages. Nothing at all
I tried Workbench, Apex Page and Java. No errors and no notifications.

See below Java output as example.

 

 

Running streaming client example....
Login successful!
Endpoint: https://na9-api.salesforce.com
Sessionid=00DE0000000K86D!ARoAQB9_iG.n0vBUOJX4XbOGheKfTQEWHySmOMTS55a5Hj9kxIwZXlHZL4ebBTfpod7hg4jVa.aIyQF.MZaGzMXZRFAI7K1C
Waiting for handshake
[CHANNEL:META_HANDSHAKE]: {"id":"1","minimumVersion":"1.0","supportedConnectionTypes":["long-polling"],"successful":true,"channel":"/meta/handshake","clientId":"21sasoutiukcud14fab90nt0gou","version":"1.0"}
[CHANNEL:META_CONNECT]: {"id":"2","successful":true,"advice":{"interval":0,"reconnect":"retry","timeout":110000},"channel":"/meta/connect"}
Subscribing for channel: /topic/AllAccounts
Waiting for streamed data from your organization ...
[CHANNEL:META_SUBSCRIBE]: {"id":"4","subscription":"/topic/AllAccounts","successful":true,"channel":"/meta/subscribe"}
....[CHANNEL:META_CONNECT]: {"id":"3","successful":true,"channel":"/meta/connect"}

 

 What am I missing?

  • October 29, 2011
  • Like
  • 0