Working on the Developers Guide

bsoremsugar —  June 27, 2008 — 18 Comments

The much anticipated and long awaited Developers Guide is in the works.  We will be making the first public copy available for comment in a few weeks.  Based on the content in the Wiki and various developer notes written by the Sugar team, the Developers Guide will detail the internals of the Sugar code and how to customize the system.

Below you will find the current Table of Contents.  I’d love to hear your feedback on the current structure of the guide.

SugarCRM Developers Guide

Table of Contents

1.0 SugarCRM Overview
1.1 Platform Overview
1.2 Application Framework Overview
1.3 Directory Structure
1.4 Key Concepts
1.5 Entry Points
1.6 Module Framework Overview
1.7 Module Builder
1.8 User Interface Framework Overview
1.9 Extension Framework Overview
1.10 Dashlets Overview

2.0 Application Framework
2.1 Directory Structure
2.2 Entry Points
2.3 Dashlets
2.3.1 Dashlet Files
2.3.2 Templating
2.3.4 Categories
2.3.5 Dashlet Base Class
2.3.6 Dashlets JavaScript
2.4 Browser JavaScript
2.4.1 Accessing Language Pack Strings
2.4.2 Quicksearch
2.5 Databases
2.5.1 Primary Keys
2.6 ACL
2.7 Scheduler
2.8 Workflow
2.9 Logger
2.9.1 Logger Level
2.9.2 Log File Name
2.9.3 Log File Extension
2.9.4 Log File Date Format
2.9.5 Max Log File Size
2.9.6 Max Number of Log Files
2.9.7 Log Rotation

3.0 Module Framework
3.1 Overview
3.2 MVC and Metadata Framework
3.2.1 Model-View-Controller (MVC) Overview
3.2.2 SugarCRM MVC Implementation
3.2.2.1 Model
3.2.2.2 Controller
3.2.2.3 View
3.3 Metadata Framework
3.3.1 Background
3.3.2 SearchForm Metadata
3.3.3 DetailView and EditView Metadata
3.3.4 SugarField Widgets
3.3.5 SugarFields Widgets Glossary
3.3.6 Metadata Framework Summary
3.4 Vardefs
3.4.1 Dictionary Array
3.4.2 Fields Array
3.4.3 Indices Array
3.4.4 Relationships Array
3.5 Relationships
3.6 Subpanels
3.6.1 One-to-Many Relationships
3.6.2 Many-to-Many Relationships
3.6.3 Relationship Metadata
3.6.4 Layout Defs
3.6.5 Language
3.7 Shortcuts

4.0 Customizing Sugar
4.1 Developer Mode
4.2 Packaging Customizations for Installation
4.2.1 Introduction
4.2.2 Manifest Array Elements
4.2.3 Installdef Array Elements
4.2.4 Upgrade Manifest Array
4.2.5 Sample Manifest File
4.3 Module Builder
4.3.1 Packages
4.3.2 Module Templates
4.3.3 Deploy vs Publish
4.4 Business Logic Hooks
4.4.1 Hook Definition
4.4.2 Caveats
4.4.3 Available Hooks
4.4.4 Packaging Custom Logic Hooks
4.4.5 Using Custom Logic Hooks
4.5 UI Customizations
4.5.1 Custom Grouping of Values
4.5.2 Custom Buttons
4.5.3 Creating New Custom Displays
4.5.4 Overriding the Metadata Framework
4.5.5 Creating a Custom SugarField
4.5.6 Adding QuickSearch to a Custom Field
4.5.7 Tips & Pitfalls
4.6 Adding Custom Jobs to the Scheduler
4.7 Extending Workflow
4.8 Creating New Dashlets
4.8.1 Generic Dashlet Creation
4.8.2 Custom Dashlets
4.8.3 Packaging Custom Dashlets
4.8.4 Refreshing the Dashlet Cache
4.8.5 Modifying the Default Dashlet Setup for New Users
4.9 Creating New Themes
4.9.1 Overview
4.9.2 Steps to Create a New Theme
4.9.3 Packaging Custom Themes
4.9.4 Example Manifest File
4.10 Creating Language Packs

18 responses to Working on the Developers Guide

  1. 
    Scott Whitlow June 28, 2008 at 8:03 am

    This looks great! I can’t wait to read it!

    It would be great to have a small how-to section as an addendum at the end of the Developers Guide. It could include items like the following:

    1. Practical Real-World Examples
    2. When to leave Custom and Go For the Core Code
    3. Building a Module from Code
    4. MVC Common Customizations
    5. Helpful SugarBean functions and routines
    6. Time/Date storing outside of a Module
    7. Direct DB Access using SugarCRM Framework
    8. Popups in Plain English
    9. Chmod, Chown – Permissions Explained

    These are just off the top of my head. But, alot of these items are pretty common for most developers and are items you see discussed quite a bit on the forums.

    Thanks!

  2. 

    This looks great! I can’t wait to read it!

    It would be great to have a small how-to section as an addendum at the end of the Developers Guide. It could include items like the following:

    1. Practical Real-World Examples
    2. When to leave Custom and Go For the Core Code
    3. Building a Module from Code
    4. MVC Common Customizations
    5. Helpful SugarBean functions and routines
    6. Time/Date storing outside of a Module
    7. Direct DB Access using SugarCRM Framework
    8. Popups in Plain English
    9. Chmod, Chown – Permissions Explained

    These are just off the top of my head. But, alot of these items are pretty common for most developers and are items you see discussed quite a bit on the forums.

    Thanks!

  3. 

    I think it is a huge step forward, Clint, for SugarCRM to have it’s own official developers reference rather than rely on the community to maintain the wiki. It is very hard at times to filter the wiki contents from pre and post 5 best practices.

    From my own perspective I am very much one that learns by example so having clearly illustrated code fragments of key development activities and their expected outcome would be fantastic.

  4. 

    I think it is a huge step forward, Clint, for SugarCRM to have it’s own official developers reference rather than rely on the community to maintain the wiki. It is very hard at times to filter the wiki contents from pre and post 5 best practices.

    From my own perspective I am very much one that learns by example so having clearly illustrated code fragments of key development activities and their expected outcome would be fantastic.

  5. 

    Don’t forget chapter

    2.5.1 Indexes

    which is very important for performance issues.

  6. 

    Don’t forget chapter

    2.5.1 Indexes

    which is very important for performance issues.

  7. 

    is there a date defined for the documentation?

  8. 

    is there a date defined for the documentation?

  9. 

    Mid to late August is the plan.

    The Developer Guide will be based on Sugar 5.1. We plan to release the guide for the first round of community feedback within a few weeks of 5.1 being released. The engineers are heads down on 5.1 right now and so the guide will come out after 5.1 is done.

  10. 

    Mid to late August is the plan.

    The Developer Guide will be based on Sugar 5.1. We plan to release the guide for the first round of community feedback within a few weeks of 5.1 being released. The engineers are heads down on 5.1 right now and so the guide will come out after 5.1 is done.

  11. 

    Any chance we can sneak a peek early? I’m dieing to read it!

  12. 

    Any chance we can sneak a peek early? I’m dieing to read it!

  13. 

    Good idea. We’re heads down getting 5.1 out the door. I’ll post a preview a couple weeks after 5.1 is GA.

  14. 

    Good idea. We’re heads down getting 5.1 out the door. I’ll post a preview a couple weeks after 5.1 is GA.

  15. 

    I too, await this with great anticipation. Much needed documentation.

  16. 

    I too, await this with great anticipation. Much needed documentation.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s