ScadaBR source code editing

Hi,

I downloaded the whole ScadaBR source code (1.2 GB) from https://scadabr.svn.sourceforge.net/svnroot/scadabr. I have all the files on my laptop but I do not know how to import it into Eclipse. I tried all the possible ways. I downloaded the .war file also from ScadaBR Source\Win32 Installer\ScadaBR CE 1.0\ClienteJavaWeb.war. 

I got a very long list of projects in the Eclipse project explorer. 

I need to edit the source code to make a few changes in the software according to my needs. Can you please tell me how to start editing the source code? Help is greatly appreciated. Thanks.

Hi contactsunny,

AFAIK the ScadaBR developers also use Eclipse as development environment.

Have a look at this post http://www.scadabr.com.br/?q=node/71.

You will need the likes of Google Chrome Translator to be able to make sense of it - unless you speak Portuguese that is.

The rundown is this: Use the subclipse plugin for SVN in Eclipse and check out the ScadaBR sources as described. Then you can use the web development goodness to start a Tomcat server from Eclipse on which you can easily deploy the ScadaBR webapp (see also last post in linked thread).

You will most certainly need to get newer version of the mention software (thread is almost 3 years old). I also use this setup with a Tomcat 6.0 runtime, Eclipse 3.7 and Subclipse 1.8.x.

There are many tutorials and HOWTOs on the subject of webapp development under eclipse, so be sure to read up on them. If there are further specific questions, we will try to help out.

Best Regards,

Michael Bach

Hi Michael,

Thanks for your help. I have a few more errors, hope you can help. I have successfully imported the project into Eclipse, but I'm missing a few class files. I've listed them below. Can you please tell me where I can find these class files? It would be a great help. :)

 

com.serotonin.io.serial.SerialParameters

com.serotonin.web.i18n.I18NUtils

com.serotonin.web.i18n.LocalizableMessage

com.serotonin.monitor.MonitoredValues

com.serotonin.util.PropertiesUtils

com.serotonin.util.StringUtils
com.serotonin.web.i18n.I18NUtils
com.serotonin.web.i18n.LocalizableMessage
com.serotonin.web.i18n.Utf8ResourceBundle
com.serotonin.ShouldNeverHappenException
com.serotonin.util.StringUtils
com.serotonin.web.dwr.DwrResponseI18n
com.serotonin.web.i18n.I18NUtils
com.serotonin.web.i18n.LocalizableMessage
java.security.Permissions
 
Any help with this will be very helpful. Looking forward for replies. :)

Thanks in advance. 

 

You are missing several critical and not-directly-related classes there which is strange.

Did you import the project from a local directory or did you check it out via the Subclipse plugin (as in my post and in the ScadaBR developers thread)? Trust me, go with the Subclipse plugin. An additional note: You have to check out the SVN ScadaBR as a dynamic web project to get best results.

HTH

Hello Guys,

Yes, we´ve taken the seroUtils from the ScadaBR´s SVN. This .jar lib contains the classes missing. Trouble is... we are in a legal/licensing conondrum. As seroUtils is a closed source library, Serotonin only allows it for shippment with Mango M2M, we are working towards a solution for this.

The solution for compiling correctly would be, download the ScadaBR 0.9.1 installer, wich already has the seroutils in it. Place it in the Webcontent/WEB-INF/lib folder and presto.

Also, we are currently working in the braches/rbautomacao-fsgv.

And you dont need to use subeclipse, as you can import an existing project with Eclipse.

Good Luck!

Hello,

Thanks for the help. We were able to improt the project into both Eclipse and NetBeans successfully. :)

 

And about the seroUtils Jar file, does this mean we will not be able to use it without buying a license? We are thinking of using ScadaBR for our work. Is it okay to use it or do we have to wait till the licensing work is done?

 

Thanks. :)

Hello again,

We are working on it. So far, we do not know the implications, as Mango was released as a GPL project, and it should respect the 4 liberties of Open Source Software. And the base of users is currently imense (not only ScadaBR branches from Mango!).

Quick answer, we are studying this issue. But so far, we had no trouble.

Legally - I´d advice you to install Mango M2M, and them replace the diff files from ScadaBR project.

We do not agree with the decision that was made in the Mango Project, but we respect them, as ScadaBR team has learned so much from it. We do not wish to create any trouble, but we also need a solution for seroUtils.

We´ll keep the community up to date about this. 

Thanks for caring =]

 

Hi again.

We have come a long way with ScadaBR. We have been able to interface 99% of our devices with the tool and we are just loving it. We are having problems with two different modbus devices working at different baudrates. But that is not a big deal now.

We want to give a button in the graphical view to purge all the data from a particular data point. I have already added the button and written a script with the data point in question added to the script. The script contains "x.purge;" where "x" is the name of the datapoint in the script. I have tried this with "x.purgeLogValues;" as well. After saving this script, I click the "Run", I get the "Script OK" message. But when I click the buton in the graphical view, I do not get any error messages or anything, but the data is not purged. 

Can you tell me if the scrip I have written is wrong or if there is any other method to do this. I just need to purge all the data collected by one particular data point. 

Thanks in advance. 

Hello! 

Nice to know that you are enjoying ScadaBR! Hope to see your application posted in the cases soon =]

I actually don´t know how you could do this... but, you can use server side script IF the DataPointDao´s deletePointHistory function is in the context...

I ´ll test this, and let you know more.

Best regards,

So, unfortunately this cannot be simple done without some code work...

You could have a server side script that ran 

 

var dpDao = new com.serotonin.mango.db.dao.DataPointDao();
var dpVo = dpDao.getDataPoint('<you dp xid>');
dpDao.deletePointHistory(dpVo.getId());
 
but deletePointHistory is declared private in the DataPointDao class. So, you´d  have to recompile with this as public and then use the server side script our simply the script interface to call upon the function.
 
Hope this helps
 

Hi diegoferreira, thanks a lot for the tip. I'll get on it right now. :)

And is there any way I can PM you?

Hi, Diegoferreira

You are a great. Sunny and me are working on same problem and I was successfully delete datapoint data.

Thank's a lot

Hi

I was successfully delete datapoint history but it can possible before delete history check confirmation to user?

I was checked alert & confirmation in server side scripting but it was not work.

Best regards 

y'a t il le code source d'un systeme scada integrant iec104 sur codeforge.com