Have you checked out the Current Opportunities at SugarCRM lately?  We’re hiring heavily today across all sorts of technical roles at Sugar – including an open position to work with me as a Developer Advocate for SugarCRM!

What does a Sugar Developer Advocate do?

In the past, the term the industry tended to use was “Developer Evangelist” – which frankly always sounded a bit fishy to me.  For me, I much preferred the term “Developer Advocate” which is now much more common in the Software industry.  An Evangelist sounds like someone who is more style than substance.  An Advocate is someone who should listen as much as they talk.

This means that Sugar Developer Advocate act as ambassadors to the Sugar Developer community as well as being a critical stakeholder within SugarCRM Engineering that represents the wants and needs of Sugar Developer community and the Sugar 7 platform.  I think this is a great position for anybody with some good software development experience who is energetic, has good communication skills, has a positive attitude, and loves working with developers!

Check out the posting for more details!

A long established tradition within Engineering here at SugarCRM is something that we call “Hack Week”.  A couple times a year we fly our engineers from all over the world to our headquarters in Cupertino, CA for a week of fun, creativity, and some serious hacking.  On the week of July 27th 2015, it happened again!

Continue Reading…

Do you write unit tests for your Sugar customizations?

Do you performance test your Sugar on-site deployments?

Every developer knows they should be building unit tests and performance tests but sometimes it is just too hard to get started from nothing.  Well now SugarCRM Engineering is going to make it easy for you!

The Sugar 7 unit test suite and performance test frameworks that we use to develop Sugar 7 are now available to current customers and partners via Github!

This is the first release in a new effort to provide enhanced standardized development tooling and automation to the Sugar Developer community.

At this time, we are only releasing these tools to existing Sugar Customers and Sugar Partners.  So these private Github repositories require that you are logged in using your Github account in order to access them.  You may also need to request access from SugarCRM if you cannot access these repositories currently.

In the coming weeks, we will be posting step-by-step tutorials for creating Sugar 7 unit tests and custom JMeter scenarios. So stay tuned!

More details below.

Continue Reading…

If you’ve used Sugar 7.5 or earlier then you have probably noticed that it take a few moments after a record appears for all the subpanels to finish being populated with data.

Long list of subpanels

Long list of subpanels

This was because each subpanel generated a separate round-trip HTTP transaction from the browser to Sugar web server in order to fetch the related records for each represented relationship.

However, in Sugar 7.6 this behavior has been improved due to the introduction of the Bulk API.

Continue Reading…

In Sugar 7.6, we added an awesome little undocumented feature that we’re calling Sweet Spot.

Try the matching shortcut key sequence below within a Sugar 7.6 window.

OS Shortcut
Mac OS X cmd+shift+space
Windows ctrl+shift+space
Linux ctrl+shift+space
Sweet Spot in action

Sweet Spot in action

Sweet Spot will appear.

Full text search using Sweet Spot

Full text search using Sweet Spot

Then start typing!

Actions in Sweet Spot

Actions in Sweet Spot

All you Sugar Developers and Sugar Administrators will like the Actions feature which allows you to quickly run many actions from anywhere in the application.  Administrators additionally get easy access to many administrative functions through Sweet Spot.

There are actually several more features that we haven’t shown here.  But we will leave the rest for you guys to discover on your own!

Plans for this feature are still evolving but we think it will ultimately grow into an exciting addition to the Sugar user experience.  Try it out today in any Sugar 7.6 instance!

In our previous “Hello World” dashlet post, we established what a minimal dashlet entailed.  In these next post, we’ll be building on those skills to create a more useful dashlet that takes advantage of Sugar 7 List Views.  We will be creating a dashlet for Cases that binds to the list’s Collection and sums the number of Cases by their status.  So if the Cases list contains 5 records, and 3 of those are in “New” state and 2 are in “Closed” state then we want our dashlet to display “New: 3” and “Closed: 2”.  To the code!

File Structure

Again, using what we learned in the previous post, we’re going to create a folder in custom/clients/base/views/ called “case-count-by-status“. Inside that folder you should create 3 files:

  • case-count-by-status.php
  • case-count-by-status.js
  • case-count-by-status.hbs

You should have something that looks like the following screenshot: caseCountByStatusFileStructure

While technically optional, we will also utilize the Language extension in order to provide multilingual support for our example dashlet.  This extension file will be located at custom/Extension/application/Ext/Language/en_us.case-count-by-status.php.

Continue Reading…

For Sugar Developers, the Dashboard and Dashlet framework provided in Sugar 7 really helps you to build slick reusable Dashlets that can be targeted for certain parts of the app or made globally available anywhere in the app.  They’re also really easy to use which is something we are gonna highlight today.

For a more detailed look at how Sugar 7 Dashlets work then you should read up on the topic in the Sugar Developer Guide.  The focus on this post is to highlight the most basic elements necessary that we can then build upon in later posts.

A quick reminder

Just some quick advice to anyone about to embark on the Dashlet development journey.  We recently featured a post on a common Sugar 7.x dashlet gotcha.  Basically, dashlet metadata gets copied into database when you add a dashlet to a dashboard.  You’ll need to delete the dashlet or the dashboard and add it all over again whenever you modify dashlet metadata.  We are working on making this seamless in future but this is something you should remain aware of when building dashlets.

Creating a Dashlet Summarized

Dashlets are simply Sugar 7 Views that have some extra features added via the ‘Dashlet’ plug-in and an additional metadata requirement. This tutorial will be brief because creating a basic dashlet is incredibly easy.  As with any Sugar 7 view, we will need three files: a JS controller, a PHP metadata file, and a Handlebars template for the presentation.

Shall we begin?

Continue Reading…