Today we have mysql database that handle university events. I developed an add-on to read this data and there are, at least 4 sites, that use them. Mysql database will be removed. I will create an add-on to import mysql events and handle this custom events in plone. Should I developed a web service to expose event data to the other 4 sites? or is there a better way to get these events readable and listable by all sites?
you can use the rss feed from a collection, for example, to expose the site events. There are also rss portlets that can display directly the feed, or you can aggregate them and display from one single feed.
you can use the plone.restapi for querying the primary site for whatever you need and display the data in browser view, viewlet or custom portlet as needed. You likely what to cache the fetched data for some time instead of asking the primary site for every request.
Is this external mysql database, or could you host this database internally so you don't need to change anything?
Thank you for your suggestion but I believe RSS can't help me because I have to show them in different views. When I used with news and a RSS portlet I still have links to the source site. I can't have this behavior here.
In former times I used lots of RSS and custom views, but today I would use the RestAPI to achieve the same with less effort.