ICS to uppdate this and future in recurring calendar event - calendar

I am trying to programmatically create icalendar events by creating an ICS file and sending them via email to the attendees. I want to be able to create a recurring event, which works fine.
Now I also want to be able to update these events. If I try to update a single occurrence from the whole event series using UID, RECURRENCE-ID and SEQUENCE, it again gets updated fine.
But I am unable to figure a way out to update this and future events. I tried using VALUE=THISANDFUTURE with RECURRENCE-ID but only the event pointed to by RECURRENCE-ID gets updated. I also do not want to go the "delete the series and create two new ones" way because to do that I'd have to send cancellation emails to the ATTENDEES first and then new events' invites.
I came across the property RELATED-TO which might be relevant here but am unable to understand what it does and how to use it to get the result that I want. Can anyone provide me some direction?

Usage according to the RFC5545 specification ( https://datatracker.ietf.org/doc/html/rfc5545#section-3.2.13) is with RANGE, not VALUE
RECURRENCE-ID;RANGE=THISANDFUTURE:19980401T133000Z

Related

New to Azure Event Grid - trying to react to *any* object being created, deleted or modified

I'm completely new to Event Grid, but have been tasked with creating a way to track anytime any object is created, deleted, or modified within a subscription (additional noise filtering to be added later). Does this sound like I'm on the right track?
Logic App -> Workflow Designer:
When a resource event occurs:
Resource Type - Microsoft.Resources.Subscriptions
Resource Name - (subscription being watched)
Event Type Item - 1
Microsoft.Resources.ResourceDeleteSuccess
Event Type Item - 2
Microsoft.Resources.ResourceWriteSuccess
What I'm completely unclear on is how to output the object deleted/created/modified. Like write to a log or send an email "X" object was deleted by Y user. If anyone has a clue on that, I would greatly appreciate it. Or if there is an easier way to accomplish this, rather than using Event Grid, I'm open to suggestions.
WAY-1
Here is my Logic App flow
I'm using Outlook 365 Connector with Send an Email Action
The Event Data gives whole information on What, When and Who created/modified/Deleted the resource.
Here is the screenshot of the mail that I received.
you can add as many events as possible by clicking Add New Item
WAY-2
You can add logs to your storage account and check the details from there as below.
WAY-3
You can check it in the logs from Overview pane which gives complete details on particular Run Triggers.

ExtJS synchronize record between clients

I'm trying to do something fun: I'd like to send the record changes from one client to another and have the second client updated to show these changes. Basically collaborative viewing. The second client is disabled from making changes, he can only watch.
Simple fields like strings, numbers, checkboxes, etc. are easy, that worked right away.
The references are the problem. If I have a combo that uses another model as it's source, I am unable to update it on the second client.
I tried setting just the id, then the entire referenced object, I tried various set options, but simply no dice.
The record does change, I see that the data is updated, I was even able to manually modify the _ reference attributes, but the UI keeps showing the old values for those fields.
Is there a way to send the record from one client to another and have the other client just take over all values and display them in the UI? (it would be better to send just the changes, but I'd be very happy if I could get it to work with the entire record)
EDIT: I'm using SailsJS with socket.io, so the p2p connection is not the issue.
I'm getting the data like this:
var data = record.getData(true);
broadcastRecord(data);
And on the other side I tried:
record.set(data);
A code example for the receiving side would be appreciated, if anyone has an ide how to solve this...
I think your problem is related to associations and comboboxes.
Let's say you have a model User with a field group that references model Group, and that you have a User form with a Group combobox.
In the receiver client, you are probably getting only the group id. record.set(data) updates the bound combobox calling setValue(groupId).
This setValue will try to find the corresponding record inside its store, but it won't ask server-side for that record. Instead, it will create a new record with the passed id (showing an empty combobox).
If possibile, you can set remoteFilter:false to the store and queryMode:'local' on the combobox and preload all the data from that store.
Otherwise, I think you'll have to override the combobox setValue method to get the record remotely.

Google Calendar API calendar id and event id

I am learning on how to access google calendar API for creating and accessing events. I am trying to understand API using OAuth 2.0 Playground. I am struggling on what to set for calendarid and eventid
https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events/{eventId}
Can any one guide me.
Regards,
Sureshkumar Menon
calendarId is the email address of your calendar. If you're just using your own, then use the string "primary".
eventId is the ID of the event that you want to modify. If you don't have an event, you should either create one with the 'insert' call, which will include an eventId parameter that you can store and use to modify it later, or use the 'list' call to get a list of events.
I was facing similar issue and got solution to find the calendar event id:
->Go to the event debugging URL at https://www.google.com/calendar/render?gsessionid=OK&eventdeb=1.
->Double click to view the affected event.
->Select the drop down menu 'More Actions'.
->Click on the 'Troubleshooting Info'.
->Copy the text that appears and paste it in your reply to support.
You can refer the below link which gives details with screen shot
http://googleappstroubleshootinghelp.blogspot.in/2012/09/how-to-find-troubleshooting-information.html
However i am still looking for a solution to get event ids dynamically.
i just discover that the list request which retrieves all the event list contains the correct event id. In my web app, i am using fullcalendar, each time i click a event for updated or deleting, the eventclicked method gives a false event id. so, i guess we will have to give a true event id and false event id map stored in our local app. this can be a work around. but it's liking eating a fly.

Want to display results of a callout

When a user 'Saves' a Contact (for example), whether it's new or just updated, I need to:
Do an external callout using one of the Contact field values as a lookup
Display the results of the callout, so the user can make a selection
Update the Contact based on the user's selection display the updated Contact
I have found two aproaches, but have reached a point in both that I need to resolve.
Trigger Based Method
In the 'after' trigger pass the lookup string to a callback.
Update the Contact with the selection
Issues
How do you pass the lookup string or results to a visualforce page to display the lookup results?
When the user makes the selection and the update has been done, how do I move back to the updated contact?
Override Base Method
I found a discussion here that seems to suggests using overriding & redirection to someone asking about 'Edit'. I think this could also be done with the 'Save' button.
Issue
This is meant to be a deployable sollution, so I think that the override has to be set in code (I'm using the IDE) and not via Setup (or am I wrong?). I can't find out if this is possible or how to do it
Sorry for detailed question. Didn't want to just ask the wrong question (i.e. assume I know the best approach).
Thanks...
For the trigger-based method, you cannot change the built-in Save functionality, but (per your second solution) you can override the Edit button and recreate the Edit page with Visualforce, which would give you full control over the Save button and how you handle the callout and redirecting.
The release notes for Spring '10 indicate that standard-button overrides are now available for packaging, as they can be created through the Metadata API.

Where do I add a trigger for "Notes and Attachments" in salesforce.com?

I cannot find where in the salesforce.com UI I can add a trigger on a file attachment. I can find triggers on almost everything else, but attachment seems to be missing from the list (even when I view source on the page and search it. Does anyone know WHERE I can put this trigger in?
There is no way to do it directly as Attachment is one of those "lesser" objects that salesforce really gets "protective" about in a random and biased way. The only "legit" way to do it is to use some external build&deploy tools such as Force.com IDE.
If however you are not a stranger to undocumented 'hacks' do the following. Go to any object's trigger list and click create new. In the URL locate entity query string parameter (e.g. entity=Case) and change it to Attachment (entity=Attachment) and press Enter. Newl loaded screen will accept Attachment trigger.
Using Eclipse (Force.com IDE plug-in), right-click on your project & select "New" > "Apex Trigger". In the dialogue window that pops up, there is an "Object" dropdown / picklist, choose the object you want from this list - "Note" or "Attachment" etc. - then choose the "events" you want to trigger to execute on.
NOTE: a best practice is only one (1) trigger per object since you cannot guarantee the order in which multiple triggers on the same object will execute.
Have you tried creating the trigger from, force.com IDE??
In my opinion it should be possible from there.
To write a trigger for attachment, there is no straight way to do it but you can do it.
By creating a trigger on other object for example create a trigger in contact object then the url of the current page shows
"https://ap1.salesforce.com/........./&entity=Contact" you have to change "entity=Attachment"
then the trigger will be created for attachment object.

Resources