DaDaBIK logo

Use cases: Internal Tool builder

What are internal tools?

An internal tool is any software used by an organization to support and manage its internal activities and workflow. Customers or other external parties typically do not have access to such tools, only employees and other selected users.

These software can run on the organization's LAN (preventing any external access) but can also be hosted on a public Web server / cloud service (in this case external users typically see only the login page and can't access without proper credentials).

Examples of internal tools are: CRMs, Inventory applications, Dashboards, Support/help ticketing management, Approval applications, Sales management applications, Simple database front-ends, Knowledge management digital archives and many others.

Why are internal tools so important today?

Organizations have always used internal tools; however, in the last few years the digital transformation and automation of the internal processes have been speed up and therefore the needs for (digital) internal tools has increased.

In this scenario, particularly important is also the possibility to integrate internal tools with the existing elements of the information system (see integration later).

What is an internal tool builder?

As the name suggests, an internal tool builder is a software that allows you to easily and fast develop & deploy internal tools, with little or no coding.

Building Internal tools with DaDaBIK

Internal tools are the best candidate for DaDaBIK. While DaDaBIK has been used to build many different kinds of data-driven Web applications, including applications for the general public, in most of the cases our customers use it to build internal tools.
Internal tools are very often data-driven applications built around a database and that's what DaDaBIK can easily build since its very first releases.

How do you actually build such tools with DaDaBIK?

There are four basic steps.

  1. Define your data structure within DaDaBIK. With a simple graphic interface, you create the tables you need to store data (e.g. you create a "customers" table containing the data about your customers). You can also connect DaDaBIK with your existing database, if you already have one, or import your Excel / CSV files.
  2. Configure your forms. You normally need forms that allow users to interact with your app. Some standard forms are automatically created by DaDaBIK according to your data structures but you probably want to customize them, e.g. decide the label for each field, set validation rules and much more.
  3. Set permissions. You might need to hide certain fields to certain users or allow certain operation (e.g. delete) only to certain users. For each table and field, a simple graphic interface allows you to set granular permissions.
  4. Add some additional logic using code, if needed. You can add additional PHP/Javascript code to cover your specific needs in several ways:
    • Buttons: you can add buttons in many parts of your application; a button can trigger the execution of some custom code
    • Hooks: A DaDaBIK hook allows you to write some custom PHP code to be executed under certain circumstances, for example after a specific data operation (something like: execute this code after the deletion of a product) or after having displayed a specific element of the layout (something like: add this note after a product heading, but only for some specific users)
    • Custom validation, formatting and conditional field functions, calculated field functions: for example you can set a field as "calculated" and write your own code to determine the value the field will take.

Integration

Can I integrate an internal tool created with DaDaBIK with other internal tools available in my information system?

You have several methods you can use to integrate your DaDaBIK app with the rest of your information system:

  • Database integration. DaDaBIK can use, as the source of an application, an existing database (MySQL, PostgreSQL, SQLServer, SQLite are supported).
  • MS Excel / CSV. DaDaBIK can import, as data source, an existing Excel / CSV / ODS file. You can also synchronize the content of a table with an existing file (new records will be added, existing records will be updated).
  • HTTP API. external applications can access the data managed by a DaDaBIK application through HTTP APIs. Those applications can be developed using any kind of technology, they can access your DaDaBIK app simply by calling an URL (and including some parameters), DaDaBIK replies with a JSON document.
  • Hooks. Hooks (see previous chapter for details) can also be used as an integration tool. Let's say that when you delete a record (for example, a customer) using the internal tool A (created with DaDaBIK) you also want to remove all the related information, available in another database, managed by another tool B (maybe NOT created with DaDaBIK): an after delete hook allows you to do that, specifying the (additional) delete queries to execute or calling some API delete methods that tool B might provide.

Want to know what users say about DaDaBIK? Check the reviews



Questions about using DaDaBIK as an internal tool builder or about DaDaBIK in general? Contact us, we'll get in touch very soon.



t/internal-tool-builder/