|
|
| | List các IT article
|  |
| |
|
| | Tag Cloud
|  |
| |
|
| | DNN blogs (from dotnetnukeblogs)
| |
| |
|
| Tôi là một lập trình viên giống như nhiều đồng nghiệp trong ngành IT khác. Mặc dù kinh nghiệm tôi vẫn chưa có nhiều-mà bao nhiêu kinh nghiệm là đủ nhỉ?- nhưng tôi vẫn muốn chia sẻ những gì tôi biết. Có lẽ tôi nhận được kiến thức đã nhiều từ mọi người, đã đến lúc tôi phải cho những kiến thức của tôi chứ nhỉ. Do đó, tôi đã tạo trang này cho mục IT. Mục đích chủ yếu của nó là chia sẻ về DotNetNuke, là sự quan tâm của tôi trong những lúc rảnh rỗi. ^_^ Ngoài ra tôi cũng chia sẻ nhũng slide hay những thứ khác mà tôi đã từng làm. Các bạn nếu có những câu hỏi liên quan về IT, xin vui lòng post trên forum, mục Những vấn đề về IT. Hy vọng mình có thể giúp đỡ các bạn được chút ít gì đó trong khả năng của mình. Các bạn nên đọc bài viết này trước: Hướng dẫn cách tìm kiếm bài viết trên site nguyenminhduc.net Với các bạn mới tìm hiểu về DNN, mình nghĩ các bạn nên đọc bài viết sau: Installation (17)
| |
|
|

|
|
nmduc073 posted on March 03, 2010 08:27::22 view(s) Hôm qua, Dotnetnuke Corp đã tung ra bản alpha của DNN 05.03.00 để cộng đồng có thể download và test. Mình chưa đọc kỹ và chưa test nên không rõ bản alpha này có gì hay hơn so với trước kia không nữa. ^_^ Thông tin chi tiết: Link download: [Read the rest of this article...] nmduc073 posted on February 25, 2010 08:02::10 view(s) Hôm nay, Engage đã thông báo trên site của họ là sẽ chia sẻ skin Zeen cho cộng động. Như trên bài viết của họ thì skin này dựa trên skin của Wordpress, được phát triển bới WeFunction Design Agency. Khi sử dụng skin này thì mọi người phải tạo 1 link ngược về site của nhà phát triển skin. Chi tiết về thông tin có thể đọc tại: Và các bạn có thể down tại : [Read the rest of this article...] nmduc073 posted on February 10, 2010 08:54::45 view(s) Hôm nay, mình đã zip lại những bài viết về Dotnetnuke mà mình đã viết và chia sẻ trên site cá nhân này. Mục đích của mình là nhằm giúp các bạn mới tìm hiểu về DNN có thể dễ dàng tìm kiếm thông tin qua các bài viết trên Word. Mình thấy mình đã viết khá nhiều bài về DNN. Trên 5MB. ^_^ Do đó mình đã chia làm 2 file và up lên trang download. Các bạn có thể lên đó down về. [Read the rest of this article...] nmduc073 posted on February 05, 2010 11:14::25 view(s) Trên file template của vtiger, mình đã comment đoạn code lại như sau: <!-- Commented by Duc Nguyen 12-1-2010 {include file="Inventory/InventoryActions.tpl"} --> Tưởng ngon lành rồi. Test trên FF thấy nó biến mất. Ai dè, đến một thời gian dài sau, bên SQA test và thấy nó. Không tin được điều đó vì xem trên FF không thấy. Nhưng khi thấy nó hiện trên IE thì phải tin. Và mình phải sửa lại như sau: <!-- Commented by Duc Nguyen 12-1-2010 include file="Inventory/InventoryActions.tpl" --> [Read the rest of this article...] nmduc073 posted on February 02, 2010 13:38::73 view(s) Khi tạo 1 custom view của 1 module vtiger, nó có list các columns để ta chọn các field sẽ hiển thị trong custom view. Theo yêu cầu của dự án, thì cần phải kiểm soát, không cho hiển thị 2 field contactuser_password và contactuser_confirmpassword khi chọn field để hiển thị trong custom view. Để làm việc đó, mình vào customview.php trong modules\CustomView, tìm đến dòng 379. if($module != 'HelpDesk' || $fieldname !='filename') $module_columnlist[$optionvalue] = $fieldlabel; if($fieldtype[1] == "M") { $this->mandatoryvalues[] = "'".$optionvalue."'"; $this->showvalues[] = $fieldlabel; $this->data_type[$fieldlabel] = $fieldtype[1]; } [Read the rest of this article...] nmduc073 posted on February 01, 2010 14:37::5 view(s) Lại bên SQA phát hiện ra 1 vấn đề mới trên Popup của vtiger. Giả sử mình mở Popup của User, hiển thị list các User. Giả sử có 20 user được hiển thị trên 4 page, mỗi page hiển thị 5 item. Vấn đề ở đây là khi click Next để hiển thị đến page thứ 4, rồi click next để hiển thị page tiếp thì nó báo lỗi User not found. Thực tế chỉ được view 4 page thôi. Để khắc phục lỗi đó, mình vào ListViewUtils.php trong include\utils, thêm code sau trong hàm getTableHeaderSimpleNavigation. //Added by Duc Nguyen 1-2-2010 if($navigation_array['verylast']>1) { if($navigation_array['next']>=$navigation_array['verylast']) { $navigation_array['next']=$navigation_array['verylast']; } } //End Duc Nguyen 1-2-2010 [Read the rest of this article...] nmduc073 posted on January 29, 2010 06:38::412 view(s) Trong ListView của module, nó liệt kê các record của module đó. Ví dụ khi view Products module, ta thấy list các item. Và mỗi record, ta thấy ở cuối là các link edit và delete. Ngoài ra, ta còn có thể thấy list này khi view phần More Information của 1 item thuộc module khác. Ví dụ như view phần More Information của item thuộc Leads, bạn có thể thấy 1 list các item thuộc module Products nếu như có add nó vào. Vậy câu hỏi ở đây là nếu bạn muốn điều chỉnh, tác động đến các link edit và delete này thì bạn sẽ phải sửa code ở đâu? Ví dụ như bạn chỉ muốn link edit của Products trong phần More Information của 1 leads item, còn không cần link delete. Hay muốn link delete trong phần ListView ở module chính có thêm 1 hàm javascript của chúng ta và chỉ ở đó là xài hàm đó thôi. Tất cả mọi thứ bạn cần sửa nằm ở file ListViewUtils.php trong include\utils. [Read the rest of this article...] nmduc073 posted on January 28, 2010 08:36  ::20 view(s) Vừa rồi, task của mình có liên quan đến việc phải lưu dữ liệu được mã hóa, theo kiểu 2 chiều, vào 1 field trong CSDL. Do chưa có kinh nghiệm với vấn đề này, nên mình gặp các vấn đề sau: -Field mới thêm nên sử dụng field type nào? Varchar? Text? BLOB? -Sử dụng thuật toán mã hóa nào? -Làm sao để lưu field đó vào CSDL và lấy lên để giải hóa. Về thuật toán, mình tìm kiếm và thấy được code của các thuật toán từ link sau: Tiếp đến, mình cứ thực hiện mã hóa như hướng dẫn và lưu vào database như đối với 1 biến bình thường. Nhưng gặp 1 vấn đề sau. Khi mã hóa, các output sinh ra có các kí tự đặc biệt. Khi lưu vào CSDL thì nó không lưu nổi các kí tự đặc biệt. Chỉ có thể lưu các kí tự như a,b,c,1,2, %... còn kí tự đặc biệt thì chịu. Do đó lấy lên để mã hóa sẽ cho kết quả không đúng. [Read the rest of this article...] nmduc073 posted on January 27, 2010 05:32::34 view(s) Copy được đoạn code này từ forum dotnetnuke.com và chia sẻ cho những bạn mới tìm hiểu: //Get the role information RoleInfo oCurrentRole = oDnnRoleController.GetRoleByName(this.PortalId, "MyRoleName")
//Assign to user oDnnRoleController.AddUserRole(this.PortalId, user.UserID, oCurrentRole.RoleID, System.DateTime.Now.AddDays(-1), DotNetNuke.Common.Utilities.Null.NullDate); the oDnnRoleController is an instance of the RoleController within DotNetNuke. [Read the rest of this article...] nmduc073 posted on January 26, 2010 05:52::6 view(s) Tiếp tục với bài viết trước, mình sẽ xóa bỏ cái link cho field svlanguageid khi hiển thị detail view của module QAttribute. Và đây là các bước mình làm: -Mở file DetailViewUtils.php trong include\utils. -Tìm hàm function getDetailViewOutputHtml( -Tìm đến đoạn code trong đó: if($uitype == '10'){ … } [Read the rest of this article...] nmduc073 posted on January 25, 2010 05:51::15 view(s) Giả sử, mình tạo 1 module QAttribute. Trong module đó, có sử dụng 1 field svlanguageid có uitype là 10. Khi view trên listview, thì field svlanguageid đó hiển thị dưới dạng hyperlink. Tuy nhiên, trong yêu cầu khách hàng thì mình phải bỏ cái link đó đi, field đó chỉ hiện dạng text thôi. Để làm được điều đó, mình làm theo các bước sau: -Mở file ListViewUtils.php trong include\utils\. -Tìm đến hàm function getValue(… -Trong đó, ta tìm đến đoạn có if($uitype == '10'){ …. } [Read the rest of this article...] nmduc073 posted on January 23, 2010 05:50::24 view(s) Hôm nay, đọc bug do bên SQA gửi thì mình mới biết được vấn đề này. Khi mở module Question hay bất cứ module nào, tạo 1 record mới. Nhập vào field questionname hay Module_name, với data là 00000. Có thể nhập bao nhiêu số 0 tùy ý. Save vào dữ liệu thì bạn sẽ thấy số 00000 đó trên list view, trên edit view. Nhưng trong detail view thì bạn sẽ chẳng thấy gì cả. Thực sự là 1 điều khó hiểu. Sau mấy tiếng lần mò, thì mình đã phát hiện ra đoạn code làm vấn đề đó tại line 1288 trong file DetailViewUtils.php trong include\utils. if($col_fields[$fieldname]=='0' && $fieldname != 'filedownloadcount' && $fieldname != 'filestatus' && $fieldname != 'filesize') $col_fields[$fieldname]=''; Thực sự không hiểu rõ tại sao vtiger lại có đoạn code đó. Và cũng không dám xóa đoạn code đó. Bị 1 lần là sợ rồi. T_T Và cứ đành để đó làm câu hỏi. [Read the rest of this article...] nmduc073 posted on January 22, 2010 05:39::17 view(s) Hôm nay tình cờ đọc bài viết này. Những người trao đổi trong thread này đều là những chuyên gia về DNN và họ gặp trường hợp cụ thể. Và họ đặt ra câu hỏi là 5.2.1 chậm hơn 4.9.x. Họ thấy khi log in, thì thời gian vào page chậm hơn. Có nhiều postback hơn. Mình thì chưa cài DNN 5.2.1 nên chưa biết rõ là thực sự 5.2.1 có chậm hơn 4.9.x không nữa. http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/200/threadid/348102/scope/posts/threadpage/1/Default.aspx [Read the rest of this article...] nmduc073 posted on January 21, 2010 08:28::32 view(s) Hôm nay, trên site cá nhân, Joe Brinkman đã công bố tin Dotnetnuke 5.2.2 đã được release. Major Highlights - Fixed issue where tabname lookup's were case-sensitive and caused problems when loading controls.
- Fixed issue where Captcha control did not include a value for the Alt attribute.
- Fixed issue where the Create New Module wizard allowed the user to select an invalid 'Owner' folder.
- Fixed issue where uninstalling a module with 'delete files' unchecked deletes the files anyway.
- Fixed issue where GetMappedDirectory would log an exception during install.
- Fixed issue where the Starter kit was missing the HTML module.
- Fixed issue where the source package did not include the HTML module.
- Fixed issue with missing databaseowner and objectqualifier tags in the 5.2.1 SqlDataProvider script.
[Read the rest of this article...] nmduc073 posted on January 20, 2010 05:18::132 view(s) Dưới đây là các bước để đưa 1 site mà bạn làm trên local, lên host. -Add the url for the live site as an addiitonal Portal Alias (Host --> Site Settings --> Advanced Settings --> Portal Aliases --> Add New Alias). -Take a database backup from test site -Copy all files to live server -Change the web.config file ( connaction string on it) - Restore my database to the live database. Nếu đã lỡ up lên rồi mà chưa thay đổi Portal Alias thì nó sẽ redirect tới link cũ trên local host. Khi đó cần làm: -Add a new row to the PortalAlias table specifying the same PortalId (most likely 0) and the new HTTPAlias (without the protocol http://). -Delete the row for the development site. [Read the rest of this article...] | |
|
|
|