I’ve been in San Francisco for SugarCON 2009 for the past few days and have learned a lot and gained a pile of new ideas. While I don’t have time to post everything I gained from the conference, I’d like to point out some of the exciting new stuff coming toSugarCRM:
- Upcoming API changes in SugarCRM 5.5 (June 2009):
- Anyone that uses SugarCRM’s SOAP API knows that it sucks. A lot. It is slow, clunky, antiquated, and difficult to extend.
- Versioned (for example, /api/v1/soap/ instead of just /soap.php)
- SOAP and REST will be supported
- REST can output JSON or a serialized PHP array
- Every method can be extended in an upgrade-safe way
- Related modules can be queried in a single call. For example, if you have an ID for A, and A is related to B, and B is related to C, you can get A, B, and C in a single call. This would take several calls using the current API.
- SOAP has been re-worked to be 60-70% faster.
- The backend code is separate from the API method. For example, you can write a single chunk of code that works for REST and SOAP.
- SugarCRM 6 changes (no ETA):
- All user authentication will be moved into a single module. This will keep all usernames/passwords in a single spot and allow any module to add authenticationwithout having special fields or duplicated authentication code.
- Password management is going to be enhanced
- Password reset tool for users
- Ability to force users to change passwords at certain intervals
- Minimum password requirements (length, complexity)
- Enhanced LDAP support
- Restrict access based on LDAP criteria
- Grant access/assign roles based on LDAP criteria
- Enhanced roles support
- Currently, all users have access to everything by default. Roles are used to restrict access. In the SugarCRM 6, roles can optionally be used to grant access instead of restrict it.
- New theme engine
- Less CSS is required
- More elements have id attributes
- Better div-based layout
- May require lots of changes to custom themes
- New rules engine
- Calculated fields
- Dependent drop downs (eg, only show a certain drop down if field A is true)
- Dependent fields
- Modify field properties (required, visible, read-only, default value, style)
- Customizable actions/expression functions. This allows developers to easily develop their own custom rules and actions.
- Full-text search in all modules