Berikut adalah beberapa tulisan yang disalin dari berbagai sumber, tulisan kembali disalin untuk tujuan mengingat kembali dan mengurangi penelusuran berulang.

Fitur Openbravo

diposting pada tanggal 10 Feb 2017 07.04 oleh Putra Agung   [ diperbarui10 Feb 2017 07.06 ]

Fitur Openbravo

Master Data Management

Pengelolaan master data perusahaan secara benar, merupakan aspek fundamental untuk menjamin integritas data dan kemudahan dalam mengakses informasi. Openbravo ERP membantu anda untuk mengorganisasi dan melakukan sentralisasi  data untuk memfasilitasi aliran informasi yang cepat dan tepat ke seluruh area manajemen pada perusahaan anda.

Openbravo Features

Di bawah ini adalah sebagian master data yang terdapat dan dikelola oleh aplikasi Openbravo :

Product categories:

    Product indexes: product types (item, service, cost), with specialized management for each. Particular warehouse management definition for each product (management of stock, tracking ability). Characteristics. Product images.
    Measurement units, conversion between units, variable weight units.
    Materials lists (products made up of others).
    Vendors by product.
    Price lists. Definitions of rates with differentiation (for example, from sales rates to purchasing rates). Automatic process of generation of rates.
    Rates. Price rates, applicable prices, price limits, specialized rules for applying prices to purchasing and sales.
    Freight categories.
    Transportation services (integrated with business partners).
    Substitute products.

Business Partners:

    Customers, vendors, employees. Functions characterized by internal use (delivery/receipt of material, invoicing, collection, social direction, others). Contacts associated with direction. Third party grouping. Areas of interest (for commercial analysis).
    Customers. Sales rates. Invoicing method (immediate, delivery notes served, order completely delivered, periodical). Payment forms and terms (conditions of payment). Printing format and number of documents discernable by customer. Permitted risk (credit).
    Vendors. Prices and discounts. Form and period of payment (conditions of payment).
    Employees. Related with customer agent.
    Groups of business partners (segments or categories).
    Payment Terms (expiration dates, fixed payment days, working days, multiple expiration dates).
    Periodic invoicing calendars (monthly, fortnightly, weekly), with cut-off dates for each case. Possibility of mixed use calendars.
    Purchasing and volume sales discounts. Relation of articles, scalable discounts.
    Sales channels (sales representatives, telesales).
    Areas of interest.
    Third party activity reports.

Procurement Management
Rates, purchase orders, goods receipts, invoice registration and accounting, purchase planning, etc.
Detil fitur:

    Purchase planning, based on production necessities, keeping in mind minimum stock levels, goods receipts dates, and pending requests.
    Support for purchase requisitions for centralized purchase management.
    Purchase orders. Rates applications: prices, discounts and price limit controls. Warehouse control of goods pending receipt. Correction of orders. Creation of purchase orders from sales orders. Refunds to the vendor.
    Receipts. Automatic creation from pending order lines. Automation of incoming goods (location according to priority). Refunds to the vendor (according to stocks). Cancellation of delivery notes.
    Purchase invoices. Application of rates: prices, discounts and control of price limit. Automatic creation from order lines or delivery note lines pending invoicing. Invoicing of goods processed in consignment. order. Cancellation of invoice (leaving pending for invoicing the associated documents).
    Relationship between orders, delivery notes and invoices.
    Expense Invoices.
    Massive printing of documents.
    Purchasing order reports, vendor invoices.

Warehouse Management
Warehouses and bins, warehouse units, lots, serial numbers, packages, labels, receipts and deliveries, movements between warehouses, inventories, stock valuation, transport, etc.
Detil fitur:

    Warehouses and storage bins (multiple warehouse use available).
    Stock products in multiple units (for example in kilograms and boxes).
    Personalized product attributes in the warehouse (color, size, quality description, etc.).
    Lot and serial numbers.
    Printing of labels. Barcodes (EAN, UPC, UCC, Code, others.).
    Management of bundles in warehouses.
    Restocking control.
    Traceability configurable by product.
    Movement among warehouses.
    Picking strategies (according to stock, with rules of priority by expiry, location, etc.).
    Physical inventory. Inventory planning. Continuous inventory.
    Reports of movements, tracking, stock, arrivals/departures, expiry, inventories, locations, etc. Personalized reports.
    Integrated with Openbravo POS

Project and Service Management
Projects, phases, tasks, resources, budget, expenses and expense invoicing, related purchases, etc.
Detil fitur:

    Project types, phases and tasks.
    Expenses associated with a project.
    Historical salary categories associated to project costs.
    Made-to-order projects and generation of sales orders from templates.
    Construction projects. Invoice to origin (by project).
    Rates by project.
    Budget report. Tracking of actions regarding budget estimates.
    Generation of purchase orders.
    Project reports.
    Register of services.
    Internal expenses.
    Invoicing of expenses.
    Invoicing of services.
    Levels of service.
    Activities report.

Production Management
Plant structure, production plans, BOM’s, MRP, manufacturing orders, job reports, costs of production, work incidences, preventive maintenance types, etc.
Detil fitur:

    Plant structures.
    HFG’s (Homogeneous Functional Groups) or Cost Centers.
    Work centers and machines.
    Materials Requirement Planning (MRP) keeping in mind client requests, existing clients, stock levels, and minimum order quantities.
    Production plans, with multiple arriving products and multiple departing products.
    Production orders.
    Sequence creation and products for each order phase.
    Confirmations with data relating to the production plan and pre-filled sequence.
    Calculation of production costs with the possibility of adding indirect costs.
    Work incidences.
    Types of equipment and management of each piece of equipment.
    Preventive maintenance and maintenance types.

Sales Management and Customer Relationship Management (CRM)
Prices, rates, varying quantity sales orders, shipments, invoicing, volume discounts, commissions, CRM, etc.
Detil fitur:

    Sales areas.
    Sales orders. Direct sales. Pre-sales. Telesales. Rate applications: prices, discounts and price limit controls. Reserves of goods in warehouse for unprocessed orders. Notification of customer risks. Correction of orders.
    Types of order documents: estimations (with and without reserves of goods), standards, warehouses (automatic delivery note generation), Points of sale (automatic generation of delivery note and invoice).
    Delivery note. Automatic creation from pending order lines. Automation of the outgoing orders (according to stocks, with rules of priority by expiry, location, etc). Cancellation of delivery notes.
    Automatic generation of delivery notes.
    Invoicing process. For all types of invoicing: immediate, delivered goods, order completely delivered. Periodically, (weekly, fortnightly, monthly).
    Invoice registration. Rate applications: prices, discounts and price limit controls. Automatic creation from order lines or delivery note lines of delivery notes pending of being invoiced. Notification of customer risks. Invoice cancellation (leaving associated documents pending invoice).
    Massive printing of documents (orders, delivery notes, invoices), with individual selection criteria for the user.
    Possibility of the creation of documents in any order and to disregard documents not required (Order-Delivery note-Invoice; Order-Invoice-Delivery note; Delivery note-Invoice; Invoice).
    Reports of orders, sales order supplied, delivery notes, invoices, orders not invoiced, details of invoicing.
    Integrated with order capture systems by (palm and pocket PC).
    Standardized customer information (360° vision).
    Management of requests. Integration with E-mail.
    Integrated with Openbravo POS

Financial Management and Accounting Solution
Chart of accounts, accounts, budgets, taxes, general accounting, accounts payable, accounts receivable, bank accounting, balance sheet, P&L, fixed assets, etc.
Accounting :

    Default charts of accounts.
    Definition of charts of accounts.
    Fiscal year and year to year management.
    Tax categories.
    Tax brackets. Determining flexible taxes based on regions, products, or business partners.
    Linked accounting. Direct navigation from accounting entries to documents and vice versa.
    Manual entries. Enty rates.
    Journal entries.
    Trial balance.
    General ledger.
    P&L statements (income statements).
    Balance sheets.
    General accounting plan statements.

Receivables and Payables:

    Generation of debt payments (from invoicing).
    Issue of debt payments.
    Management (cancellation, merging and division) of accounting documents. Remittances (according to bank records).
    Issue of cash accounts. Multi-cash account.
    Cash account journal (cash audit). Cash account entries by type Expenses, Receipts, Balance, Deposits, Bills, Order (for cash payment on delivery note: possibility of recovering expenses before invoicing. Automatic generation of entries for cash payments and payments on delivery note.
    Bank statements. Portfolio issues selection assistant.
    Manual liquidations. Other expenses (payroll, taxes, etc.).
    Cash account reports, bank, debt payments by position.


    Definition of the assets, fixed assets, acquisition price, and accounting valuation.
    Temporary or percentage based amortization.
    Amortization plans.


    Support for multi-currency.
    Support for multi-schema accounting, which enables the same transaction to be accounted in different rules, different charts of accounts, in different base currencies and with a different accounting calendar.
    Support for international bank account numbers.
    Support for multiple languages, defined at user level.

Business Intelligence (BI)
Reporting, multidimensional analysis (OLAP), balanced scorecards.

    Integrated with application management.
    Reports definable by user.
    Pre-established dimensions (third party, product, product category, product category, project, campaign, etc.) and dimensions established by use.
    Predefined balanced scorecard.

sumber :

PostgreSQL Overview

diposting pada tanggal 17 Agt 2016 02.36 oleh Putra Agung   [ diperbarui10 Feb 2017 06.14 ]

PostgreSQL has extensive and good help that should be the first source of information regarding this database product. This page outlines main differences to generic PostgreSQL installation used by Debian.


Required packages: postgresql postgresql-client

# apt-get install postgresql postgresql-client

Recommended packages:
  • postgresql-doc - PostgreSQL documentation.
  • pgadmin3 - PostgreSQL administration GUI.
  • phppgadmin - PostgreSQL web-based administration tool. 

Please note that the procedural languages are installed separately (plpgsql comes by default). Perform search packaging database to find the list of possibilities:

# aptitude search postgresql

User access

Both the default database user and default database are called postgres.

You may connect to the database using the following command:

# su - postgres
$ psql

New User and database

Create a regular system user account using adduser (skip this step to use an existing account):

# adduser mypguser    #from regular shell

Connect to database

# su - postgres
$ psql

Create a new database user and a database:

postgres=# CREATE USER mypguser WITH PASSWORD 'mypguserpass';
postgres=# CREATE DATABASE mypgdatabase OWNER mypguser;


# createuser mypguser    #from regular shell
# createdb -O mypguser mypgdatabase

Quit from the database

postgres=# \q

Connect as user mypguser to new database

# su - mypguser
$ psql mypgdatabase


# psql -d mypgdatabase -U mypguser

If you get errors like:

psql: FATAL:  Ident authentication failed for user "mypguser"

edit pg_hba.conf in /etc/postgresql/X.Y/main/pg_hba.conf

local   all         all                               trust     # replace ident or peer with trust

reload postgresql

# /etc/init.d/postgresql reload


To get an overview about Debian's PostgreSQL architecture, instructions for a quick start, and pointers to the programs and manpages, have a look at /usr/share/doc/postgresql-common/README.Debian.gz.

Tutorial files

PostgreSQL documentation points to tutorial, which is included in postgresql-doc package. To get more information look at /usr/share/doc/postgresql-doc-[version]/tutorial/README.

Listing existing database clusters

Use pg_lsclusters command to check installed clusters and obtain some basic information such as: version (major version), name, port, status (online or down), owner, data directory and log file.


pg_ctl replacement

pg_ctl is a PostgreSQL command line control program that can be used to control the database. Debian has made a Perl-wrapper for the pg_ctl called /usr/bin/pg_ctlcluster. Use the pg_ctlcluster whenever you need the pg_ctl. To customize the behavior check the /etc/postgresql/[version]/[cluster]/pg_ctl.conf

Debian installs SysV-init compatible (standard) start-up script /etc/init.d/postgresql-[version]. It can be used to start, stop, restart and reload the system. It calls pg_ctlcluster internally.

File locations

Debian splits the database configuration from the database files, opposed to generic PostgreSQL installation that puts everything under same directory. Note that Debian allows multiple clusters and even different versions of PostgreSQL to co-exist in same host.

Configuration files: /etc/postgresql/[version]/[cluster]/
Binaries: /usr/lib/postgresql/[version]
Data files: /var/lib/postgresql/[version]/[cluster]

Log files: Installing PostgreSQL creates log directory /var/log/postgresql/. Starting the database engine creates log file with name postgresql-[version]-[cluster].log.

Changing Debian default installation

Debian PostgreSQL installation automatically calls the initdb i.e. it initializes the cluster with default encoding and locale. Encoding can be changed later but the locale cannot. To change the locale (an possibly other options in initdb), delete the existing default cluster and create a new one:

1. Take root privileges.
2. Run the following command:

pg_dropcluster --stop <version> main

For example:
pg_dropcluster --stop 8.3 main

3. Run the initdb with your options. 

For example:
pg_createcluster --locale de_DE.UTF-8 --start 8.3 main


The previous operation obviously deletes everything you had in cluster databases. Perform this operation right after you have installed the base package. Check the PostgreSQL manual if you need to change locale for an existing database (it is not a trivial operation).

Check the Locale page to see how to add more locales.

external link

Automated Backup on Linux

diposting pada tanggal 17 Agt 2016 02.33 oleh Putra Agung   [ diperbarui10 Feb 2017 06.14 ]

Here are some scripts which will backup all databases in a cluster individually, optionally only backing up the schema for a set list. The reason one might wish to use this over pg_dumpall is that you may only wish to restore individual databases from a backup, whereas pg_dumpall dumps a plain SQL copy into a single file. This also provides the option of specifying which databases you only want the schema of. The idea is to run these in a nightly cron job.

  • pg_backup.config - The main configuration file. This should be the only file which needs user modifications.
  • - The normal backup script which will go through each database and save a gzipped and/or a custom format copy of the backup into a date-based directory.
  • - The same as above except it will delete expired backups based on the configuration. 

Using Rsync

diposting pada tanggal 15 Agt 2016 10.25 oleh Putra Agung   [ diperbarui17 Agt 2016 02.31 ]


Rsync, which stands for "remote sync", is a remote and local file synchronization tool. It uses an algorithm that minimizes the amount of data copied by only moving the portions of files that have changed.

In this guide, we will cover the basic usage of this powerful utility. We will be using an Ubuntu 12.04 VPS in the examples, but you can use any modern Linux distribution to follow along.

What Is Rsync?

Rsync is a very flexible network-enabled syncing tool. It can also refer to the network protocol developed to utilize this tool.

When we reference rsync in this guide, we are mainly referring to the utility, and not the protocol.

Due to its ubiquity on Linux and Unix-like systems and its popularity as a tool for system scripts, it is included on most Linux distributions by default.

Basic Syntax

The basic syntax of rsync is very straight forward, and operates in a way that is similar to ssh, scp, and cp.

We will create two test directories and some test files with the following commands:

cd ~
mkdir dir1
mkdir dir2
touch dir1/file{1..100}

We now have a directory called dir1 with 100 empty files in it.

ls dir1
file1    file18  file27  file36  file45  file54  file63  file72  file81  file90
file10   file19  file28  file37  file46  file55  file64  file73  file82  file91
file100  file2   file29  file38  file47  file56  file65  file74  file83  file92
file11   file20  file3   file39  file48  file57  file66  file75  file84  file93
file12   file21  file30  file4   file49  file58  file67  file76  file85  file94
file13   file22  file31  file40  file5   file59  file68  file77  file86  file95
file14   file23  file32  file41  file50  file6   file69  file78  file87  file96
file15   file24  file33  file42  file51  file60  file7   file79  file88  file97
file16   file25  file34  file43  file52  file61  file70  file8   file89  file98
file17   file26  file35  file44  file53  file62  file71  file80  file9   file99

We also have an empty directory called dir2.

To sync the contents of dir1 to dir2 on the same system, type:

rsync -r dir1/ dir2

The -r option means recursive, which is necessary for directory syncing.

We could also use the -a flag instead:

rsync -a dir1/ dir2

The -a option is a combination flag.

It stands for "archive" and syncs recursively and preserves symbolic links, special and device files, modification times, group, owner, and permissions.

It is more commonly used than -r and is usually what you want to use.

An Important Note

You may have noticed that there is a trailing slash (/) at the end of the first argument in the above commands:

rsync -a dir1/ dir2

This is necessary to mean "the contents of dir1".

The alternative, without the trailing slash, would place dir1, including the directory, within dir2. This would create a hierarchy that looks like:


Always double-check your arguments before executing an rsync command.

Rsync provides a method for doing this by passing the -n or --dry-run options. The -v flag (for verbose) is also necessary to get the appropriate output:

rsync -anv dir1/ dir2
sending incremental file list
. . .

Compare this output to the output we get when we remove the trailing slash:

rsync -anv dir1 dir2
sending incremental file list
. . .

You can see here that the directory itself is transfered.

How To Use Rsync to Sync with a Remote System

Syncing to a remote system is trivial if you have SSH access to the remote machine and rsync installed on both sides. If you need to set up SSH keys, click here.

Once you have SSH access verified on between the two machines, you can sync the dir1 folder from earlier to a remote computer by using this syntax (note that we want to transfer the actual directory in this case, so we omit the trailing slash):

rsync -a ~/dir1 username@remote_host:destination_directory

This is called a "push" operation because it pushes a directory from the local system to a remote system.

The opposite operation is "pull". It is used to sync a remote directory to the local system. If the dir1 were on the remote system instead of our local system, the syntax would be:

rsync -a username@remote_host:/home/username/dir1 place_to_sync_on_local_machine

Like "cp" and similar tools, the source is always the first argument, and the destination is always the second.

Useful Options for Rsync

Rsync provides many options for altering the default behavior of the utility. We have already discussed some of the more necessary flags.

If you are transferring files that have not already been compressed, like text files, you can reduce the network transfer by adding compression with the -z option:

rsync -az source destination

The -P flag is very helpful. It combines the flags --progress and --partial. The first of these gives you a progress bar for the transfers and the second allows you to resume interrupted transfers:

rsync -azP source destination
sending incremental file list
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=99/101)
           0 100%    0.00kB/s    0:00:00 (xfer#2, to-check=98/101)
           0 100%    0.00kB/s    0:00:00 (xfer#3, to-check=97/101)
           0 100%    0.00kB/s    0:00:00 (xfer#4, to-check=96/101)
. . .

If we run the command again, we will get a shorter output, because no changes have been made.

This illustrates rsync's ability to use modification times to determine if changes have been made.

rsync -azP source destination
sending incremental file list

sent 818 bytes received 12 bytes 1660.00 bytes/sec
total size is 0 speedup is 0.00

We can update the modification time on some of the files and see that rsync intelligently re-copies only the changed files:

touch dir1/file{1..10}
rsync -azP source destination
sending incremental file list
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=99/101)
           0 100%    0.00kB/s    0:00:00 (xfer#2, to-check=98/101)
           0 100%    0.00kB/s    0:00:00 (xfer#3, to-check=87/101)
           0 100%    0.00kB/s    0:00:00 (xfer#4, to-check=76/101)
. . .

In order to keep two directories truly in sync, it is necessary to delete files from the destination directory if they are removed from the source. By default, rsync does not delete anything from the destination directory.

We can change this behavior with the --delete option. Before using this option, use the --dry-run option and do testing to prevent data loss:

rsync -a --delete source destination

If you wish to exclude certain files or directories located inside a directory you are syncing, you can do so by specifying them in a comma-separated list following the --exclude= option:

rsync -a --exclude=pattern_to_exclude source destination

If we have specified a pattern to exclude, we can override that exclusion for files that match a different pattern by using the --include= option.

rsync -a --exclude=pattern_to_exclude --include=pattern_to_include source destination


Rsync can simplify file transfers over networked connections and add robustness to local directory syncing. The flexibility of rsync makes it a good option for many different file-level operations.

A mastery of rsync allows you to design complex backup operations and obtain fine-grained control over what is transferred and how.

By Justin Ellingwood - external

1-4 of 4