GithubHelp home page GithubHelp logo

ilscipio / scipio-erp Goto Github PK

View Code? Open in Web Editor NEW
327.0 45.0 177.0 423.14 MB

A scalable large-scale eCommerce framework that is made for multinational omnichannel installations and is easy to customize.

Home Page: https://www.scipioerp.com

License: Apache License 2.0

Shell 0.17% Batchfile 0.04% Groovy 5.81% Java 60.14% FreeMarker 16.82% JavaScript 2.52% CSS 1.97% HTML 11.02% XSLT 0.01% Ruby 0.01% SCSS 1.42% Sass 0.07%
erp java ecommerce ecommerce-platform ecommerce-website crm foundation bootstrap user-management open-source

scipio-erp's Introduction

**************************************************************************

   _____    _____   _   _____    _    ____      _____   _____    _____
  / ____|  / ____| | | |  __ \  | |  / __ \    |  ___| |  __ \  |  __ \
 | (___   | |      | | | |__) | | | | |  | |   | |___  | |__) | | |__) |
  \___ \  | |      | | |  ___/  | | | |  | |   |  ___| |  _  /  |  ___/
  ____) | | |____  | | | |      | | | |__| |   | |___  | | \ \  | |
 |_____/   \_____| |_| |_|      |_|  \____/    |_____| |_|  \_\ |_|

                    https://www.scipioerp.com

**************************************************************************

PRs Welcome Maintainability Read the Docs

SCIPIO ERP - Community Edition

Scipio ERP is a toolkit for the development of modern business applications.

What is Scipio ERP

Scipio ERP is an Open Source Business Application Toolkit based on Java 11+ and a built-in Tomcat application server. We provide standard applications, functions (services) and a well thought-out datamodel, so that you can create modern web applications.

Our templating toolkit simplifies the creation of modern UIs and is compatible with most modern HTML frameworks.

Technologies

TL;DR

  • Simplifies the creation of business or ECommerce applications
  • Highly modular, extendable and customizable
  • Bundles a long list of working applications
  • Supports most modern HTML frameworks
  • Supports Caching & Clustering
  • Can be rolled out internationally

What's included

  • Business Applications & functions for
    • Accounting
    • Asset Maintenance
    • Catalog Management
    • Content Management
    • Customer Relationship Management (CRM)
    • Ecommerce
    • Human Resource Management
    • Manufacturing Management
    • Order Management
    • User Management
    • Warehouse Management
    • Work Effort (Time tracking)
  • A templating toolkit (freemarker macros) to simplify UI creation
  • A multi-language, multi-national, multi-store Ecommerce application
  • A flexible datamodel
  • Support of various third-party APIs (payment, shipping, apache camel, etc.)

Installation

System Requirements

  • Operating System: Windows, Linux, OS X
  • Core 2 Duo or Athlon X2 at 2.4 GHz or higher
  • 4+GB RAM, 2+GB free hard disk space

Software Requirements

  • Java 11 JDK or greater (Openjdk or Oracle)

Recommended Development Tools

  • Git client
  • JetBrains IntelliJ IDEA with Scipio ERP Plugin

Prerequisites

In order to install SCIPIO ERP, the following prerequisites must be installed:

  • Java 11 JDK or greater
    • Download and Install
    • Set JAVA_HOME Path (Windows)

Download

The standard way to get SCIPIO ERP is to checkout the master (main) branch, which provides you with the latest stable version with important updates:

  1. Open your command line and run:

Note it is also possible to checkout specific version tags as well as stable version series this way (e.g., git checkout 3.0.0), but main branch typically contains the desirable setup for most demo, server and client usages.

Installation Process

In order to install on a client system or start on a server, the following steps should be used:

  1. Open your command line, go to the extracted folder and run:
  • Linux ./install.sh
  • OS X: ./install.sh
  • Windows: install.bat
  1. From the same command line run:
  • Linux ./start.sh
  • OS X: bash ./start.sh
  • Windows: start.bat
  1. To access the application visit the SCIPIO ERP Dashboard: https://localhost:8443/admin

  2. To access the SCIPIO ERP applications from the Dashboard use: Username: admin Password: scipio

If build failure occurs due to missing Nashorn Javascript engine on JDK 15 or later, first run:

  • Linux ./ant download-ant-js
  • OS X: ./ant download-ant-js
  • Windows: ant.bat download-ant-js

Note: These steps are typically too limited for developers; see section below.

                 **Congratulations, you have installed SCIPIO ERP!**

Updates

  1. Retrieve latest code updates from git: a. git checkout master b. git pull

  2. Reload visual themes: a. Restart SCIPIO server b. Visit entity utility services page: https://localhost:8443/admin/control/EntityUtilityServices c. Click "Visual Theme Resources - Reload All, Now"

Optional Configuration

https://www.scipioerp.com/community/developer/installation-configuration/configuration/

Addons

Community and enterprise SCIPIO ERP addons can be added to your working copy and updated using the 'git-addons' Bash script in the project root. It requires a Bash 4-compatible terminal (Linux, Mac, Windows Git Bash, Cygwin).

Instructions can be found at:

https://www.scipioerp.com/community/end-user/addons/

or for brief help and command list, type:

./git-addons help

Docker

We also provide Docker images if you would like to try out Scipio with minimal effort. To create a fully functional SCIPIO ERP instance with some demo data already loaded, you can create a container with the following command:

docker create -p 8080:8080 -p 8443:8443 ilscipio/scipio-erp:demo

Development

For developers, the install/start commands above are typically too limited. The JetBrains IntelliJ IDEA integrated development environment with Scipio ERP Plugin (found in the integrated IDEA plugin store) is highly recommended and, for compilation and development tasks, the traditional bundled Apache Ant commands may and sometimes should be used instead:

  1. Clear local database (Derby), clean out old JARs, build, load demo data to database and start:
  • Linux: ./ant clean-all build load-demo start-debug
  • OS X: ./ant clean-all build load-demo start-debug
  • Windows: ant.bat clean-all build load-demo start-debug

If build failure occurs due to missing Nashorn Javascript engine on JDK 15 or later, first run:

  • Linux: ./ant download-ant-js
  • OS X: ./ant download-ant-js
  • Windows: ant.bat download-ant-js

Commands can be listed using: ant -p (./ant -p)

Commonly used and useful Ant developer commands:

  • clean-all (implies clean-data clean-logs)
  • clean-data (Warning: This deletes local Derby database demo data, but not PostgreSQL/external)
  • clean-logs
  • build
  • rebuild
  • lib-clean-cache-full (in case of maven/ivy issues)
  • lib-update-force (in case of maven/ivy issues)
  • start-debug
  • restart-debug
  • rebuild-debug
  • stop-wait

This is a quick cheat sheet and further information for developers can be found on the website documentation.

Automatically Download Jar Sources

In order for build, lib-update and lib-update-force commands to automatically download third-party JAR sources under component libsrc folders for their corresponding binaries under lib, simply create a file named "build.scp.local.properties" under project root that sets "lib.update.sources=true".

  • Linux/OS X: echo "lib.update.sources=true" >> build.scp.local.properties

After build/lib-update-force is run, IntelliJ IDEA using the Scipio ERP plugin can be instructed to refer to these sources and automatically expand into them using Ctrl+B (a good test is HttpServletRequest):

  • Tools -> Scipio ERP -> Reload Resource Directories

See build.properties for other options; build.scp.local.properties and other *.scp.local.properties files are ignored for version control by .gitignore.

Support

For detailed information and changes about the SCIPIO ERP suite, visit the official website at:

https://www.scipioerp.com

You can get in touch with the us at:

https://www.ilscipio.com

OFBiz

Scipio ERP is a fork of the Apache OFBiz project.

For more details about OFBiz please visit the OFBiz Documentation page:

http://ofbiz.apache.org/documentation.html

License

The source code that makes up The SCIPIO ERP Community Edition (hereinafter referred to as "SCIPIO ERP") and the majority of the libraries distributed with it are licensed under the Apache License v2.0.

Other licenses used by libraries distributed with SCIPIO ERP are listed in the LICENSE file. This file includes a list of all libraries distributed with SCIPIO ERP and the full text of the license used for each.

For additional details, see the NOTICE file.

Disclaimer

This software is provided as is and free of charge. There is no warranty or support implied under the terms of the license included.

SCIPIO ERP and the SCIPIO logo are trademarks of Ilscipio GmbH. © Copyright SCIPIO components 2016 Ilscipio GmbH. Apache OFBiz, Apache, the Apache feather logo are trademarks of The Apache Software Foundation.

BIS Crypto TSU exception notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

* Various classes in Scipio, including DesCrypt, HashCrypt, and
 BlowFishCrypt use libraries from the Sun Java JDK API including
 java.security.* and javax.crypto.* (the JCE, Java Cryptography
 Extensions API)
* Other classes such as HttpClient and various related ones use
 the JSSE (Java Secure Sockets Extension) API

scipio-erp's People

Contributors

james-yong avatar madppiper avatar minifreak avatar pplx avatar scipio-deploy 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  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  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

scipio-erp's Issues

AP invoice creation error

On clicking the new invoice button in accounts payable (Accounts payable -> Invoices -> new invoice) I get (The Following Errors Occurred
org.ofbiz.webapp.control.RequestHandlerException: Unknown request [null]; this request does not exist or cannot be called directly.).
How can I fix this?
Thanks in advance.

Build failed

I have a problem when install in Windows 10

This is the log
_"classes:
[javac18] Compiling 152 source files to C:\scipio-erp\framework\entity\build\classes
[javac18] warning: [options] bootstrap class path not set in conjunction with -source 8
[javac18] C:\scipio-erp\framework\entity\src\org\ofbiz\entity\serialize\XmlSerializer.java:48: error: package javax.xml.bind does not exist
[javac18] import javax.xml.bind.DatatypeConverter;
[javac18] ^
[javac18] 1 error
[javac18] 1 warning

BUILD FAILED
C:\scipio-erp\build.xml:782: The following error occurred while executing this line:
C:\scipio-erp\build.xml:812: The following error occurred while executing this line:
C:\scipio-erp\macros.xml:394: The following error occurred while executing this line:
C:\scipio-erp\common.xml:81: Compile failed; see the compiler error output for details.

Total time: 1 minute 25 seconds
"_
I don´t know what I must do
Thanks in advance
Angels

Unable to install on MacOS

When I use the installer to install ScipioERP on MacOS, it says that I have to install Java and set JAVA_HOME. They are set. I got this error on my MacBook and my Mac Pro. Java is installed and JAVA_HOME is set on both. Any suggestions other than downloading the Git repository?
Regards

Screen Shot 2019-04-07 at 9 11 41 AM

Multiple User login at the same at several computers!

Good Afternoon! Im writing to you, to let you know that we need the feature for the user to be logged in at several places, without interfering one another while the login is performed. This is available at most of web applications. For example, If I am logged in at two different computers with the same user, if I logout from the user at one of the computer, the logout will be performed also at the other computers. We need the feature for letting a user to be logged in at several computers at the same time.

Database Error

I am getting this error while launching for the first time.

org.ofbiz.entity.GenericEntityException: org.ofbiz.entity.GenericDataSourceException: Unable to esablish a connection with the database. (Unable to acquire a new connection from the pool) (Unable to esablish a connection with the database. (Unable to acquire a new connection from the pool))
at org.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1603) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.util.EntityQuery.query(EntityQuery.java:526) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.util.EntityQuery.queryList(EntityQuery.java:451) ~[ofbiz-entity.jar:?]
at org.ofbiz.service.job.JobManager.reloadCrashedJobs(JobManager.java:395) [ofbiz-service.jar:?]
at org.ofbiz.service.job.JobPoller$JobManagerPoller.run(JobPoller.java:223) [ofbiz-service.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: org.ofbiz.entity.GenericDataSourceException: Unable to esablish a connection with the database. (Unable to acquire a new connection from the pool)
at org.ofbiz.entity.jdbc.SQLProcessor.getConnection(SQLProcessor.java:263) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:366) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericDAO.selectListIteratorByCondition(GenericDAO.java:763) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:140) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1547) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1583) ~[ofbiz-entity.jar:?]
... 5 more
Caused by: java.sql.SQLException: Unable to acquire a new connection from the pool
at org.apache.commons.dbcp2.managed.ManagedConnection.updateTransactionStatus(ManagedConnection.java:130) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.managed.ManagedConnection.(ManagedConnection.java:59) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.managed.ManagedDataSource.getConnection(ManagedDataSource.java:81) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.ofbiz.entity.connection.DebugManagedDataSource.getConnection(DebugManagedDataSource.java:52) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.connection.DBCPConnectionFactory.getConnection(DBCPConnectionFactory.java:65) ~[ofbiz-entity.jar:?]
at org.ofbiz.geronimo.GeronimoTransactionFactory.getConnection(GeronimoTransactionFactory.java:83) ~[ofbiz-geronimo.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.getConnection(SQLProcessor.java:260) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:366) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericDAO.selectListIteratorByCondition(GenericDAO.java:763) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:140) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1547) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1583) ~[ofbiz-entity.jar:?]
... 5 more
Caused by: java.util.NoSuchElementException: Unable to activate object
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:471) ~[commons-pool2-2.5.0.jar:2.5.0]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:362) ~[commons-pool2-2.5.0.jar:2.5.0]
at org.apache.commons.dbcp2.managed.ManagedConnection.updateTransactionStatus(ManagedConnection.java:127) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.managed.ManagedConnection.(ManagedConnection.java:59) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.managed.ManagedDataSource.getConnection(ManagedDataSource.java:81) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.ofbiz.entity.connection.DebugManagedDataSource.getConnection(DebugManagedDataSource.java:52) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.connection.DBCPConnectionFactory.getConnection(DBCPConnectionFactory.java:65) ~[ofbiz-entity.jar:?]
at org.ofbiz.geronimo.GeronimoTransactionFactory.getConnection(GeronimoTransactionFactory.java:83) ~[ofbiz-geronimo.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.getConnection(SQLProcessor.java:260) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:366) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericDAO.selectListIteratorByCondition(GenericDAO.java:763) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:140) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1547) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1583) ~[ofbiz-entity.jar:?]
... 5 more
Caused by: java.sql.SQLException: A read-only user or a user in a read-only database is not permitted to disable read-only mode on a connection.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) ~[derby-10.14.2.0.jar:?]
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) ~[derby-10.14.2.0.jar:?]
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) ~[derby-10.14.2.0.jar:?]
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) ~[derby-10.14.2.0.jar:?]
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) ~[derby-10.14.2.0.jar:?]
at org.apache.derby.impl.jdbc.EmbedConnection.setReadOnly(Unknown Source) ~[derby-10.14.2.0.jar:?]
at org.apache.commons.dbcp2.DelegatingConnection.setReadOnly(DelegatingConnection.java:561) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.PoolableConnectionFactory.activateObject(PoolableConnectionFactory.java:415) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:462) ~[commons-pool2-2.5.0.jar:2.5.0]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:362) ~[commons-pool2-2.5.0.jar:2.5.0]
at org.apache.commons.dbcp2.managed.ManagedConnection.updateTransactionStatus(ManagedConnection.java:127) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.managed.ManagedConnection.(ManagedConnection.java:59) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.apache.commons.dbcp2.managed.ManagedDataSource.getConnection(ManagedDataSource.java:81) ~[commons-dbcp2-2.2.0.jar:2.2.0]
at org.ofbiz.entity.connection.DebugManagedDataSource.getConnection(DebugManagedDataSource.java:52) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.connection.DBCPConnectionFactory.getConnection(DBCPConnectionFactory.java:65) ~[ofbiz-entity.jar:?]
at org.ofbiz.geronimo.GeronimoTransactionFactory.getConnection(GeronimoTransactionFactory.java:83) ~[ofbiz-geronimo.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.getConnection(SQLProcessor.java:260) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement(SQLProcessor.java:366) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericDAO.selectListIteratorByCondition(GenericDAO.java:763) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.datasource.GenericHelperDAO.findListIteratorByCondition(GenericHelperDAO.java:140) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1547) ~[ofbiz-entity.jar:?]
at org.ofbiz.entity.GenericDelegator.findList(GenericDelegator.java:1583) ~[ofbiz-entity.jar:?]
... 5 more

Security of ValueLinkApi.java

In our static observation of the code, we see some strange things in ValueLinkApi.java and DesCrypt.java. Would it be possible for the protocols to be secured?

Initialization vector are set to 0s, which is insecure:

byte[] zeros = { 0, 0, 0, 0, 0, 0, 0, 0 };
IvParameterSpec iv = new IvParameterSpec(zeros);

DES is used, which is old and insecure.

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.