2008-10-21 26 views
15

Tôi đang trong quá trình cố gắng chuyển công ty của chúng tôi từ SalesForce sang SugarCRM, nhưng tôi đã gặp lỗi khó chịu (thời điểm tôi thêm trường tùy chỉnh vào Tài khoản, tất cả các tài khoản đều ngừng hiển thị). Chúng tôi đã trả tiền cho sự hỗ trợ từ người SugarCRM, nhưng họ chỉ có hỗ trợ kỹ thuật cao cấp cho phiên bản nguồn mở (và chúng tôi tránh phần mềm sở hữu độc quyền như bệnh dịch hạch). Ồ, và tôi có đề cập đến hợp đồng Salesforce của chúng tôi hết hạn vào cuối tuần không?Làm thế nào để bạn gỡ lỗi các vấn đề SugarCRM/tìm hiểu SugarCRM hoạt động như thế nào?

Vì vậy, câu chuyện dài ngắn, tôi bị mắc kẹt gỡ lỗi ứng dụng SugarCRM. Tôi là một lập trình viên giàu kinh nghiệm, và tôi có năng lực cơ sở PHP, nhưng tôi thậm chí không biết phải cố gắng giải quyết vấn đề này ở đâu. Bất kỳ nhà phát triển Sugar nào có thể đề xuất bất kỳ loại quy trình nào để gỡ lỗi Sugar? Có bất kỳ tài nguyên nào ở đó có thể giúp tôi hiểu những gì các tệp PHP khác nhau thực hiện hay cách thức hoạt động của hệ thống Sugar?

Giống như một ví dụ về loại điều tôi đang nói về: Tôi đã tìm ra cách để có đường để in dấu vết ngăn xếp, và bằng cách làm theo một số tôi nhận thấy một mẫu với tất cả các dòng có liên quan

$this->_tpl_vars
Tôi muốn yêu để thử và tìm ra lý do tại sao mà gọi phương thức không hoạt động, nhưng tôi không biết:

A) những gì _tpl_vars là nghĩa vụ phải làm
B), nơi _tpl_vars được định nghĩa
C) những gì được coi $this
D) trong khuôn khổ $this được đặt
vv

Vì vậy, nếu có ai có thể giúp giải thích cách/nơi tôi sẽ bắt đầu tìm câu trả lời cho những câu hỏi này, tôi sẽ vô cùng biết ơn.

+1

P.S. Tôi đã thử xem qua tài liệu được cung cấp bởi những người đường, nhưng tất cả dường như là về cách ứng dụng hoạt động, chứ không phải cách mã hoạt động. – machineghost

+0

Đáng buồn là tôi cũng thấy điều này là đúng. Ít về cách mã hoạt động nhưng rất nhiều về cách thức hoạt động của ứng dụng, điều này khiến nhà phát triển hút các phiên bản – AntonioCS

Trả lời

4

Mặc dù nó không phải là một câu trả lời hoàn hảo cho câu hỏi của tôi, bài viết này:

http://developers.sugarcrm.com/wordpress/2008/09/26/where-is-the-code-for-x/

đã giúp một chút. Ngoài ra, khi tôi tìm hiểu thêm về các tài liệu Sugar chính thức, tôi thấy rằng Guide Guide chứa một số giải thích về cách Sugar hoạt động (mặc dù rõ ràng nó không tập trung vào cách Sugar hoạt động quá nhiều vì nó tập trung vào cách làm Sugar làm những điều mới).

Hy vọng rằng sẽ giúp bất kỳ nhà phát triển Sugar nào đang phát triển khác ra khỏi đó.

14

Tôi đã làm việc với SugarCRM một vài năm trước, và mặc dù tôi yêu những gì tôi thấy trên bề mặt, tôi đã từ chối nó cho dự án của chúng tôi vì những gì bạn đang trải qua bây giờ. Các bên trong của sản phẩm được woefully underdocumented. Tôi đã hình dung ra một loạt các mô-đun trơn cho sản phẩm, nhưng các nguồn lực không tồn tại. Bạn sẽ dành tất cả thời gian của mình để tìm hiểu mã, rót qua các bài đăng trên diễn đàn và cố gắng tìm các ví dụ về những gì bạn đang cố gắng hoàn thành. Nghe có vẻ như mọi thứ đã tốt hơn nhiều rồi.

Vì trải nghiệm PHP của bạn thấp hơn cấp bậc và bạn chắc chắn bận rộn với rất nhiều nhiệm vụ và thời hạn khác, tôi nghĩ bạn nên cân nhắc quá trình chuyển đổi này nếu không quá muộn, ít nhất cho đến khi bạn có được mức độ thoải mái tốt hơn với Sugar. Nếu bạn bị buộc phải chuyển sang Sugar vì hợp đồng hết hạn với Salesforce, tôi nghĩ bạn có thể đang bị ợ nóng nghiêm trọng!

+0

Bạn đang làm việc với phiên bản SugarCRM nào? – Joseph

0

$this là tham chiếu đến đối tượng hiện tại.

class Test { 

    var $tmp; 

    function __construct() { 
     $this->tmp = 42;  
    } 
} 
2

Bạn cũng có thể thử cài đặt xdebug (phần mở rộng PHP) và bước qua mã với một IDE tương thích như nhật thực hoặc Komodo.

URL cho bạn biết thư mục mô-đun nào đang được truy cập và hành động/chế độ xem nào. Có một thư mục "views" trong hầu hết các module. Nếu nó không có, nó hoặc là bằng cách sử dụng khung nhìn MVC mặc định trong thư mục include cùng với bố cục siêu dữ liệu, hoặc nó sử dụng kiến ​​trúc khung nhìn cổ điển: index.php (listview), DetailView.php, và EditView.php và các khuôn mẫu.

Rất nhiều thay đổi cho tốt hơn trong vài năm qua, vì vậy tôi không chắc câu trả lời đầu tiên (Nack) vẫn có liên quan. Nó vẫn còn khá thô ráp xung quanh các cạnh, nhưng khuôn khổ Sugar mới là một người bạn tốt nhất của hacker của PHP (thực sự dễ dàng ghi đè lên các công cụ theo cách nâng cấp). Thật tuyệt vời cho những công ty đã từng có tin tặc PHP và chỉ cần một vài cải tiến. Và việc tìm kiếm các nhà thầu PHP giá cả phải chăng để giúp đỡ không phải là khó khăn (từ chối trách nhiệm: Tôi là một). Tôi nghĩ đó là một công cụ tuyệt vời nếu bạn sử dụng nguồn mở, chỉ cần CRM cơ bản và có ít hơn 100 người dùng.

+1

"tìm kiếm các nhà thầu PHP giá cả phải chăng" với sự hiểu biết tốt về SugarCRM sẽ khó khăn. Chỉ vì bạn biết php tốt, không giúp bạn nhiều với SugarCRM. Sugar là một ứng dụng php phức tạp và rất lớn, phải mất rất nhiều thời gian để thực sự tìm ra SugarCRM (không nói rằng tôi sẽ thực sự hiểu được Sugar) – AntonioCS

1

Tôi khuyên bạn nên đảm bảo rằng đó thực sự là lỗi mã và không chỉ là cấu hình bỏ lỡ. Bạn có thêm trường thông qua Quản trị> Studio> Danh sách liên hệ> Trường hoặc thông qua API SOAP không?

Bạn đang sử dụng phiên bản mới nhất của Sugar?

Tôi thực sự đồng ý rằng dự án đó không được ghi lại và thiếu các tài liệu hướng dẫn và ví dụ.

Bản thân tôi đang trải qua những cơn đau tài liệu lỗi thời/mất tích. Chúc may mắn!

2

tpl là tệp mẫu thông minh. Chúng được sử dụng khi hiển thị dữ liệu trên màn hình. Làm thế nào tôi làm proces gỡ lỗi của tôi là tạo ra rất nhiều var bãi để lỗi lof hoặc chỉ in chúng trên màn hình.

Cũng nhận được xdebug trên máy chủ, điều này sẽ giúp bạn rất nhiều. Đường là nền tảng mvc để biết cách hoạt động của nó và sẽ dễ dàng hơn nhiều.

hãy nhìn vào một số đoạn tôi gửi tại www.eontek.rs

+0

+ 1'ed cho đoạn trích của bạn. ;) – stefgosselin

+0

nếu bạn có một phút bạn sẽ nhớ * xin vui lòng vui lòng * nhìn vào một câu hỏi tôi đăng trên đoạn mã trường tùy chỉnh của bạn, xem http://stackoverflow.com/questions/7924531/sugarcrm-6-2-adding-a -custom-in-user-profile. Cảm ơn! – stefgosselin

2

Nếu tôi gặp phải cùng một vấn đề, khi trang chi tiết của tài khoản đã không được hiển thị và tặng 500 lỗi nội bộ. Tôi đã kiểm tra rằng nó không được tạo ra bởi TPL. Lúc đầu, tôi đã kiểm tra các điều khoản trên thư mục đó, trong trường hợp của tôi, tất cả chúng đều được thiết lập. Vì vậy, tôi đã sao lưu bộ nhớ cache \ modules \ accounts \ DetailView.tpl và tự thêm vào trường, sau đó tất cả mọi thứ đã làm việc. Mỗi lần trong chế độ nhà phát triển, cần phải sao chép tệp này theo cách thủ công. Đó là một nỗi đau, nhưng vẫn không có câu trả lời. Tôi đã yêu cầu điều này trong diễn đàn, Bug, Twitter, không có trợ giúp. Nhân tiện, chúng tôi đang sử dụng Sugar Professional.

6

Sử dụng thư viện Krumo để trợ giúp. Đó là siêu dễ dàng và cách tốt hơn so với var_dump hoặc print_r.

Chỉ cần tải xuống mã nguồn và thêm mã đó vào đâu đó trong thư mục tùy chỉnh của bạn. Tôi sử dụng thư mục tùy chỉnh/bao gồm.

Sau đó, hãy ghi đè Chế độ xem hoặc bất kỳ điều gì bạn cần xem. Bao gồm đường dẫn đến tệp class.krumo.tập tin php, và bất cứ điều gì krumo đối tượng bạn muốn có một cái nhìn tại địa chỉ:

dụ Nhanh -

<?php 
    require_once('include/MVC/View/views/view.detail.php'); 
    require_once('custom/include/krumo/class.krumo.php'); 
    class AccountsViewDetail extends ViewDetail { 

    function AccountsViewDetail() { 
     parent::ViewDetail(); 
    } 

    // Override the parent function "preDisplay" to add our own template 
    function preDisplay(){ 
     krumo($this->bean); 
     $metadataFile = $this->getMetaDataFile(); 
     $this->dv = new DetailView2(); 
     $this->dv->ss =& $this->ss; 
     $this->dv->setup($this->module, $this->bean, $metadataFile, 'custom/modules/Accounts/tpls/AccountsDetailView.tpl'); 
    } 


    } 
?> 

Bạn sẽ nhận được một đối tượng tốt đẹp trên các trang mà bạn có thể đi sâu vào.

enter image description here

+1

Xin chào! Tôi đã sử dụng Krumo với Drupal trong một vài năm nay. Tôi đã nguyền rủa đầu của tôi trên đường trong một vài tháng nay, và như những người khác lưu ý va chạm vào việc thiếu tài liệu developper. – stefgosselin

Các vấn đề liên quan