Code Monkey home page Code Monkey logo

canadensys-harvester's People

Contributors

cgendreau avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

canadensys-harvester's Issues

Support non DwC-A terms

Allow user to choose on config file if the harvester should check or not for non DwC-A terms

Reduce size and number of JMS messages

JMS messages could be optimized by combining ProcessOccurrenceMessage and InsertRawOccurrenceMessage since they both require the same input data. This would allow the system to use half of the message it is currently using.

We could also transport the data inside the message in a more efficient way by avoiding to repeat the field name for each records.

Enhance node error reporting

Nodes should be able to report fatal errors to the job 'initiator'.

  • Change return type of handleMessage() to boolean in JMSConsumerMessageHandler interface.
  • Create WriterException as generic exception for ItemWriterIF
  • Create JMS classes for node error reporting: JMSErrorControlMessage, JMSErrorReceiver, JMSErrorReporter
  • Create MonitorNodeJob, MonitorNodeStep (async)

Create a module for the 'node'

Currently the 'node' is embedded in the canadensys-harvester-ui module. It doesn't make a lot of sense. The node should have it's own module. By allowing that, the node will only its own configuration class and file.

Change IPT RSS information presentation

Currently, we can set our main IPT RSS feed address in the config file. Then, we can visualize it in the UI. Since we can have resources coming from various IPT, this view may not be expected.

Add scheduler feature to synchronize automatically with different IPT

Use the management tables to compare the last import date with the last publication date from the IPT RSS feed. How should this feature work? Simple option to the jar file that would be called by a cron job? Integrated to the current GUI? Simple option to the .jar file but the app run indefinitely? All of the above?

Refactor step related classes

With the addition of extensions support some refactoring is now needed in order to keep things in order.

  • ProcessingStepIF will be renamed to StepIF
  • 2 new abstract classes will be created : AbstractStreamStep and AbstractReceiverStep
  • Create StepResult class that StepIF would return on doStep();

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.