@elran pretty vague but if you make a copy of a data source and save it without changing the id field it will update the data source with that id. To signal to Mango that you want to create a new data source you will need to set the id field to -1
In the Java code we have the constant:
com.serotonin.m2m2.Common.NEW_ID = -1
is multiple publisher configuration a feasible functionality?
Yes you can make as many publishers as your system can handle running.
it was verified that on the servers side the 1st and 3rd publisher
had the same port configuration... which probably triggered this "bug"
What kind of publisher are you talking about? For any but Modbus which have ports, you can use the same port, as it is a client connection to another host at that port. And, in BACnet, it is able to share the local device.
I was able to reproduce the issue. It has to do with the way the old UI stores some state about editing on the server side, and it gets confused when you work with multiple tabs open. To achieve this, you could hit the new publisher button in one tab, then the edit existing in another tab, now go back to the first and save the new publisher (must be the same type or there will be a typecast error), and you've updated the existing publisher! This is not going to be fixed, as the publisher UI will soon be present in the new UI.
why does the following declaration appear?
Ah, so you're using the Mango Persistent TCP Publisher, yes? That message pretty much explains itself. The Receiver is trying to create the incoming point, but it cannot do so because that XID already is being used by another point in the system. You can supply an XID prefix with the publisher such that all points transmitted with have their XIDs prefixed with that string (enabling publishing to localhost). I guess one could manually create a point on a receiver and then add that to a publisher back to that receiver, but I cannot fathom a reason to do so.
My advice was to set the update event to "Logged" on the publisher, and to transmit real time data. On the receiver, save the real time data. Use a "sync point values before" setting like 10 minutes, if you need to make the sync run every fifteen minutes that's probably fine, but you should get all the data from the transmission of real time data.
I would not bother with Fox's suggestion. I would not use a sync before time of 1 millisecond, just run the sync more often,
Alas 2.8 is not likely to get fixes for this sort of thing. This issue has certainly been fixed, as I mentioned.
Did someone from your group call and leave a voicemail about this thread? It was not easy to make out their email address from their message (but it was a gmail address) and they seemed to mention this thread. They said they had compiler output after upgrading, but were getting an error which they provided an incomplete description of. If that was on this issue, could you post the output of the compiler here if you would like help getting through compilation issues?
Hmm, that looks okay. I wonder if maybe there's another cron definition invoking the script? You could try commenting out the line that tries to invoke /usr/sbin/systemInfo/timeAlive in /usr/sbin/systemInfo/getAll to see if that error is what's getting there, but I have the same line in the device I'm looking at and it doesn't produce /var/mail/mail contents. That definitely looks a lot like what was happening when the output of the cron job was not being redirected to /dev/null
It looks like @leandro is opening the websocket connection from a browser, in which case only session authentication is an option. You can't set the Authorization header using the browser WebSocket API.
I would try copying your databases folder into the new installation. If that works, I would stop Mango, move the old installation directory, move the new one where the old one was, and start Mango again, which will get the license working.