Tools and Components

In addition to outsourcing of professional resources, Kopel Reem also offers a set of off-the-shelf components that can significantly streamline the programming effort, as well as increasing productivity and improving quality of the final product.
The effectiveness of Kopel Reem's self-developed components and automated tools has been demonstrated by the increased performance of Kopel Reem's own development department. Previously, a development team comprising eight programmers worked on two projects and supported 50 customers. With the advanced tools and components, a team of three programmers are working on 15 development projects and supporting about 150 customers.

    • INI: Combining Magic component in different environments: In order to host a component in a new environment one must configure all the Magic environment variables (the INI file), e.g. Logical Names, Database definition, etc... This component updates the deployment environment with all the required definitions for each other component and without the need of any manual adjustment.


    • Standards: Base component that enable standardization of the user interface for all components and containers. Any change to this component results in changes in the UI to all the other components and containers.


    • General tools: A set of utilities that expedite the development process, e.g. Colander control, adjusting a CSV string for a list control (combo, tab, etc…), progress bar, etc…


    • Warning messages: Manages all warning/error messages in the system. Warning/Error messages are stored in database table, allowing non-programmers to manage and correct text. Text from within the application can be incorporated into the error message and defaults can be defined for specific user actions.


    • Parameters: Replaces the existing control table. Available for use in any program without necessitating a special link to the control table (uses GETPARAM). Allows definition of parameters at application or user level. Generic interface for updating these parameters. Addition of parameters without altering table format, etc. Can be used in place of Magic Rights Repository.


    • Users: Replaces existing Magic user admin mechanism and provides enhanced flexibility for programmers and system administrator. This component supports Active Directory or any other centralized admin tool used by the organization.


    • DPApi encryption: This component enables encrypted storage of information in the registry and run-time retrieval of data and incorporation into the code (e.g., database passwords).


    • List of Values: Handles all selection windows in the application, enabling printing options; search by partial name; smart input fields; single/multiple values; double-key handling allowing users to correct errors rather than being thrown out of the system; retrieval of last value + 1 as default; ranking of records in ascending order; handling sequence numbers; counting and schemes; deleting records; return of description according to multiple selection; loading permanent values into table; database activities such as returning field, returning table, file creation and definitions.


    • Sequences: Manages sequences using SQL capabilities (Oracle or MSSQL) including creation, retrieval and deletion of sequences without requiring direct access to the database. It is also possible to work with a general sequence.


    • Version Update: When a new version is sent to a customer, the database structure needs to be changes. One of the more complex things in this process is keeping the connection between a given X version and the database status. This problem intensifies with off-the-shelf products which are installed with a large number of end customers. This component enables simple management of the SQL database and ensures full compatibility between the system version and the structure of the database. The component handles this critical process automatically without the user's intervention.


    • Advanced filtering: Automatically implements complex filtering inherent to SQL without requiring any SQL knowledge or experience. Filter definitions are performed by activating regular Magic programs.


    • Range buttons: Implements range buttons on screens and filters on data presentation (particularly on complex selection screens).


    • ASCII reader: Enables import and export of ASCII data files. The file structure is defined at the user level (and not the programmer level).


    • Active Directory: Enables two-way communication with Microsoft's AD environment, including queries on AD data and updates/additions to AD information. These activities are subject to security and authorization procedures.


    • DotNetBridge: Enables the activation of Dot Net components from the Magic environment. Calling a Dot Net assembly that has no UI is the basic functionality of this component, the more advance functionality is embedding a full Dot Net control including a UI, and allowing full communication between the Magic environment and the control (transfer and receipt of events to/from the control).


    • Email: Enables sending email via SMTP.


    • Excel: interface allowing full use of Excel spreadsheets with full control of each cell.


    • Gantt Flash: Enables creation of full Gantt charts with print options.


    • History: An advance abstract tool that enables history management for an entity, as well as defining the entities for which continuous history must be stored.


    • Menu Tree: Tree format menus, including "My Menu" feature (end-user customized menu). Fully supports authorizations, incremental locate, and recursive locate in submenus. (link to image) Simple management and amendment of menus/submenus.


    • Documents: enables receipt/scanning of documents for each database entity (e.g., physical asset, person, department/unit), and sending each document by email. Fully supports authorizations and allows system administrator to decide which users are allowed to view/update/add documents for a given entity. Documents can be stored to disk as files or to the database in such a way that they can only be accessed via the system. This type of configuration provides the highest level of data security.


    • Merge interface with Word: enables creations of Word documents that contain information from the system for direct email to system entities.


    • Contact information: manage all means of contact opposite system users, such as home telephone, mobile phone, fax, email, etc.


    • Calendar: presents calendar in Outlook format and enables interaction with DotNet controls and full use of mouse.


    • Conditions: Enables definition of conditions for each entity, enabling checks to performed against information in the system and retrieval of records that meet the defined condition for the required actions.


    • Dynamic checks: enables system checks to be performed for a specific point in time and the display of errors/warnings where applicable. The definition of checks is performed at run-time, rather than during development, allowing maximum flexibility in system implementation.