Technology

Planit is a desktop application developed using Microsoft .net framework tools. As such, it utilizes Windows operating system capabilities for both reach and efficient user experience and for complex custom calculations exploiting local processing capabilities. Planit was not designed to run from a website, yet there are Planit systems that uses internet databases with a secured connection. Planit systems usually maintained in a central publish spot within the organization network. It’s also available through Terminal Server systems such as Windows server, Citrix, Cockpit or others.

Database

Planit does not have its own built in database. Instead, Planit contains a flexible mechanism for connecting SQL family databases and for mapping tables and queries that involve with planning processes for reading and writing data. On every Planit application there will always be few basic tables that must be defined: resources table, jobs table, availability tables and more. In most cases, existing tables from the information systems can be used. Missing mandatory data will have to be added. In addition to the basic data tables, there are option to bring into the system more data that will be used in the calculation and scheduling process according to each customer’s special needs. Examples of additional tables that can be used are: production lines rates table, relation between production line and specific product characteristics, matching the type of cargo to the relevant truck in a distribution planning system, required profession and training for employees in a work scheduling applications and more. Starting up, Planit loads the data into memory, and from that time the system work “offline” disconnected from the database, allowing complex calculations and display updates quickly. Data retention and updating the database records will be will be done according to the planner command. Multi-user issues and background updates are taken into account and handled as well.

Resources and Jobs

At its core, Planit is built as a smart system for managing queues of jobs on top resources. In addition to organizing the jobs in the queue, there are options of linking jobs on different resources and define the dependencies among them. These capabilities enable Planit to represent and simulate scenarios of production similar to project management with infinite capacity. Unlike common project management tools, Planit is able to calculate both queues and job’s relations simultaneously through the timeline.

In a typical production planning applications, the resource usually represents machines, production lines or work centers. In a typical distribution planning applications, the resource will usually be a truck or vehicle. At the workforce scheduling applications the resource will probably be the employee. For each resource of any type we will have to manage the availability through the timeline with a built-in mechanism.

The job is the second fundamental entity in Planit system. The job will have different characteristics that will be defined as needed for each customer. However, in each Planit application there are several basic job’s attributes that must be defined always, For example: expected beginning and end date and time, displaying color, displayed text and others. Some of the job’s attributes are initialized loading values from the base table (or query). Other properties are calculated after the initial load through the calculation procedure as defined for the customer.

Status Calculation Procedure

Representing different type of jobs that has special attributes through queues and dependencies network caused us developing a special programming mechanism and language that enables calculation of the current status. The language contains variety of operators; date values calculating, data fetching from extra tables and dependencies calculation operators. Other operations enable manipulations with texts, warning messages and displayed colors and background pattern. This calculation procedure gives us the power and flexibility in both rapid development and containing the customer interface and needs. The calculation procedure can be modified using a dedicated text editor with selection of the job properties fields, calculation constants, and the operators list available easily. In addition, the text editor is equipped with an integrated syntax checker that assists the system implementer.

Special Extension

As stated, Planit has built-in configuration capabilities and a built-in and rich interface. However, when additional tools are required for a client that cannot be applied by configuration (like special reports, special input screens, external programming execution, etc.) this can be accomplished by using a custom software expansion “planit_custom_interface.dll”. This add-in contains built-in procedures and functions that are linked directly to the parent application in a way that integrates it transparently to the user. The source code of this extension is open and intended for use by the client or developer on its behalf. Guidance and training are available with our service program

Variety of data views

Planit uses different types of display screens and data views, recognizing that the planner must receive the information in various ways. List views displaying the jobs queue is flexible as Excel but tough as information system data. The Gantt view will give the planner a comprehensive overview of the jobs over the resources showing also the idle expected time slots. The Gantt is not view only but a live planning workspace with drag and drop capabilities and responsive graphics. In addition a custom Gantt views are available through different data grouping. On top of all these views, there are rich search and filtering mechanisms that allow the client to locate data with certain characteristics and find it over the schedule map. Additional tools designed to create responsive user experience: pop-up messages, different colors reflecting content and texts modified meeting the customer needs.

Implementation Process

As any information system designed to serve people Planit activating will also require a structured implementation process. We will begin with analyze and study the characterization of the need by an information systems analyst. We will understand and learn the current planning methods and decide together with the client on the expected planning process with the new system. We will then identify who are the “resources” that take part, the “jobs” and the relationship between them. The analysis will become a “content list” for the project and will define the expected planning process with the new system. The analysis will also include database extra structure and interfaces to other systems. After the analysis is approved by the client, the configuration and development will be carried out. Usually we will start up with a prototype enabling final adjustments and structure changes. Finally, after concluding development we will help the client implementing through planning departments and users with a close guidance and training. In many cases, while exposing the new system, ideas and requests arise that require changes. These minor changes and adjustments can be done through implementation process. Our built-in rich capabilities make it easier to meet these requests without exceeding the timeframe and development costs set at the initial bid and appraisal stage.