Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

Some basic questions about Mango Public Code


  • Mango Public Code:https://github.com/infiniteautomation/ma-core-public

    I don't know JAVA very well. Suppose I have studied JAVA for half a year.

    I want to know what architecture these codes use (or how I should start reading).
    The Learning Route I Formulated is: java -> spring -> Mango Public Code. Do you have any suggestions for this?

    My editor (Idea) told me that some of the packages used in the code did not exist.

    java: packages org.apache.commons.io did not exist
    java: packages org.apache.commons.io.comparator did not exist
    java: packages org.apache.commons.io.output did not exist
    

    and there is a strange problem: (but i really find the class in project)

    java: can not find symbol
      symbol:   class CompiledCoreVersion
      position: packages com.infiniteautomation.mango
    

  • Hi cuihe,

    That's a big question!

    You are correct in identifying java and spring. Java is what it's all written in so that's definitely a must if you want to read the source. As far as knowing spring, you probably only need to know much about it if you're going to be making fundamental changes on your own fork of the core. JavaScript, and more specifically AngularJS, is important also in writing modules which will appear in the UI,

    The question would be easier to answer by understanding what you are trying to achieve. If it were a module, you could probably benefit by trying to understand some of the simpler data sources in the ma-modules-public repository, like the virtual data source, https://github.com/infiniteautomation/ma-modules-public

    There are many classes which extend ModuleElementDefinition, and those are reflected out of modules to load them.

    If you haven't seen the document linked to here, maybe some of the steps for eclipse will reveal what may be causing those packages to not be found: https://help.infiniteautomation.com/setting-up-eclipse-for-the-first-time

    The core and the modules can be built by maven as described in that document, which should acquire the necessary dependencies for you.


  • thank you!

    I think I need to improve myself for some time.
    It's simpler to use Mango.