Wednesday, September 08, 2010

Viewing Category


Installation

Các bài viết về cài đặt site và module của Dotnetnuke
    31

    Dưới đây là link bài viết của Mitchel Sellers về việc chạy 1 site DNN trên nền .NET 4.0. Bạn cần phải sửa lại web.config để cho phép site chạy.

    Giải pháp chính là ở đoạn gần cuối:

    To resolve the issue simply remove the "runtimeVersionv2.0" portion from the pre-condition and you should be up and running.  I recommend removing this pre-condition from ALL handlers in this section.

    http://www.mitchelsellers.com/blogs/articletype/articleview/articleid/342/running-dotnetnuke-with-net-40.aspx

    [Read the rest of this article...]

    Posted in: Installation
    20
    Posted in: Installation
    15

    Dưới đây là những hướng dẫn tạo 1 module Dotnetnuke bằng tiếng Anh mà mình vừa đọc được trên forum của dotnetnuke.com.

    1- Open DotNetNuke Application

    2-Add New Items

    3- Select  DotNetNuke Dynamic Module

    4-Type ModuleName.

    5- Select  language

    6- click Add

    7- It created two folder(one folder in App_Code and another in DesktopModules folder)

    8- Rename the two folder it created

    [Read the rest of this article...]

    Posted in: Installation
    20

    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...]

    Posted in: Installation
    08

    Mình mới đọc được bài viết hướng dẫn cách cài đặt DNN trên Win 7. Thấy cũng khá chi tiết và hữu ích cho mọi người. Do đó, mình xin share cho các bạn cùng đọc:

    http://www.dotnetnuke.vn/Diendan/tabid/57/forumid/2/threadid/3800/scope/posts/Default.aspx

    [Read the rest of this article...]

    Posted in: Installation
    08
    Mình xây dựng xong một số module cho DNN 5.0.1. Mình đã deploy lên server chạy Win2003 Server. Tại máy client, trên môi trường Window, các module này chạy rất tốt trên đa trình duyệt (IE, FireFox, Safari, Chrom). Nhưng lại không chạy được trên Mozilla FireFox trong môi trường Linux (máy client dùng HĐH Ubuntu Linux 9.04). Lý do là ISS không được cấu hình để chạy trên Mozilla FireFox. Cách khắc phục là thêm đoạn code sau vào tag <system.web> trong file web.config
          <browserCaps>
                <case match="^Mozilla/5\.0 \([^)]*\) (Gecko/[-\d]+)(?'VendorProductToken' (?'type'[^/\d]*)([\d]*)/(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*)))?">
                    browser=Gecko
                    <filter>
                        <case match="(Gecko/[-\d]+)(?'VendorProductToken' (?'type'[^/\d]*)([\d]*)/(?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*)))">
                            type=${type}
                        </case>
                        <case>
                            <!-- plain Mozilla if no VendorProductToken found -->
                            type=Mozilla
                        </case>
                    </filter>
                    frames=true
                    tables=true
                    cookies=true
                    javascript=true
                    javaapplets=true

     

    [Read the rest of this article...]

    Posted in: Installation
    25

    Một thời gian dài, mình lập trình module nhưng vẫn chưa hiểu rõ cách nó quản lý các stored procedure như thế nào khi install và upgrade module. Mãi đến khi gặp các vấn đề với việc upgrade module thì mình mới bị bối rồi. Sau khi hỏi trên mạng, có người đã đưa mình link dưới đây. Mình sẽ lược dịch lại lại để mọi người cùng biết thêm.

    Ta có 1 file zip là gói install của 1 module. Trong đó sẽ có file manifest có đuôi .dnn, chứa các thông tin cần thiết. Có <version> là số version của module đó. Ngoài ra, còn có các file sql sqldataprovider với các số hiệu có dạng xx.xx.xx như 01.00.01, hay 01.00.02…
    *Khi install 1 module:
    Khi ta install 1 module, nó sẽ chạy tất cả các script trong sqldataprovider với số xx.xx.xx nhỏ hơn và bằng với số trong <version> trong file manifest .dnn. Sau đó, số version này sẽ được lưu lại trong bảng DesktopModules.
    Những script đó chỉ được chạy đúng 1 lần. Nên cho dù ta có reinstall đúng version đó thì những lần reinstall đó những script này sẽ không được execute.
    Điều này được giải thích nhằm đảm bảo an toàn. Giả sử như những stored procedure tạo table. Nếu chạy lại lần nữa thì những dữ liệu có trong table cũ sẽ bị mất. Tuy nhiên, mình vẫn cảm thấy cách làm này phiền hà quá. Giả sử lỡ xóa SP thì chắc là chết. T_T
    *Khi upgrade 1 module:
    Những file sqldataprovider có xx.xx.xx lớn hơn version number trong DesktopModules, và nhỏ hơn hay bằng giá trị trong <version> của version mới sẽ được execute.
    Những điều này đúng là làm khổ mình thiệt. T_T

    [Read the rest of this article...]

    Posted in: Installation
    09

    Bài viết này nhằm giúp các bạn mới tìm hiểu Dotnetnuke có thể biết cách đóng gói module Dotnetnuke sau khi đã lập trình xong module đó.

    Sau khi các bạn đã tạo được 1 module hoàn chỉnh trên local, việc tiếp theo là bạn muốn đóng gói nó lại để có thể up và sử dụng trên host. Hãy làm các bước sau:
    -Đăng nhập với quyền host.
    -Vào Host/Module Definitions.
    -Click edit icon của module ta cần đóng gói.
    -Bạn sẽ thấy link Create module Package. Nếu không thấy link này, thì bạn cần làm các bước nhỏ sau:
    +xem lại module name và mấy thứ cạnh đó. Nếu chúng có giá trị đại loại như YourCompany.ModuleName thì bỏ YourCompany. đi nhé.
    +Click Update.
    Sau đó bạn sẽ thấy link Create module Package.
    -Sang trang mới, bạn sẽ thấy 2 cái checkbox. Check lên cả 2. Click ok.
    -Xem kết quả có hiện thành công hay không.
    -Vào thư mục Install/Module, bạn sẽ thấy thư mục zip nằm ở đó.
    Và bây giờ bạn có thể dùng được rồi.

    [Read the rest of this article...]

    Posted in: Installation
    26

    Mỗi khi ra mắt 1 version mới, Dotnetnuke sẽ tung ra 4 gói của version đó. Chúng là:

    -Install
    -Source
    -Upgrade
    -StarterKit.
    Theo sự hiểu biết chủ quan của mình, mình xin giải thích về 4 gói đó như sau:
    -Upgrade: Nó sẽ upgrade cho site hiện có của bạn từ version cũ lên version mới này. Bạn chỉ cần unzip gói này và copy tất cả, thả vào source của site của bạn. Khi đó các code mới sẽ được thêm vào. Script mới sẽ được chạy để thêm các field hay table mới vào database. Mình hiện giờ chỉ dùng để upgrade bản install thôi. Chứ mình chưa kiểm tra là gói Upgrade này có thể upgrade các gói source được không.
    -StarterKit: Đây là 1 file vsi. Khi chạy file này, nó sẽ tạo ra các template cho DNN project và template cho DNN module trên Visual Studio.NET. Khi đó, bạn chỉ cần mở VS.NET, tạo 1 website DNN mới dùng template của DNN 1 cách đơn giản. Các dữ liệu cần thiết sẽ được tạo ra. Bạn cũng không cần phải cấp quyên truy xuất tới thư mục chứa source. Rồi tạo 1 module mới với DNN module template cũng đơn giản và các file cần thiết đều được tạo ra. Đó chính là điều mình nghĩ nó dễ dàng hơn cho những người mới tìm hiểu DNN. Mình thường dùng gói này mỗi khi lập trình các module trên localhost.
    Lưu ý là các code trong gói này không chứa source của DNN framework. Nó chỉ có các file ascx cùng với các file .dll thôi.
    -Source: Đây là gói chứa gần như đầy đủ các source của DNN framework. Thực ra cũng có 1 vài thứ trong core không được DNN cho mọi người biết mà chì có file dll thôi. Gói này khá nặng vì chứa source. Nó tốn thời gian hơn để compile nguyên project. Mình thấy chỉ nên dùng gói Source khi muốn nghiên cứu source code của core DNN hay khi các gói khác có vấn đề.
    Khi dùng thằng này thì bạn cần phải cung cấp quyền trên thư mục chứa source.
    -Install: Đây là gói nhẹ nhất so với 2 gói StarterKit và Source. Nó chỉ chứa các thư viên thực sự cần thiết cho việc đưa site lên host. Site mình đang dùng là bản Install.
    Cũng như gói source, bạn cũng cần cung cấp quyền trên thư mục chứa source cho các user cần thiết.
    Nếu cài trên localhost thì bạn phải tạo virtual directory trên IIS. Khi đó nó có thể dùng để test các module mà bạn đã code trên gói install hay source. Nó cũng có thể được dùng để thiết kế, cài đặt như là 1 bản nháp trước khi đưa nó lên host chính thức. Tuy nhiên, bạn không thể nào lập trình trên đây được.

    [Read the rest of this article...]

    Posted in: Installation
    24

    Trong bài viết này, mình xin hướng dẫn cách tạo 1 website mới dùng version Source của DNN.

    -Đầu tiên, bạn hãy download bản Source của version bạn muốn từ dotnetnuke.com. Bạn phải đăng nhập với account thì mới có thể thấy được link để down.
    -Sau khi down xong, bạn hãy unzip nó và đặt trong 1 thư mục ơ nơi bạn muốni.
    -Tiếp đó bạn cần gán quyền cho thư mục đó.
    +Nhấn chuột phải lên thư mục chứa code. Chọn properties.
    +Click tab Sercurity.
    +Click Add để add group cho Users và Administrators. Cứ cho 2 thằng đó có Full control trong permission.
    -Tiếp theo, bạn cần tạo 1 database rỗng trên SQL Server. Ở đây, mình dùng SQL Server 2005.
    +Bạn hãy login với account sa hoặc Windows account vào SQL Management.
    +Nhấn chuột phải lên Database, chọn New database.
    +Đặt tên cho database. Ví dụ như MyDNNExDB chẳng hạn.
    Thế là xong vụ database. Bây giờ ta quay lại với VS.NET nào.

    [Read the rest of this article...]

    Posted in: Installation
    23

    Trong bài viết này, mình xin hướng dẫn cách tạo 1 website mới dùng StarterKit của DNN.

    -Đầu tiên, bạn hãy download bản StarterKit của version bạn muốn từ dotnetnuke.com. Bạn phải đăng nhập với account thì mới có thể thấy được link để down.
    -Sau khi down xong, bạn có được 1 file .vsi. Hãy install nó. Nhớ là close VS.NET trước khi cài nhé.
    Ở đây mình dùng VS.NET 2005 hoặc VS.NET 2008.
    -Tiếp theo, bạn cần tạo 1 database rỗng trên SQL Server. Ở đây, mình dùng SQL Server 2005.
    +Bạn hãy login với account sa hoặc Windows account vào SQL Management.
    +Nhấn chuột phải lên Database, chọn New database.
    +Đặt tên cho database. Ví dụ như MyDNNExDB chẳng hạn.
    Thế là xong vụ database. Bây giờ ta quay lại với VS.NET nào.
    -Mở VS.NET lên.
    -Chọn File->New->WebSite.
    -Nó hiện ra 1 form. Hãy chuyển language thành VB. Bạn sẽ thấy trên My Templates có Dotnetnuke Web Application Framework. Click vào đó.
    -Hãy nhập tên Web Application mà bạn muốn, ví dụ như MyDNNEx. Click OK.

    [Read the rest of this article...]

    Posted in: Installation
    22

    Thời gian gấn đây, có 1 số bạn mới tìm hiều về Dotnetnuke đã gặp khó khăn khi cài đặt DNN site. Thường các bạn gặp vấn đề với CSDL. Mình xin có vài lưu ý sau:

    -Khi bạn cài Microsoft SQL Server-ví dụ như SQL Server 2005 chẳng hạn- đến 1 bước nào đó, các bạn sẽ thấy chế độ Authentication. Có 2 option: Windows Authentication và Mixed Authentication (gồm cả Windows Authentication và SQL Authentication). Các bạn phải chọn Mixed Authentication. Nếu các bạn chọn Windows Authentication thì sẽ gặp nhiều khó khăn khi kết nối CSDL từ site tới database.
    -Về cách cài đặt 1 site Dotnetnuke, mình đã post tại
    Các bạn hãy xem để biết cách cài cho đúng. Lưu ý là chọn Typical nhé. Đừng chọn kiểu Auto ở bước 2.
    Nhưng trước đó, các bạn hãy mở SQL Server của mình ra, tạo 1 database rỗng. Ví dụ như MyDNNDB chẳng hạn. Rồi đến bước nhập database name trong bài hướng dẫn trên, hãy nhập tên nó vào (MyDNNDB).
    -Mình thấy có bạn nói về việc gán quyền cho 1 account trên database. Việc đó cũng được thôi. Nhưng mình toàn dùng tài khoản sa, là account có quyền cao nhất, nên cũng chẳng quan tâm đến việc đó. Không cần tốn thời gian cho bước này.
    Khi đó, trong quá trình cài đặt DNN site như link trên đã nói, mình bỏ chọn Intergrated security. Nó sẽ hiện textbox để mình nhập username và password. Mình đã nhập account sa của mình. Chọn db_owner.
    Nói chung các bạn cứ bám theo các bước mà link trên đã nói. Còn ở dưới chỉ là những bước phụ thêm ban đầu mà mình chưa nói đến trong link trên. Hy vọng các bạn làm được.

    [Read the rest of this article...]

    Posted in: Installation
    02

    Hôm nay, mình đã down code site của mình đang chạy trên server xuống và cài thử trên local. Mình đặt nó trong wwwroot và dùng IIS để tạo 1 virtual directory tên là nguyenminhduc. Mình đã thấy 1 số lỗi và vấn đề thường gặp. Do đó, mình muốn chia sẻ với mọi người.

    Vấn đề 1:

    Sau khi down thư mục và đặt trong wwwroot, các bạn nhớ đặt quyền trong tab sercurity cho thư mục. Do trên local nên cứ đặt Full control hết.

    Vấn đề 2:

    Các bạn nhớ chỉnh lại các thông tin trong web.config về database connection cho phù hợp với DB trên local nhé.

    Vấn đề 3:

    Các bạn nên chỉnh lại alias cho site bằng cách vào Host/Portals và chình lại Http alias. Các bạn cũng có thể vào database, tìm table PortalsAlias để chỉnh lại.

    Ví dụ như mình chỉnh lại thành localhost/nguyenminhduc. Lưu ý không có http. Và cũng không có / phía sau nguyenminhduc.

    Chỗ này có thể gặp vấn đề. Dưới đây là những rắc rối mình đã gặp khi chỉnh lại alias:

    -Đầu tiên mình quên không chỉnh và không để ý. Đến khi upload skin thì nó chuyển sang trang nguyenminhduc.net của mình. Kiểm tra trong database thì thấy alias l�www.nguyenminhduc.net. Mình đã chình lại bằng tay là localhost/nguyenminhduc. Và từ đây có rắc rối.

    +Chạy http://localhost/nguyenminhduc thì không chạy.

    +Chỉnh alias thành localhost/nguyenminhduc/ thì khi chạy http://localhost/nguyenminhduc Firefox báo redirect loop.

    +Chình lại thành www.nguyenminhduc.net thì http://localhost/nguyenminhduc sẽ trỏ tới www.nguyenminhduc.net.

    +Vào database, table PortalsAlias, mình tạo thêm 1 row mới, trỏ tới localhost/nguyenminhduc và xóa row cũ đi. Vẫn vậy.

    Mình đã điên lên chỗ này luôn.

    [Read the rest of this article...]

    Posted in: Installation
    30

    Những kinh nghiệm này có lẽ các bạn đã nghe nói nhiều rồi. Mình cũng vậy. Nhưng có lẽ các bạn sẽ không thực sự nhớ nó đến khi các bạn gặp phải. Mình cũng vậy. Và mình đã được 1 bài học. Thôi thì mình cũng xin nhắc lại 1 lần nữa.

    -Thường xuyên backup database và code của bạn.

    Bạn nên đặt tên cho rõ ràng và để ở 1 chỗ nào đó. Khoảng thời gian giữa các lần backup thì tùy bạn. Nhưng nên làm trước mỗi lần thay đổi quan trọng.

    -Trước khi upgrade hãy backup code và database.

    -Trước khi upgrade code lên phiên bản mới, nên đọc những feedback trên các diễn đàn về phiên bản mới đó.

    Đừng nên làm người tiên phong. Vì các phiên bản mới chưa chắc đã ổn định. Như phiên bản 5 vừa rồi, mình có cảm giác nhóm phát triển đã cố gắng đẩy nhanh tiến độ cho Noen và Tết của họ. Do đó chất lượng không bảo đảm. Có nhiều lời phàn nàn khi upgrade trên dotnetnuke.com.

    -Hãy test trên site local trước.

    Bạn hãy tạo 1 site local với các code y như trên live site. Tiến hành upgrade trên đó trước. Việc upgrade trên local thành công không đồng nghĩa với việc upgrade trên live site thành công. Nhưng ít nhất sẽ biết trước các vấn đề nếu có.

    -Khi có vấn đề, hãy xem các bài viết trên site hỗ trợ.

    Hãy bình tình. Hãy tìm trên forum của dotnetnuke.com xem có bài viết nào nói về vấn đề mình đang gặp phải không. Nếu cần. hãy viết vấn đề của mình lên đó. Hy vọng sẽ có người giúp.

    -Nhiều lúc, vấn đề sẽ nằm ở trên host của mình chứ không phải do code.

    -Nếu chưa có cách giải quyết, hãy restore lại bản backup.

    Hãy xóa sạch code trong host và cả database nữa. Hãy xóa sạch. Rồi restore chúng lại.

    -Có thể có bug khi restore.

    Khi restore, do nhiều lí do, có thể có bug. Tìm cách giải quyết. Chẳng hạn như reinstall phiên bản mới nhất của module đó. Reinstall ở đây nghĩa là cài đè lên luôn. Chứ không phải là uninstall rồi cài lại. Như thế sẽ mất dữ liệu.

    Chúc các bạn may mắn. ^_^

     

    [Read the rest of this article...]

    Posted in: Installation
    20
    Sau đây, mình xin trình bày các bước để tạo 1 module mới:
    -Trong VS.NET, click lên project để chọn và sau đó nhấn chuột phải lên project, chọn Add new item. Hoặc bạn có thể click lên project để chọn và trên menu, vào Website->Add new item.
    -Nó sẽ hiện ra 1 form mới. Trong My Templates, chọn Dotnetnuke Dynamic Module.
    -Trên Name, nhập tên module mà bạn muốn. Ví dụ như MyFirstModule.
    -Trong language, chọn là VB hay C# tùy ngôn ngữ ưa thích của bạn.
    -Và click Add. Khi đó sẽ có 2 thư mục được tạo ra ở 2 nơi. Một thư mục là ModuleName trong thư mục App_Code. Một thự mục ModuleName trong thư mục DesktopModules.
    -Bạn cần đổi tên cả 2 module ModuleName đó thành MyFirstModule.
    -Ngoài ra, các file ở trong 2 thư mục trên ở mặc định có namespace bắt đầu bằng YourCompany. Bạn có thể đổi lại theo ý của bạn như ABC bằng cách vào từng file dùng chức năng Find and Replace.
    -Nếu bạn chọn ngôn ngữ là C#, bạn cần làm thêm 1 bước sau đây.
    +Mở file web.config, bạn tìm <codeSubDirectories>. 
    +Thêm <adddirectoryName="MyFirstModule" />
    -Tiếp theo, bạn cần compile lại cả project.
    -Chạy site, bạn hãy login với quyền host. Vào Host->Module Definitions.Chọn Import Module Definition. Trong Manifest, chọn dnn của module bạn vừa tạo là MyFirstModule.dnn. Click Import Manifest.
    -Vào module MyFirstModule trong DesktopModule, bạn hãy mở file 01.00.00.SqlDataProvider và copy tất cả trong đó. Mở database của site trong Sql Server và run những đoạn script vừa copy được.
    -Cuối cùng, hãy add module vừa mới tạo ra 1 page nào đó để xem nhé.
    Chúc bạn thành công.^_^

    [Read the rest of this article...]

    Posted in: Installation
    Page 1 of 2First   Previous   [1]  2  Next   Last   
    HomeTrangITForum
    Copyright 2010 by Nguyễn Minh ĐứcDesigned by DyNNamiteTerms Of UsePrivacy Statement