Coder Social home page Coder Social logo

keeps / roda Goto Github PK

View Code? Open in Web Editor NEW
70.0 13.0 47.0 231.76 MB

RODA - Repository of Authentic Digital Objects

Home Page: https://www.roda-community.org/

License: GNU Lesser General Public License v3.0

Java 54.69% XSLT 1.14% JavaScript 28.76% CSS 0.96% HTML 3.41% Shell 0.07% Perl 0.02% Dockerfile 0.02% Handlebars 0.56% Fluent 10.38%
preservation repository archives oais ead java metadata premis catalogue aip

roda's Introduction



GitHub latest release Docker Pulls GitHub contributors GitHub commit activity (branch)

testing

RODA (Repository of Authentic Digital Records) is a long-term digital repository solution that delivers functionalities for all the main functional units of the OAIS reference model. RODA is capable of ingesting, managing, and providing access to various types of digital content produced by large corporations and public bodies.

Features  •  Trying out RODA  •  Documentation  •  Editions  •  Marketplace  •  Support  •  Contributing

🤓 Overview

RODA was developed using open-source technologies and it is supported by standards such as the Open Archival Information System (OAIS), Metadata Encoding and Transmission Standard (METS), Encoded Archival Description (EAD), Dublin Core (DC), E-ARK Information Package specifications and PREMIS (Preservation Metadata).

It implements multiple ingest workflows that not only validate Submission Information Packages (SIP), but also checks their content for virus, handle file format identification, extract technical metadata, and migrate file formats to more “preservable” alternatives.

RODA enables users to access digital information in several forms, such as searching and browsing via an online catalogue, as well as providing REST APIs for systems integration. Discovery services are provided over both descriptive metadata and textual content (automatically extracted from an array of document-based formats). Online consultation of ingested objects, preservation formats and dissemination derivatives are also possible via the repository catalogue.

Administration interfaces allow repository managers to maintain representation information updated, manage risks and to execute preservation actions on all digital assets available in the repository.

RODA ensures that ingested data remains authentic by recording PREMIS metadata for every action performed on a digital object. It records provenance information in archival metadata standards such as EAD or Dublin Core and ensures integrity and availability by frequently monitoring data and making sure that it has not been tampered with. All interactions between users and the repository (human and software) are logged for security and accountability reasons.

To experience RODA firsthand, please visit the RODA demo site at 🔗 https://demo.roda-community.org.

🚀 Features

Conforms to open standards

RODA is compliant with several open descriptive metadata standards such as EAD, and Dublin Core, PREMIS for preservation metadata and METS for structural metadata.

It can support more standards by means of an advanced templating system that supports validation, indexing, viewing, and editing of descriptive metadata.

SIP, AIP and DIP formats are also based on open specifications managed by the DILCIS Board to avoid technology lock-in (i.e., EARK Information Packages).

Vendor independent

RODA is built on top of enduring open-source technologies. The entire infrastructure required to support RODA is also vendor independent. This means that you may use the hardware and the Linux distribution that best fit your institutional needs.

Because the product itself is open source, you don’t have to rely on a single vendor for support. The entire source code of the system is available on GitHub for inspection.

Authenticity

RODA uses PREMIS preservation metadata to create a trust chain between all generations of digital assets.

Preservation metadata, together with the establishment of trust of its surrounding environment (ISO 16363 and ISO 14721) ensures that the repository service is reliable, and digital assets remain authentic over time.

RODA also supports plugins that assess the validity of digital signatures and re-sign archived PDFs when the lifetime of digital signatures is coming to an end.

Support for multiple formats

RODA can ingest all sorts of content independent of its format. Format migration plugins are available to cope with decaying formats such as text documents, raster images, relational databases, video, and audio.

Normalization of file formats is possible by setting up adequate ingest workflows. Files are then preserved in formats more adequate for long-term archiving.

Representation information networks can be managed within the repository itself, letting you opt for the right preservation strategy at the right time.

Advanced ingest workflows

RODA supports the ingest of digital material as well as any associated metadata in several distinct formats.

Tools and libraries are provided to enable Producers to create packages in the supported Submission Information Package formats (SIP). Ingest workflows can be customised by the user to implement institutional policies and handle special collections of data. Ingest workflows can be enhanced via the use of open source or commercial plugins.

Embedded preservation actions

Preservation actions can be executed right from the user interface over any selection of digital objects in the repository.

The task execution engine enables the repository to parallelise the task execution process to take full advantage of the existing CPUs.

Preservation actions include format conversions, checksum verifications, virus checks, various, risk assessment, etc.

Scalable

RODA is ideal for large organisations with millions of digital objects. It’s service-oriented nature allows it to be highly scalable, enabling the distribution of load between several servers.

The use of horizontally scalable indexing services enables discovery services to be spread across multiple servers for greater performance.

RODA also takes advantage of all the CPUs available in each server to mass process thousands of objects simultaneously for stellar performance.

Copes with the rapid changing nature of technology

The pluggable architecture of RODA makes it easy to add more functionality to the system without affecting its core functionality.

This includes adding new preservation capabilities such as format converters, risk assessment tools, and more.

The system stores data in a well-documented open AIP format that can be easily inspected by users and processed by third-party repository systems.

Retention and disposal policies

RODA incorporates robust and comprehensive functionality for the definition and implementation of retention and disposal policies.

This feature empowers users to establish clear and concise guidelines for determining how long records need to be kept and how they should be disposed of, in accordance with national legislation or internal regulations.

With RODA's retention and disposal policies, organizations can confidently preserve their valuable digital assets for the long-term while mitigating risks associated with data privacy and security.

Integration with data production systems

RODA exposes all its functionality via well-documented REST API. Convenient Java libraries are available on GitHub to allow developers interact with RODA via its Core APIs. Several tools exist to create and manipulate SIPs and submit them to RODA’s for ingest.

In fact, RODA’s ability to integrate data from other records management systems include: 1) packaging data available on a filesystem via RODA-in tool, 2) extract data from relational databases using DBPTK, and 3) custom integrations with original systems via APIs or using drop folders.

(Back to top)

🖥️ Trying out RODA

Online demo

To experience RODA without having to install it on your local machine, please visit the RODA online demo available at 🔗 https://demo.roda-community.org.

Testing environment

To install RODA on your local environment, please refer to our detailed installation guide, available at Installation instructions.

We want to draw your attention the fact that these instructions are tailored for a single-node instance, specifically intended for testing purposes. It is essential to note that this configuration is not designed for production use.

We recommend exploring available commercial services, which include installation, maintenance & support, training, data migration, among others. This ensures that your instance of RODA is fully optimized and tailored to your specific needs.

Production environment

Each production environment is unique, and therefore requires a customized approach. RODA offers the flexibility to be tailored to the specific needs of each digital preservation service.

Considerations such as data volume, quantity of files, format heterogeneity, infrastructure type, target user community, high availability requirements and system integration need to be taken into account while designing the right architecture for your particular problem.

Should you require assistance in preparing RODA for production environments, we recommend seeking professional assistance. Vendors may provide services such as installation, maintenance, support, training, data migration, system integration, custom development, digital preservation consultancy, among others.

To obtain more information on how to get professional assistance in your region, please contact KEEP SOLUTIONS.

(Back to top)

📚 Documentation

RODA is accompanied by a comprehensive collection of articles that are constantly being updated. You may find the most recent version of the documentation here.

All articles included in the documentation are written in Markdown, providing you with the convenience of easy conversion to a wide range of formats including PDF, ePub, HTML, and more.

(Back to top)

🎨 Editions

RODA is an open-source solution, which means that anyone can download its source code, compile it and have it running on their own institution in a matter of hours. While this flexibility is a major advantage, organizations may also benefit from enlisting the expertise of IT, software, and digital preservation specialists to tailor the solution to their unique needs by adding specialized features and integrations.

KEEP SOLUTIONS, the maintainer of the RODA open-source project, offers three software distributions specially designed to meet the rigorous demands of mid to large-sized institutions with vast collections of digital records, providing the capability to efficiently manage digital assets in large-scale production environments. These software suites are called “Community”, “Enterprise” and “Enterprise HA”.

Community Edition

The RODA Community Edition is a software solution designed for mid-sized organizations seeking to implement and customize the product to meet their specific requirements.

As its name suggests, this edition is community-driven and provides organizations the necessary tools to manage the product on their own.

However, it should be noted that the RODA Community Edition does not include commercial plugins, integrations, or professional support services. Those products and services must be acquired separately.

For more information about how to acquire commercial services from KEEP SOLUTIONS, please visit KEEP SOLUTIONS website.

Enterprise Edition

The Enterprise Edition is designed for large-scale production environments and provides a comprehensive suite of tools and services for organizations seeking a secure and high-performance preservation solution.

This edition includes a set of commercial plugins and professional support services to assist organisations with deployment and ongoing operations to ensure optimal performance, stability and security.

For more information about Enterprise Editions, please visit the RODA Enterprise web page.

Enterprise HA Edition

For organizations requiring uninterrupted access to their digital assets and the ability to scale their system without causing downtime, the RODA Enterprise HA Edition provides a high-availability distributed setup.

This offering includes unlimited scalability and the ability to upgrade the system with minimal disruption, ensuring organizations always maintain seamless access to their critical digital assets.

For more information about Enterprise Editions, please visit the RODA Enterprise web page.

Enterprise SM Edition

For organizations seeking comprehensive control over their infrastructure and operations, while simultaneously harnessing the benefits of warranty, security patches, commercial plugins, components, and professional services.

Under this model, the organization's IT department assumes the critical responsibility for implementing, monitoring, and maintaining the system. Shadowing support can be enlisted to assist with maintenance and support tasks. Moreover, for additional features, custom development services can be engaged, ensuring that the system continues to evolve to meet the ever-changing demands of the business.

By minimizing reliance on third-party providers for installation, configuration, and ongoing support, this solution effectively preserves data security and system integrity.

For more information about Enterprise Editions, please visit the RODA Enterprise web page.

(Back to top)

🛍️ Marketplace

RODA 5 introduced the RODA Marketplace, a digital platform where users can browse and purchase RODA plugins, components and services. It is a centralized location where developers can showcase their products, and users can easily discover and acquire the software or services they need.

In the Marketplace, developers can publish their plugins, components and services, providing information such as descriptions, pricing, and links to more documentation. Users can then search for these products based on criteria such as functionality, category, and price range. Once they find a product they are interested in, they can purchase it from its original developer.

The marketplace is beneficial for both developers and users. For developers, they offer a centralized location to reach a wide audience, which can help increase their visibility and sales. For users, the marketplace provides a convenient way to discover and purchase useful extensions for their RODA environments.

For more information on available RODA extensions, please visit RODA Marketplace.

(Back to top)

🛎️ Support

Community support

RODA is a community-driven project that relies on the contributions of various people to continually improve and evolve. As a user, you may encounter issues or have questions about how to use RODA effectively. Fortunately, the RODA project has a community-driven support system in place.

The way to get community-driven support is by posting your questions on the RODA GitHub Discussions board and your bug reports on the RODA GitHub issues page.

GitHub is a popular web-based platform used for version control and collaboration on software development projects. The RODA GitHub repository is where the project is hosted, and it's also where you can find helpful resources and get support from other users and developers. To get started, simply create a GitHub account and navigate to the RODA repository. From there, you can browse the issues section or create a new issue to post your question on the Discussion board.

Posting your question on GitHub allows other community members to see it, and they may offer solutions, insights, or workarounds to help you resolve your issue. Additionally, the RODA developers and maintainers actively monitor the GitHub repository, and they may also chime in with advice or solutions.

For information about the maintenance and security policy, view security advisories, or report vulnerabilities, check out the RODA Community Security page.

Professional support

Professional support services ensure the smooth operation of RODA in production environments. These services include helpdesk and support, service level agreements (SLA), ticketing platform for better communication, access to security patches, monitoring, and access statistics.

These services ensure organizations have access to the resources and support they need to effectively manage and maintain a production level RODA environment, maximizing investment and ensuring the success of digital preservation operations.

To obtain more information on how to get professional support in your region, please contact KEEP SOLUTIONS.

(Back to top)

✍️ Contributing

Community contributions play a vital role in the success of open source projects. They bring diverse perspectives, knowledge, and skills to the table, which can lead to innovative solutions and better outcomes.

By contributing code, translations, documentation, testing, bug fixes, and feedback, community members help to ensure the software is reliable, secure, and up-to-date.

Source-code

Developers can contribute to RODA in many ways: fixing bugs, adding new features, developing new plugins, adding tests, etc.

To start developing new features in RODA, please check the Developer guide which has information on:

  • How to get the source code
  • How to build and run
  • How to set up the development environment
  • Code structure
  • How to contribute
  • etc.

Translations

RODA is translated in several languages such as English 🇬🇧, Portuguese 🇵🇹, Swedish 🇸🇪, Hungarian 🇭🇺, Spanish 🇪🇸, Croatian 🇭🇷, German (Austria) 🇦🇹, etc. Translations are maintained in Transifex and updated using the Transifex Client.

Transifex is a cloud-based localization management platform that facilitates the translation and localization of software applications, websites, and digital content. It allows for the coordination of multilingual content creation and translation by providing a collaborative workspace for translators, project managers, and developers.

For more information, check our Translation guide.

(Back to top)

roda's People

Contributors

006627 avatar 47balboa avatar adrapereira avatar antoniog70 avatar carlosjepard avatar chalkos avatar david-russo avatar dependabot[bot] avatar hmiguim avatar hsilva-keep avatar jmaferreira avatar joaogomes2110 avatar l33t-c0d3r-66 avatar luis100 avatar nunovieira220 avatar rui-castro avatar simonwaldherr avatar sleroux-keep avatar snyk-bot avatar transifex-integration[bot] avatar vitorfernandes87 avatar vkorecky-gordic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

roda's Issues

Error ingesting FLAC audio

The roda-core gives the following error.

ERROR 2013-06-28 18:06:12,267 (NormalizationTaskPlugin) Error executing plugin - Error executing migration - Error converting representation - Exception executing convert command - Command [soundconverter, -b, -q, -m, audio/x-wav, -s, .wav, /home/roda/roda/tomcat/apache-tomcat-6.0.37/temp/rodaSourceRep5437925939103191120temp/F0] terminated with error code 1
pt.gov.dgarq.roda.core.plugins.PluginException: Error executing plugin - Error executing migration - Error converting representation - Exception executing convert command - Command [soundconverter, -b, -q, -m, audio/x-wav, -s, .wav, /home/roda/roda/tomcat/apache-tomcat-6.0.37/temp/rodaSourceRep5437925939103191120temp/F0] terminated with error code 1
    at pt.gov.dgarq.roda.plugins.ingest.NormalizationTaskPlugin.executeNormalizationPlugin(NormalizationTaskPlugin.java:509)
    at pt.gov.dgarq.roda.plugins.ingest.NormalizationTaskPlugin.processRepresentation(NormalizationTaskPlugin.java:396)
    at pt.gov.dgarq.roda.plugins.ingest.NormalizationTaskPlugin.doTask(NormalizationTaskPlugin.java:254)
    at pt.gov.dgarq.roda.core.ingest.IngestTask.processSIP(IngestTask.java:293)
    at pt.gov.dgarq.roda.plugins.common.IngestTaskPlugin.execute(IngestTaskPlugin.java:102)
    at pt.gov.dgarq.roda.core.scheduler.PluginJob.execute(PluginJob.java:103)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

When testing the command with the same file, the following error occurs:

roda@roda:~/roda$ soundconverter -b -q -m audio/x-wav -s .wav /home/roda/roda/tomcat/apache-tomcat-6.0.37/temp/rodaSourceRep5437925939103191120temp/F0 
SoundConverter 1.5.4
/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
  warnings.warn(str(e), _gtk.Warning)
  using Gstreamer version: 0.10.36
  using gio
    'xingmux' gstreamer element not found, disabling Xing Header.
    'lame' gstreamer element not found, disabling MP3.
    'faac' gstreamer element not found, disabling AAC.

(soundconverter:6238): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Traceback (most recent call last):
  File "/usr/bin/soundconverter", line 449, in <module>
    profiles = _GCONF.get_list(_GCONF_PROFILE_LIST_PATH, 1)
glib.GError: No D-BUS daemon running

roda-soffice-headless shutdown problem

The start/stop script roda-soffice-headless won't correctly shut down OpenOffice. The executable soffice is a script which calls soffice.bin. The RODA script roda-soffice-headless will kill the script soffice, if it is running, without killing the binary soffice.bin. If soffice.bin is killed first, then the script soffice will terminate anyway.

The line to change is:

killall -9 soffice 2> /dev/null || killall -9 soffice.bin

which, if modified to:

killall -9 soffice.bin 2> /dev/null || killall -9 soffice

will not leave soffice.bin running when it should have been terminated.

Improve preservation event "balloon" on the timeline UI

Improve the content with more information:

  • Who: Agent information
  • When: duplicate date (which is on the bottom) with label
  • What: action (in english)
  • Why: e.g. preservation plan

All the information should be i18n (all) or in english.

Also, escape special characters that maybe on the outcome (e.g. the preservation action output).

Preservation process work

How does the Preservation process work? How often does it work? How can it be configured? How can it be tested?

Create i18n compliant error pages

Right now, error pages are static pages on the webapp folder and used directly by the web descriptor (web.xml).
Change the web descriptor to point out to RODA webapp menu options that open i18n error page as in Home.html

Example: Point web.xml 404 error page to /#error_404, add menu option "ERROR_404", load error page when menu option selected.

Set a development environment for the system

How can we set a development environment for the system? Do we need the Eclipse software running on Debian Linux with Maven? Which plugins are necessary? Which configurations?

Scheduler historic dates are incorrect

Dates are incorrectly stored in the database. Even task that didn't done anything have 1 hour of difference between the start of the task and the end.

Specified key was too long; max key length is 1000 bytes

If you are using your own MySQL database, it may be set to use UTF8 as the default character encoding for text/varchar columns. If so, you will get errors like:

ERROR 1071 (42000) at line 17: Specified key was too long; max key length is 1000 bytes

If you find the offending line in the database schema file, you will see that the column used in the key is declared to be id VARCHAR(500) NOT NULL. With UTF8 encoding, this results in a column needing 1500 bytes. The varchar columns used used in keys need to be declared as latin1, e.g. id VARCHAR(500) CHARACTER SET latin1 NOT NULL.

It isn't really a bug in RODA, as it depeneds on how your database is configured. But it could be something for the documentation.

Duplicated translations of file format names

In localization "properties" files you have items like:
"Creator.structured_text.subtype.MS_POWERPOINT = Microsoft Powerpoint"
There are a few duplicities (same text with different keys), I think that for localization will be better to use general translation of file formats like:
"fileFormat.MS_POWERPOINT = Microsoft Powerpoint"

RODA In module

What’s the procedure to use the RODA In module? Is it finished and stable?

Quarantine

How does the quarantine work? How can it be set or managed?

RODA debian package

Create a debian package to install RODA. Support last Debian version and last Ubuntu LTS.

RODA-in cannot be downloaded from RODA-WUI

HTTP Status 500 - Servlet execution threw an exception

type Exception report

message Servlet execution threw an exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
pt.gov.dgarq.roda.servlet.RoleFilter.doFilter(RoleFilter.java:118)
pt.gov.dgarq.roda.servlet.LdapAuthenticationFilter.doFilter(LdapAuthenticationFilter.java:356)
root cause

java.lang.NoClassDefFoundError: Could not initialize class org.apache.axis.client.AxisClient
org.apache.axis.client.Service.getAxisClient(Service.java:104)
org.apache.axis.client.Service.(Service.java:113)
pt.gov.dgarq.roda.core.stubs.LoginServiceLocator.(LoginServiceLocator.java:12)
pt.gov.dgarq.roda.core.RODAClient.getLoginService(RODAClient.java:217)
pt.gov.dgarq.roda.core.RODAClient.(RODAClient.java:202)
pt.gov.dgarq.roda.sipcreator.installer.GetRodaIn.createClassificationPlan(GetRodaIn.java:301)
pt.gov.dgarq.roda.sipcreator.installer.GetRodaIn.createGenericInstaller(GetRodaIn.java:366)
pt.gov.dgarq.roda.sipcreator.installer.GetRodaIn.sendInstaller(GetRodaIn.java:223)
pt.gov.dgarq.roda.sipcreator.installer.GetRodaIn.doPost(GetRodaIn.java:186)
pt.gov.dgarq.roda.sipcreator.installer.GetRodaIn.doGet(GetRodaIn.java:151)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
pt.gov.dgarq.roda.servlet.RoleFilter.doFilter(RoleFilter.java:118)
pt.gov.dgarq.roda.servlet.LdapAuthenticationFilter.doFilter(LdapAuthenticationFilter.java:356)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.37 logs.

Apache Tomcat/6.0.37

Set system logs

The system logs (the database ones) are extensive and extremely detailed. If the system is set to perform frequent actions on the files the log will grow too much. About that information:

  • Is it possible to remove them? If positive, how?
  • Is it possible to reduce their level of details for their final size to be reduced?
  • Can the tables be normalized to reduce their growth?

Database previewer (PhpMyAdmin) has a cookie problem when roda-wui not root

When roda-wui is not the root application (ROOT.war), the PhpMyAdmin cookies don't work and a warning is issued:
"Cookies must be enabled past this point"

This happens because cookies define path as in /PhpMyAdmin, and not relative to the roda-wui application.
This can probably be worked around by changing PhpMyAdmin configuration or by putting roda-wui in ROOT.war

Create a valid SIP (.zip)

What's necessary to create a valid SIP (.zip)? Any specific hierarchy inside the zip file? Any necessary text or XML file?

Possible concurrency problem when scheduling period is too fast

When scheduling period was 10s, the following error occurred:

ERROR 2012-11-21 12:10:20,149 (TaskInstanceDatabaseUtility) SQLException inserting new TaskInstance - Deadlock found when trying to get lock; try restarting transaction
com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1045)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3536)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3468)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1634)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1553)
at pt.gov.dgarq.roda.core.scheduler.TaskInstanceDatabaseUtility.insertTaskInstanceParameter(TaskInstanceDatabaseUtility.java:530)
at pt.gov.dgarq.roda.core.scheduler.TaskInstanceDatabaseUtility.insertTaskInstance(TaskInstanceDatabaseUtility.java:128)
at pt.gov.dgarq.roda.core.scheduler.SchedulerManager.createTaskInstance(SchedulerManager.java:577)
at pt.gov.dgarq.roda.core.scheduler.PluginJob.execute(PluginJob.java:97)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

Move ldap-filter.properties to the common component of roda-installer

Atm, the properties file ldap-filter.properties is replicated in 3 different locations:

  • roda-installer/src/main/resources/files/core/config/templates/ldap-filter.properties
  • roda-installer/src/main/resources/files/ui/config/templates/ldap-filter.properties
  • roda-installer/src/main/resources/files/migrator/config/templates/ldap-filter.properties

If a change is needed, it needs to be done in 3 different files.
Perhaps it's better to move it to a common location, like roda-installer/src/main/resources/files/common/config/templates/.

Index characterization properties

This may be needed for the SCAPE Data connector API, so Plans can refer collections made of SRU queries on the characteristics of files.

Depends on #25.

Insert a new language

What’s the complete procedure to insert a new language in the system? Do all "pt_PT.properties" system files have to be translated?

Support ingest by FTP with LDAP authentication

Ingest by FTP instructions are no longer valid because of changes in PAM. This support now needs to be reviewed and good instructions need to be created.

From Nicholas del Pozo:

Install instructions for LDAP + libpam-ldap both require a lot of options to be set-up. I understand that somebody with more knowledge in these areas wouldn't find it a problem, but it would good to have some 'default' values to enter recorded in the install documentation.

Set system logs 2

Can the system logs (the text file ones) be removed? Can they be set to be stored in another location?

SQL queries created using String.format

There are several classes that use String.format to create the sql queries to be executed. This may cause problems when inserting values that are differently formated depending on the locale (float, doubles).

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.