Today we have a guest blog post from the EPESI project.
There are many commercial and open source CRM applications on the market and some of them are mature products. So why to develop another one? Several years ago we were looking for a decent web based CRM type of application that can be easily customized. After evaluating dozens of products we came to the conclusion that none of them have features that we were looking for.
Our requirements were as follows:
- 100% web based (no client installation needed)
- run on any web server (Apache, IIS, Windows, Linux – LAMP/WAMP stack)
- use the most popular web scripting language supported – PHP
- provide a database abstraction layer – AdoDB, which has drivers for MySQL, PostgreSQL and many others
- include authentication and permission library
- have a set of reusable components (modules)
- use of other mature and open source application (for example Roundcube as e-mail client)
On top of that the ideal solution will be free and open source with no per user or per server license fee. It should be easy to add new functionality by reusing existing components.
It seemed obvious that the first step in building such an application was to create a set of development tools and libraries that will handle the basics like authentication, database connectivity, form validation etc. This is how in 2006 we started EPESI framework and released it in May of 2007 as an open source project on Sourceforge. On top of that high-level PHP/Ajax framework we created a set of modules providing CRM functionality and released it under MIT open source license. When you download and install EPESI you get both: a CRM application and the framework with which it was created.
Apparently our opinion that there is a need for a modern CRM and framework was shared by other users trying to find an application to meet their needs. EPESI was downloaded over 34,000 (as of November 2012) and was translated by users’ community to over a dozen of languages. These comments from our users sum it up:
“I just wanted to say how amazed I was when your fantastic software sprung to life. For many years I had the notion to build such a system – and all the requirements I’d accrued over 30 years in the industry .. are pretty much all there. This is a wonderful piece of software engineering and I thank all those that collaborated and contributed to make this software the extraordinary tool it is.” – Ralph Harvey
“I spent all of last night trying many other CRM’s and collaboration type scripts. This has to be the best, well thought out project I have ever seen.” – nemo656
“I’ve spent a lot of time looking for a solution that our sales people will actually use. […] I was willing to suggest paying for a crm but none of the paid or open source programs were as light and functional as this one. And i like having my data on my server without another monthly fee.” – ohandy1
Solving real life problems
Since the beginning of this project we want EPESI to solve real life business problems. We always try to base every new module and feature on case studies and try to include in our software functions that can be widely used. For example, we know that e-mail handling is a big and important problem, but in many cases very troublesome part of everyday activities. We approached this topic from both sides: our notes and attachments system together with tracking record changes limits the necessity of internal e-mail communication to minimum. On the other end of the spectrum, integration with Roundcube and archiving system incorporates e-mail handling into the system and allows storing and organizing messages within a context.
There are several unique features implemented in EPESI, designed to increase end user productivity. Watchdog is a tool for tracking and monitoring record changes across the whole system. User can quickly define which records they want to track and any changes that have been made since the last time they viewed the record are displayed on their Dashboard. Click2Fill is an innovative approach to form filling and pasting information from external sources. Instead of copy-pasting fragments you can paste the whole text into one field and then fill individual form fields by just clicking the words and places where they fit in the form. EPESI maintains a full record history that gives users an access to all historical versions of the record. Every change is tracked, down to a single field level, together with its date, time and author. It increases control possibilities and makes the system and data immune to accidental mistakes and potential harmful activities.
The heart of our database is Record Browser – an advanced CRUD engine. It is a core element of EPESI framework that handles data changes and display (CRUD is an acronym of create, read, update and delete). It incorporates many functions, like automating form generation, data validation, searching and filtering, lazy delete (no record is ever completely removed from the system), pagination, access level control and already mentioned changes tracking and record history. EPESI framework delivers innovative ways to handle data and provides developers with a powerful tool for creating efficient and user friendly business management applications.
EPESI is designed as a base for building ERP solutions. It contains an integrated high level framework, which can be easily extended thanks to its modular structure. This way the CRM was built as well as many other modules, which we offer as extensions to EPESI. A great example of such a module is our Projects & Tickets, which we use on daily basis for development of this software itself (you can download it via EPESI Store). We really hope that more developers will start using our framework – we find it very useful ourselves and think that thanks to its open source license and direct support on forum from its creators, this package is indeed an attractive option as a foundation for new applications.
Goals – Roadmap
The work that we started over six years ago is far from finished. The framework and CRM are stable and mature but we constantly add new features that are important for both the end-user and the developer. This process will continue for many years to come because technological landscape changes so quickly.
Our goal is to build a complete platform which can be used by any business and organization, however small or large, to store, organize, share and manage important records. This platform will consist of:
- EPESI framework with included CRM application – completed
- EPESI Store – completed
- EPESI mobile offline client – under development
- EPESI Bazaar – planned
The purpose of EPESI Store is to have a single place where all additional modules can be obtained and installed with just a few mouse clicks. No more hunting and searching on various web sites and forums for additional features and then trying to figure out how to install or integrate them. EPESI Store will also automatically deliver and install updates to all installed modules and core framework.
Currently EPESI can be accessed from any mobile smartphone that uses a browser based on Webkit engine like any Android and iOS phone. We are working on a mobile application that will connect to your EPESI server and will sync data to be used in an offline mode. An API was already created for that purpose and the mobile version will be build using PhoneGap – free and open source framework that supports iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada and Symbian.
EPESI Bazaar will be a place where end users and developers can meet to collaborate on new projects. Many businesses have similar needs and we don’t see a reason why each one of them independently has to come up with a solution to solve some particular problem. They can work together drafting requirements and sharing ideas. Developers will be able to bid on a project based on its activity and a number of participating members. Modules developed this way can be of course released as free and open source solutions or can be distributed under commercial license like some of Premium Modules already available in EPESI Store.
End users participating in the project, typically business owners and managers, will benefit from lower cost of creating a custom solution because of sharing the development cost.
Developers will gain instant access to all EPESI users and don’t have to worry about modules distribution, delivery, payment or licensing. All of this is automated via our EPESI Store Server. Registering as a developer is free and modules released under open source license will be distributed in our store for free. Modules released under a commercial license (paid) will be sold in EPESI Store and income from sale of these modules will be delivered to a developer via PayPal along with a detailed sales report. The payout amount is 80% of the price of the module. The 20% fee charged by us is used to maintain the distribution infrastructure and further development of EPESI framework.
We hope that this approach will provide a win-win situation to all parties involved. End users will find many customs solutions designed to solve their problems. Developers will find it easy to rapidly develop these custom modules and effortlessly deliver them to the entire EPESI users community via EPESI Store. We on the other hand will get much needed funding to facilitate the process and continue to build an enterprise level open source solution that exceeds features offered by many commercial applications in areas of innovation, usability and especially the cost of implementation and maintenance.
Our team would like to thank all current users for their support, help with translating, debugging and testing as well as valuable feedback and comments. We would like to invite everyone to try our platform – especially developers and partners who can provide assistance to end users in their local language and time zone.
Please visit http://epe.si/ for more information and live demo.