Chrome Extension for SugarCRM from Gmail inbox.
API will be designed so that it is secure, easy to use, flexible and powerful enough to common use case in CRM applications in Gmail.
All UI code (and associate data model, configuration, build script) will be open source so that the app can be easily extensible.
Multiple backend service including GData, SugarCRM, AWS S3 and AWS DynamoDB will be supported.
- No loading of insecure code (no eval, no inline script).
- Use sandbox iframe for third party.
- All SSL connection. (Including SugarCRM that don't support https?)
- All resources (images) must be serialized, i.e., image file are loaded by XMLHttpRequest and render using canvas or datauri.
- Request only absolutely necessary host permission. Avoid host access to www.google.com, since the stakes are too high. All hosts permission is definitely not acceptable.
- Reduce permission request. Use optional permission. Remember we are just an app, not managing browser. Don't stalk other tabs.
- Use sandbox iframe. Use encryption.
- Don't delete or hide Gmail DOM element.
- Authentication and authorization of sugarcrm, AWS and Google GData services.
- CRUD operation of SugarCRM Module Record and GData Entry.
- Synchronizing SugarCRM modules between SugarCRM instance and client side database.
- Synchronizing GData entries (contact, task, calender, sites) between Google server and client side database.
- Caching relationship table.
- Conversion and synchronizing between GData Entry and SugarCRM module record.
- Promise base centralized communication between extension pages.
- Customizable full text search.
Google AppEngine (Java) backend server provides authentication and authorization. For SugarCRM, hash password is kept in the browser with encryption. User setting as stored in Chrome storage. Backend server also provide proxy with authorization header.
Please contact to email@example.com to use YDN backend server for your extension. A new application id,
ydn.crm.base.APP_ID will be created for your extension. A valid (paid) user login is required to use the service.
This repo is packaging for Chrome Extension and source codes are in the following repositories. Most of the main codes are in CRM Core and SugarCRM repo.
- Closure library http://closure-library.googlecode.com/svn/trunk/
- Base utility library https://github.com/yathit/ydn-base
- Database library https://github.com/yathit/ydn-db
- Authentication and authorization https://bitbucket.org/ytkyaw/ydn-auth
- Full text search https://github.com/yathit/ydn-db-fulltext.git
- Dependency for ydn-db-fulltext https://github.com/yathit/fullproof
- Dependency for ydn-db-fulltext https://github.com/yathit/natural
- CRM Core https://github.com/yathit/crm
- CRM extra feature https://github.com/yathit/crm-front
- SugarCRM model and UI https://github.com/yathit/sugarcrm
- CRM backend https://github.com/yathit/crm-back
This project use Google Translator Toolkit for translation. Send an email to us if you want to join in translation effort. Any language is accepted.
Open source does not mean zero cost. Open source means that you can change source code to suite your use case and inspect them for security or privacy concern. I would expect pricing will be around $5~10/user/month.
All UI components, data models and base utilities are released under GNU Lesser General Public License. Backend and database synchronization will not be open source, but license to partners.