TPS Software Framework

(July 2010 - April 2018)

“TPS Software Framework” is a standalone, powerful and highly extensible, flexible and maintainable software framework written in PHP programming language, as a set of classes that implements the core functionalities required to create a custom Electronic Organization Management solution, including Customer Relationship Management (CRM) solution.

TPS Framework provides some high-level classes to implement various business models. It includes several high-level concepts such as “Entity”, “Relationship”, “List”, “Media Manager”, “User Content”, “Notification”, “User Visibility Policy”, “Object Event”, “Component” and “Platform Connector” to make the creation of complex (business) applications much easier and faster by increasing the extensibility and maintainability of the system.

An “Electronic Organization Management” solution is built around the specific business logic requirements of an organization and provides integrated management of all organizational resources and their relationships across organizational boundaries. These organizational resources include documents, media and downloads, countries, zones, geozones, and contacts, departments, user fields, user profiles with various classes or roles such as customers (clients), partners (partnerships), employees (collaborators - human resources), entrepreneurs, investors, and independent users, customer (client) relationships and marketing resources including newsletters and mailing lists, relations and visibility of users to each other, asynchronous communications including message threads, ticket threads, orders, requests, and contracts, notes, commerce including currencies, taxes, brands, products, services, subscription definitions, shopping cart, subscriptions, invoices, payments, shipments, and expenses, event driven notifications, CRM related functionalities including orders, requests, referrers, pages, affiliates, shipping types, reports, and …, organizational events including creations, changes, and deletions, user groups and communities, custom forms, records, tasks and workflows.

In web applications built using TPS Framework, basic functions or processes (data storage, complex data processes, data retrieval) are always implemented and condensed in a library separate from the application layer. There are also two more layers, “Platform Connector” and “Application”. The platform connector works to connect the application to a specific platform that provides some basic functions such as request / response or user authentication / authorization functions to integrate the application with that platform. There is a built-in platform connector called “Generic Platform Connector” in TPS Framework that provides basic functions required to build an independent and stand-alone web application. The application layer implements processes related to business logic and communicates with the framework to get results and performs appropriate action (for example, presenting data to the user) based on the request data and the results received from the framework.

"TPS Framework" can be easily extended with very little development effort to support new entity types, new user profile classes, new user content types, new visibility policies, new notification types, new relationship types, and new scopes for media management. Achieving a lightweight yet powerful, extensible, flexible, and maintainable software framework has been the most important principle in designing the TPS Framework architecture. TPS Framework should ideally provide all the functionality required for storing, retrieving, and processing data in a custom Electronic Organization Management System.