Do ICS files contain any info about online meetings? - icalendar

In my application I need to understand if the ICS file represents an online meeting (Teams, Meet, Zoom...) or not.
I read the RFC5545 standard docs, but I couldn't find any specific standard attribute. I also analyzed the content of some online events created inside Google Calendar or Microsoft Teams and found out that Google puts a custom string
X-GOOGLE-CONFERENCE:your-meeting-link
while Microsoft specifies this info in the LOCATION attribute like "Teams meeting".
Is there anything standard across multiple providers? Is there any discussion about this to be done in the future?

Related

Use Office.js APIs from outside an Office Add in

In the Office.js docs one reads the following about the new ExecuteAsync() method/pattern:
"This also allows us to use the same APIs even outside of an Excel add-
in. Imagine, for example, that you wanted to call Excel APIs against an > Excel workbook stored in OneDrive, but you wanted to do so from a stand-> alone web application, rather than one running inside Office 2016 for
Windows or Office Online. This async model lends itself well to that
capability."
Nevertheless, I wasn't able to find any explanation on how to implement such functionality in a standalone web application. Does anyone know how to do that?
This is referring to the new Excel REST API. Please see the documentation here: http://graph.microsoft.io/en-us/docs/api-reference/v1.0/resources/excel
Excel is so far the only Office host to support REST APIs, with the exception of OneNote's REST APIs which are independent from the Office.js effort.

Multiple calendars in one ics file

I have a website that has resource data that can be exported as calendars ( .ics files). It is an internal website and so the users will likely be loading them into Outlook 2013 so that they can cross reference the resource data with their own calendars.
I have run into the challenge that users can easily export multiple sets of data in one go resulting in multiple calendars being available to be download (the common worst case being 12 calendars, but there are going to be a few users who will push it well beyond that). I can easily zip the ics files up and provide the zip as a single download, but my goal is to keep it at simple to use as possible for the user to import into Outlook. From the research I have done and my own tests I have not found any way for .ics to have multiple calendars in one file. As such here is my chain of questions:
Does icalendar have a way of storing multiple calendars in a single file?
If not is there a different calendar file format that Outlook 2013 can import and parse that does support multiple calendars?
If there is no better calendar file type for this, is there a general best practice for providing multiple calendar files for download and import?
I'm not sure exactly what you mean when you say "calendar", but, to expand on #jgm's answer, the specification allows more than one VCALENDAR component to exist inside of the same file.
BEGIN:VCALENDAR
...
END:VCALENDAR
BEGIN:VCALENDAR
...
END:VCALENDAR
According to the specification you can have multiple calendars in a single iCalendar entry:
The Calendaring and Scheduling Core Object is a collection of
calendaring and scheduling information. Typically, this information
will consist of an iCalendar stream with a single iCalendar object.
However, multiple iCalendar objects can be sequentially grouped
together in an iCalendar stream.
However, you would have to test each client individually to see if it was supported as this is not a common situation.
No. The iCalendar format has no notion of calendar "containers". The closest would be to use the CATEGORY property to distinguish between different types of events.
If you really only care about Outlook, the alternative would be to create PST files, which can contain arbitrary hierarchies. But generating those is much more involved in terms of development.

Do I need Drive API, or Spreadsheet API, or both?

Currently, I am developing a web-app in GoogleWebToolkit (ie. java back-end) that should:
Copy an existing google drive spreadsheet document on the same drive
Modify this copied version based on some business logic.
I looked into the Google Spreadsheet API, but had hard time dealing with the oAuth logic. Then I looked at the google Drive API, and found the Dr.Edit example project.
This last project looks good, and I can create and edit text files, but is it now also possible to use some sort of API that reads out SpreadSheet documents instead?
Bottom line is: should i combine Spreadsheet API and Drive API here. What is recommended? I am confused.
You can manage files (create/edit/delete/view) with Google Drive SDK but need Spreadsheets API to modify the worksheets, rows and cells individually.
Once you acquire an access token, you can use it to access Spreadsheets endpoints too. Make sure that you're authorizing for the following scope as well:
https://spreadsheets.google.com/feeds

Understanding data privacy with Google Web Toolkit, and Google Charts

I have been playing around with GWT and GWT Visualization Wrapper API. One thing I learned recently is that GWT Visualization API does not work without an internet connection (I was working offline the other day and it took me a good half hour to figure out why my charts were not loading)
After doing a lot of reading online about privacy, data, and GWT, it seems that many people, including me, have a concern about sending data to Google when trying to display graphs. I already searched through many sources, including stackoverflow, and I would like to 100% confirm that my assumptions are correct.
The reason for people's concern about sending data to Google was when you tried to get an image of the said chart. This required data to be sent to Google, they processed it, and then they returned an image to be embedded in your website. According to my studies, that feature has been deprecated from Google charts (and for good reason). The way it works now, to my understanding, is that every time you want to display a chart, you download the most up-to-date library on the client side and perform all the calculations on the client. This makes it so that Google doesn’t actually get any information you will display on the charts.
Thus, I can continue using the visualization API as long as I keep using interactive charts and keep checking on the Google charts documentation page that it says that for this particular chart i.e Line Chart:
https://developers.google.com/chart/interactive/docs/gallery/linechart
(SEE BOTTOM OF PAGE) “All code and data are processed and rendered in the browser. No data is sent to any server” I do not have to worry about anyone getting my data because all information is processed client side.
Please correct any incorrect assumptions that I may have. Thank you.
The charts on this page, https://developers.google.com/chart/interactive/docs/gallery, all include a "Data Policy" section which details whether the chart is rendered on the client and what data will leave the client. Currently, only GeoChart communicates with Google (in order to do the Geocoding); obviously, this could change in the future.
The charts on this other page, https://developers.google.com/chart/interactive/docs/more_charts, include some that were written by Google, and some that were written by third parties. These also include a Data Policy section. For those written by Google, you can rely on this policy. For those written by third parties, Google has not validated the claims and cannot guarantee them.

Serve a form without a web interface

Anyone doing any work using "offline" forms? We have an application that requires inputting data from outside our company. I was thinking about sending a form out via email, allowing the form to be filled out then sent back. Obviously a web application would be the best solution, but management doesn't seem ready to build the infrastructure and security to support that. I've read a little about PDF forms is that a good solution or are there other solutions?
Have you considered InfoPath? These can be created and distributed through email. And then the data can be collated automatically.
Also, consider using Google Spreadsheets with Google Forms. It's free and infrastructure is outsourced.
PDF forms can work as well.
Another possibility is to use Microsoft SharePoint. If your company uses Microsoft Office for the people filling the forms you referring to, you could deploy an Office based solution and gather information with Sharepoint Server.
Check this link out.