Sugar Developers!

Want to get a head start on your SugarCon UnCon experience?

The UnCon roundtable schedule and Github repository are now live!

The UnCon roundtable schedule is currently preliminary.  The final schedule gets set by the audience at the start of UnCon.  However, this document will be edited to become the master schedule for roundtable discussions at UnCon, so go ahead and bookmark it!

The UnCon Github repository contains all the resources that Sugar Engineering has put together for our hackathon.  We’ll still be adding things up until the last minute but now is a good time to get a head start on setting up your development environment or checking out some projects.

See you guys in Plaza B!

Many Sugar Developers are looking to build intelligent API integrations with Sugar that goes beyond Create-Read-Update-Delete (CRUD) operations.  The key to building robust and intelligent API integrations with Sugar is held within the Sugar Metadata.

Sometime it is interesting to understand what dependent dropdowns exist on any given Sugar module.  A common use case would be to display appropriate UI with properly populated drop down lists to end users of an integration with Sugar 7.

Example Dependent Dropdown

Example Dependent Dropdown

If you don’t have the dependent dropdown formula then you are stuck guessing at what options are available or showing the user the full list of options when only a subset of them are valid choices.  The key for addressing these user experience concerns and for anybody else wanting to take their Sugar API integration to the next level is the Sugar Metadata API.

Continue Reading…

So what does Sugar Engineering have planned for the Hackathon?

The Hackathon will be informal and will run at the same time as the Roundtables in a separate part of the UnCon space.  The Hackathon space will be a lounge atmosphere with couches, beverages, food, etc.  People can work on whatever they want to but we’ll have planned projects lined up and a crowd of Sugar Engineers ready and willing to help out with anything you’re working on.  Whether that’s helping you get a local Sugar development environment setup, help you troubleshoot some problems, or design a fancy CRM implementation or integration with another application.

The only prize for Sugar Developers at the Hackathon is knowledge (meaning there will be no “winner”).  But if a Sugar Developer creates a project or prototype and stands up and presents it at the end of UnCon then they’ll also get a coveted SugarCRM UnCon hoodie.

You know you want it.

Limited Edition.  You know you want this.

However, we’ve done some homework and prepared some projects that you can work.  We’re in the process of creating a public GitHub repository with the UnCon materials included.  So it’s a good idea to create a GitHub account if you haven’t yet already.

Continue Reading…

I want to let Sugar Developers know that we’re really excited about the new format for UnCon this year!

Part of the new format this year is to have the UnCon venue separated into two sections.  When you first enter the space, we will have a lounge atmosphere with couches and refreshments.  This first section will be the Hackathon space and will be a topic of a later blog post.  The second half of the space furthest from the door will be where we will have (for the first time) Sugar Engineering hosted un-conference roundtable discussions and workshops.

So what the heck does that mean anyway?

Continue Reading…

Hey Sugar 7 Developers!

I wanted to make sure the community is aware of our planned refactor of the Sugar 7 Record view in Sugar 7.8.  The main point of the refactor is to move the Record view header pane out of the scrollable DIV that it is inside today.

Open up your browser’s developer tools and inspect the the HTML of a Sugar 7 Record view.  Notice that .headerpane DIV element that contains the header is actually inside the left-hand side .main-pane DIV?  This main pane can scroll up and down and contains the record view and subpanels.

Notice the location of the headerpane DIV in the Sugar 7.5 Record view HTML screenshot

Notice the location of the .headerpane DIV in this Sugar 7.5 Record view HTML screenshot

However!  If you scroll the Record view, the header pane does not move at all.  This is because we use some CSS trickery to stick it to top of the page under the Sugar 7 application main menu.  Unfortunately this has not worked consistently on all browsers and there has been a variety of bugs.

The plan is to refactor the current implementation of Record view away from being one monolithic Sidecar view into multiple Sidecar views that will read view metadata from a single location (using the same record.php we use today).  Ultimately we’ll be able to improve the architecture of the page, fix some bugs, as well as make parts of the current Record view (such as the header pane) easier to customize.  All good stuff.

Since the Record view is often customized already, we plan to limit the impact on those customizations as much as possible.  For example, record view metadata customizations will be unaffected.  We will also not change the existing Record view controller, instead deprecating it and creating entirely new views and layouts.  But Sugar Engineering needs to make sure we understand all of your Record view customization use cases so that we can be prepared to make you prepared for these changes.

I’ve collected some of the common Record view customization use cases that I know about below.

  1. Adding custom field validation (such as validation tasks) to Record view (Example from Sugar Developer Guide)
  2. Adding buttons to Record view including overriding view controller to implement a custom action (Example from Sugar Developer Guide)
  3. Adding event listeners to Record context or layout (Example from Sugar Developer Guide)
  4. Adding metadata customizations such as new custom fields, panels, or Sugar Logic dependencies (Via Studio, Extensions framework, or custom directory)
  5. Adding custom views to Record layout (Example from Sugar Developer Blog)

Are we missing your use case?  Please post your thoughts into this Sugar Community thread or send them to developers@sugarcrm.com.  We will also have Sugar Engineers on hand to discuss this topic at UnCon at SugarCon.

Sugar 7 allows you to define your own view metadata for creating new custom layouts and views.  In these custom view definitions, the correct use of the type and name attributes is essential when you want to reuse metadata, controllers, or templates from other Sidecar components. But what are type and name?  How are they used? In this post, we hope to provide you a better understanding of these attributes and how they are used by Sidecar when your components get created.  Most importantly, this post will serve as a guide for the correct use of type and name in your Sugar 7 view metadata that will maximize your ability to reuse.

Read more below!

Continue Reading…

In a recent blog post by W-Systems, an Elite SugarCRM Partner, Christian Wettre showed off a cool enhancement to the Sugar 7 Saved Report Chart dashlet.  Very conveniently, they included a package you can download so you can easily install it and look at the code to see how it works without any fuss.  I just tried it in a Sugar 7.5.1 instance and it worked like a charm!

Since some of the most effective SugarCRM dashboard elements are charts based on reports, I find my dashboards full of those charts. These charts scream out for the ability to dig down into the underlying details. In the current release of SugarCRM 7 it is a little cumbersome to actually do this. We solved this with a code enhancement module that adds a drill down link to any Saved Report Chart dashlet. With this module installed you can click on the drill down link on any report based dashlet to open the dashlets underlying report in a new browser tab.

Head over to the W-Systems blog to see an instructional video and download this package for yourself!

A quick aside.  In production, SugarCRM recommends deploying new custom dashlets instead of overriding the built-in dashlets.  Users will be able find your custom dashlet just as easily as built-in dashlets while allowing the built-in dashlets to get upgraded.