What is the Jomres Syndication Network?

What is the Jomres Syndication Network?


Required : Jomres 9.19.0+

syndication panel

The JSN is a new feature in Jomres, designed to solve the biggest problem experienced by all site owners, namely improving their property visibility on the net.

When somebody first installs Jomres to deploy the product for a client or themselves, there is a gap between when the site is published and when Google and other search engines start indexing that site. To help this process along, and to improve traffic to websites, I am introducing a new feature called the Jomres Syndication Network.

At it's heart it's a way of sharing links to individual properties across all Jomres sites (unless they've opted out, more on that later). It's a free feature, available at no extra cost to all Jomres users, whether they are using the free Core or a fully licensed site.

Right now the functionality for the feature is limited. There's no way to filter out particular hosts, that will be coming in a new plugin in the future, however the basics are in place and data is starting to be collected which will improve the value of the network over time. The data available on the network is freely available, and the intent is that other services will make use of that information to drive traffic to your sites.

How can I confirm that I am on the network?

In Admin > Jomres > Tools there is a new page called REST API test. This page runs two tests. The first tests whether or not the server can call itself. The second test looks to see if the property is listed in the JSN central list. If the first test fails then a setting on your server is preventing it from calling http;//www.domain.com/jomres/api. The most likely cause of that is admintools, or a setting in your .htaccess file (some security plugins will modify that) is preventing the server from calling itself, so you will need to explicitely allow access to that path in admintools/.htaccess. If the second test fails, then either your machine is on your desktop, or it's in a closed network, or it's related to test one and the app server can't call your installation back during the registration process.

rest api test example

What if I don't want to be listed on the JSN?

I anticipated that some users would prefer to not be on the network, so those users can install the Disallow Syndication plugin via the Jomres plugin manager, then visit Admin > Jomres > Tools > Disallow Syndication to toggle whether or not their site is listed on the App Server. This doesn't prevent their systems from displaying properties from other sites, but it does prevent their site from appearing on the central hosts list.

disallow syndication plugin view

What about if I don't want to list other site's properties on my site?

Because the JSN relies on free, open, transparent sharing of information, I would discourage anybody from preventing display of other site properties on their installations. If you really don't want to show the information it's trivial to edit template files to not show the output, but at this time I would encourage you to show it, so I will not be providing specific instructions on how to remove them.

I am another service provider and I am interested in using the data from the JSN. Can I?

Yes, you can, so long as you ensure that you don't overload the App Server or any of the Jomres installations. Be nice, be respectful.

JSN Technically speaking

Every post 9.19.0 Jomres installation automatically reports themselves to a central server. Individual installations will attempt 6 times to add themselves, after which they will give up if unsuccessful.

When the installation calls the app server, the app server will call the Jomres installation back to gather some basic information about that server. Once this information has been gathered, then that server is added to the app server's sites list (http://app.jomres.net/jomres/api/get_sites/). At the time of writing data is just starting to be gathered. This will grow as sites are updated in late 2019.

All Jomres 9.19.0 sites have new cron jobs which will run periodically to pull a list of hosts from the App Server. Once host information is stored locally then another cron job will run to pull property information from the hosts in the list, which is then stored locally. These cron jobs work in the background, creating new threads so they should not cause any bottlenecks that might slow down the visitor page load speeds.

The information about the remote properties is very basic. The intention is to provide enough information to direct site visitors (and search engines) to the property's home installation. The goal is not, at this time, to allow remote services to pull anytime more than the simplest of information about the properties. That borders on Channel Management functionality and while I have goals that expand in that direction, they are not part of this project.

There are further cron jobs that maintain the list of hosts and properties pulled from said hosts, adding and deleting properties as they are published and unpublished/deleted.

When a property is displayed in a syndication panel, that action is then reported back to the App Server. The information reported includes the displaying page, the displayed page, and the date and time. No personal information about any user is recorded on the App Server. In the next few weeks and months I will release plugins that allow you to see if and where your properties are being displayed, and the number of times.


Where can I see an example of the data that my installation reveals?

The user demo (the site that users play around with to experiment with Jomres) has the latest version of Jomres installed. This installation is excluded from the JSN sites list, but it is capable of responding to core api calls, and these are the same types of messages that your Jomres installation will display :

http://userdemo.jomres.net/jomres/api/core/report/
http://userdemo.jomres.net/jomres/api/core/get_properties/

  • The first is used to get basic information, returned in JSON format, about your installation.
  • The second is used to give property information to Jomres installations in the Jomres network.

In the second example, the number of properties shown, compared to the number of properties that your installation will process will differ because your local installation automatically filters out properties that don't have a main image.

Images are not stored on the importing installation, therefore if you use hot linking protection on your server I would encourage you to disable it so that your properties images can be used by the importing installation. It is to your benefit to allow remote sites to show your properties and it's unfair to ask them to sacrifice bandwidth to show and store images from your site on their server. I will be actively policing the hosts list and any sites that prevent hotlinking, or simply show junk properties on their installations, will be removed from the network.