-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include Rich Snippet Based Events when No API is Available #219
Comments
iCal/ics files look pretty straight forward to parse. The problem I found was a lack of an endpoint with an ics file we can use. @allella do you have an example of an endpoint for iCal data that this application can subscribe to? |
Yes, there are no iCal feeds and may never be any so we can close this and re-open if we get somebody who only has an iCal. https://data.openupstate.org/organizations?city=greenville&org_status=active&event_service=ical |
Re-opening to explore the rich-snippets angle. We have a few conferences (Grok, Restfest, Carolina Code Conf) which might not use Meetup or Eventbrite so those events don't show in the API. We could potentially have then define their event on their websites with a rich-snippet format and pull events in that way. |
@BigBlueHat last I checked in 2014 the supported formats were RDFa, Microdata and JSON-LD. What's the best-practices these days? |
@allella I have access to the grok website. I can add a |
Thanks @robertgonzales It's up for debate, but I'm imagining the rich snippet would be the more universal method and possibly the easiest for the average site. Waiting on @BigBlueHat to share his wisdom on if https://rdfa.info or some other format(s) are the current suggested format(s). We did talk about iCal and hCal support 5 years ago when this started but I'm not sure any sites have advertised an iCal other than Meetup.com and Eventbrite, for which we use the API. |
For inline content, I'd recommend RDFa as it has the richest and most accurate tooling for expressing data within the markup (vs. microdata which results in much messier data and consequently more cleanup). Both RDFa and microdata have been supported by Google, Bing, Yahoo!, etc for a Good Long Time. 😃 RDFa is also used for systems like Open Graph Protocol which many CMS's already provide out the box--and which Facebook, Twitter, LinkedIn, and others use for their "card" views for links. Google's current structured data recommendation is to use JSON-LD. JSON-LD can be embedded in HTML using a data block: <script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "REST Fest US East",
"url": "http://2019.restfest.org/east/"
}
</script> Depending on your setup, injecting that into your page (via your CMS, static site template, etc) can be simpler than adding attributes directly to your HTML. However, it does mean you'll likely be managing duplicated content as this content is also likely in your page already. The REST Fest uses RDFa to avoid the duplication. The dates you see on the page hold the same content the search engine will extract--so I only have to edit it in one place...which is rather nice. 😄 Hope that helps! |
I went ahead and added JSON-LD to https://greenvillegrok.com/ |
@robertgonzales looks great and Google's Structured Data Testing Tool likes it to. 😄 FWIW, you can (and should) put data blocks inside Other than that, though, this is great example. Nicely done. 👍 |
Makes sense. Thanks for the pointers. |
Here's an example with the UCLUG group. Looks like there is JSON+LD on their event pages So, we'd mostly need to figure out how to know when there's a new event, which I suspect either needs to be from scraping the main page https://gettogether.community/upstate-carolina-linux-users-group-uclug/ unless there's some other feed on Get Together. |
@allella do we still need this ticket? I think we should look into this when a need arises |
Grok had JSON+LD markup in the past on their old domain, but that domain is gone. Also, since we can manually add events in #330 the use case is minimized. Closing. |
Cross-linking back to the open data API issue history where the conversations started.
The text was updated successfully, but these errors were encountered: