Những điều hơi lạ ở Drupal

Events happening in the community are now at Drupal community events on www.drupal.org.
dom.killer's picture

Tôi cũng mới vừa làm quen với Drupal. Thấy Drupal có những cái không chuẩn theo lẽ thường cho lắm.

1: Cách đặt tên file không được bảo mật. Có thể nhiều người biết là server thường chỉ biên dịch những file có đuôi là .php, những file có đuôi khác lạ thì xem như file text. Vì vậy ta có thể dễ dàng xem nội dung của module:
http://drupalvn.org/modules/system/system.module. Tại sao không là system.module.php?

2: Chuẩn viết mã đã theo chuẩn khá cũ kỹ, điển hình là 2 space cho tab. Hầu hết các editor đều mặc định là 4 spaces.

3: Không có thư mục admin riêng và dùng chung theme trang chủ với theme admin. Nó thật tai hại nếu cài thử 1 theme nào đó, nhưng khi dùng theme nó lại bị lỗi trong admin, dẫn đến không thể thao tác được nữa.

4: Tự nhiên trong thư mục themes lại có thư mục engines, đáng ra nó phải được bỏ vào trong includes chứ

5: Các file trong theme nào đó rất lung tung

6: Sao phải tốn thêm print t('Home'), chỉ cần gọi hàm t('Home') là nó tự print ra luôn chứ.

Comments

.htaccesss lo chuẩn là

thehong's picture
  1. .htaccesss lo
  2. chuẩn là chuẩn :-D không theo thì thôi
  3. Đã cải thiện rất nhiều ở Drupal 6. Ngoài ra, có thể sử dụng XMLRPC để xây dựng trang điều hành riêng, hoành tráng hơn, cái này thì TH sắp làm đây.
  4. Theme engine có thể có nhiều, không phải có 1, nên để đó là hợp lý.
  5. Tùy người viết theme
  6. Là do vấn đề ngôn ngữ, ứng với tiếng Anh thì xuất Home, ứng với tiếng Việt thì xuất Trang nhà

Thế Hồng

Tôi cũng đang xây dựng

jcisio's picture

Tôi cũng đang xây dựng site đầu tiên bằng Drupal. Trả lời vài câu:
1. Có lẽ Drupal muốn mặc định là "open source" :D Nên viết code phải chuẩn và bảo mật, đừng có để password trong mấy file module.
2. Ừ.
3. Quan điểm của Drupal là các module, theme... đều không có lỗi ;-) Nếu có lỗi thì luôn được phát hiện sớm.
6. Các hàm toàn trả về chuỗi, hàm t này cũng vậy thôi.

Thông tin công nghệ : Tin tức CNTT, điện tử, viễn thông...

1: Đôi khi có nhầm

dom.killer's picture

1: Đôi khi có nhầm lẫn: .module là gì? .module.php thì biết cái này là module của drupal viết bằng php. Trong quá trình tìm kiếm text trong file, luôn phải mệt mới drupal vì thường là tìm .php nhưng phải *. để tìm mọi thứ kể cả hình ảnh. Rồi mở file thì phải Open with nữa.
2: Chuẩn không có nghĩa là không cần phải cải thiện, ngay cả luật pháp còn có sửa đổi bổ sung nữa là. Hầu hết các chuẩn hiện nay đều là 4, chỉ có drupal là 2. Đa số đều cho rằng 4 spaces dễ nhìn hơn.
4: Đúng là có thể có nhiều, nhưng có là dạng library chứ đâu phải theme.
6: Tại sao trả về chuỗi khi mà trong theme nó chỉ print ra. Sao không làm : t('#Home'), nghĩa là nếu có # ở đầu thì tự print luôn.

Trong Drupal mọi thứ

mrsinguyen's picture
  1. Trong Drupal mọi thứ đều là module, nên người ta gọi Drupal kiến trúc modular, cái này rất thuận tiện để thêm bớt nên được đánh giá cao. Đâu cần open with đâu, Eclipse có thêm định dạng file nữa mà.
  2. Nếu phát triển theo Drupal thì nên đi theo chuẩn của nó, hoặc bạn làm chuẩn riêng của mình và phát triển các module cộng thêm thôi.
  3. Tuỳ cách hiểu, nhưng theme của Drupal rât gọn
    ...

Một số điều bạn

Nguyen DO's picture

Một số điều bạn nêu ra là đúng nhưng bạn cũng hiểu rằng khi một hệ thống (phần mềm) được xây dựng nhiều năm và nhiều người thì những quy định được đưa ra từ ban đầu đã trở thành chuẩn của team và rất khó sửa.

Chúng ta nhìn Drupal dưới góc đọ kiến trúc, nó đẹp, mạnh mẽ và phù hợp với y/c của chúng ta thì chúng ta dùng nó. Tất nhiên, chúng ta cũng phải chấp nhận những quy định drupal đã đưa ra.


Bring Vietnam to the World http://learnvietnam.com
Blog http://dohoangnguyen.com

Về cái này mình hoàn

jcisio's picture

Về cái này mình hoàn toàn không đồng ý. Sửa lại một cái chuẩn là đơn giản, điều này đặc biệt đúng với Drupal, khi mỗi phiên bản mới ra thì phải rà soát và viết lại tất cả.

Còn việc chấp nhận chuẩn. Tôi nghĩ hiện tại thì chúng ta chấp nhận hay không cũng chẳng thành vấn đề. Như tôi trước giờ viết đủ thứ cái, mà toàn dùng chuẩn của phpBB. Chẳng phải trong core, cũng chẳng viết module share mọi người thì không cần bận tâm. Bạn domkiller chỉ thắc mắc là "tại sao nó vậy" mà thôi ;-) Thắc mắc này đúng với chúng ta, và đúng với cả những người trong core team nữa.

Thông tin công nghệ : Tin tức CNTT, điện tử, viễn thông...

Bạn so sánh việc làm

Nguyen DO's picture

Bạn so sánh việc làm của một cá nhân với một cộng đồng là không chính xác.

Coding standard của một tổ chức hay một nhóm là đó thường rất ít khi thay đổi, kiến trúc phần mềm có thể thay đổi nhưng cách làm việc (có thể gọi là software development process) thì thay đổi rất từ từ.

Drupal development team cũng vậy thôi.


Bring Vietnam to the World http://learnvietnam.com
Blog http://dohoangnguyen.com

Cái này reply bài nào

jcisio's picture

Cái này reply bài nào thế ? Không hiểu.
Thông tin công nghệ : Tin tức CNTT, điện tử, viễn thông...

Nếu nói là chuẩn thì

dom.killer's picture

Nếu nói là chuẩn thì cũng có chuẩn đâu. Thấy ngay trước mắt, nếu cách đặt tên không cần .php thì sao các file templates lại là .tpl.php. Đúng chuẩn theo toàn bộ thì chỉ .tpl thôi chứ. Cứ .install, .module đủ thứ, phải add để highlight sytax.

function

dom.killer's picture
function drupal_anonymous_user($session = '') {
  $user = new stdClass();
  $user->uid = 0;
  $user->hostname = ip_address();
  $user->roles = array();
  $user->roles[DRUPAL_ANONYMOUS_RID] = 'anonymous user';
  $user->session = $session;
  $user->cache = 0;
  return $user;
}

Lại thêm một chỗ hơi lạ. Chỗ này không dùng luôn array cho đồng bộ và chuẩn theo drupal, tự nhiên lại new một cái class vào. Vì cả drupal đều không dùng OOP, lý do tại sao người phát triển lại dùng stdClass nhỉ?

Chỗ nào nói chuẩn

thehong's picture

Chỗ nào nói chuẩn Drupal là không sử dụng class? Drupal tận dụng các tính năng mạnh của lập trình cấu trúc để giải quyết các vấn đề, không có nghĩa là không OOP. Các module cỡ bự như views, panel, simpletest đều phát triển theo OOP.

Thế Hồng

Search nội dung toàn bộ

dom.killer's picture

Search nội dung toàn bộ code của Drupal thì không thấy một chút OOP nào ngoài stdClass.Tôi thấy stdClass không ích lợi gì hơn so với array, nó còn làm mệt thêm chỗ hàm extract khi xử lý template.

Có lẽ bạn đang hiểu lầm, ở đây tôi không yêu cầu và cũng không thích Drupal phải viết theo OOP mà là dùng OOP không hợp lý, đến giờ này tôi vẫn chưa hiểu họ dùng như vậy với mục đích gì. Bởi vì, stdClass thì là một lớp cơ bản dựng sẵn không có chức năng cụ thể nào cả.

Tôi đã sử dụng Drupal

vph's picture

Tôi đã sử dụng Drupal trong vòng 2 năm qua. Trong thời gian này, tôi nhìn vào rất nhiều các CMS khác có cả Joomla, Typo3, Plone,... và kết luận là cách design của Drupal là khá nhất.

Những chi tiết nho nhỏ sẽ được dần dần tu chỉnh lại. Nhưng về design thì hệ thống node, hook của Drupal làm cho software development rất tiện lợi. Chưa kể đến documentation, có thể nói nó đầy đủ nhất so với tất cả các CMS khác.

Bạn có thể chia sẻ

dom.killer's picture

Bạn có thể chia sẻ kinh nghiệm không? Chứ tôi đọc cái handbook mệt nghỉ mà vẫn chưa đủ khả năng để làm cho ngon một trang tin tức như các trang tin tức bình thường khác. Đôi lúc những chỗ mình cần, mừng thầm, ai ngờ vào chỉ thấy nói vài câu giới thiệu. Có thể tôi chưa tìm đúng chỗ để đọc vì nó nhiều mục quá.

Kiếm cuốn Pro Drupal Development về mà đọc

dinhvu's picture

Cuốn handbook thì nó hơi khó hiểu, nhưng đọc cuốn Pro Drupal Development thì dễ hiểu hơn nhiều. Còn document nói ở đây là cái comment trong code, viết code mà có cần phải đọc core của Drupal rất là khoẻ, vì nó comment khá là kĩ. Còn cuốn sách bạn đọc hết 10 chương đầu là có thể viết trang web bằng drupal được rồi.

Ba.n muon lam mot trang tin

vph's picture

Ba.n muon lam mot trang tin tuc binh thuong thi khong can biet development chi cho met. Ban chi can "story" va` "taxonomy" la du.

Cu tay may dieu chinh mot hoi la duoc. Drupal6 de dung lam.

Bạn làm tôi xem thử

dom.killer's picture

Bạn làm tôi xem thử kiểu mấy trang vietnamnet.vn, vnexpress.net... Tôi làm mãi mà vẫn chưa được như kiểu đó. Nó cũng giống kiểu của NukeViet.

www.liva.com.vn

dunglv's picture

Chào các bạn. Tôi ở công ty LIVA (http://www.liva.com.vn), chuyên về Drupal. Các bạn có thể tham khảo web công ty và một số trang của khách hàng chúng tôi. Hi vọng chúng ta có cơ hội hợp tác để Drupal Vietnam phát triển.

Tôi mới tham gia: Drupal

lvdoqt's picture

Tôi mới tham gia:
Drupal giống blog quá. các page, story cứ chạy dài xuống. muốn hiện như chủ đề nukeviet được kg?
Nhanh hơn Nukeviet
Nhiều thứ khó hiểu.

Thử nghiệm:
http://skkn.tk

T cũng tham gia được vừa vừa rồi

Mr.vantri's picture

Có web thông tin công nghệ đó bạn. T thấy trang đó phát triển khá hay đấy. Các bạn bên đó ứng dụng khá thành công drupal để xây dựng.
thongtincongnghe.com.

Riêng em thì quan điểm khác:

luatviettin's picture

Riêng em thì quan điểm khác: cms nào cũng có điểm mạnh và yếu, Drupal em thấy mạnh nhất đó là các trang phức tạp kiểu academy, loại lởm cởm khỏi dùng, còn nếu làm các trang bé em té sang wordpress ... Drupal cực bảo mật nhưng một số điểm còn cố tình tỏ ra phức tạp nữa ...

cái nhiều thứ mình cũng thấy

landev's picture

cái nhiều thứ mình cũng thấy lạ nhưng 1 điều rỏ ràng là Dru rất bảo mật

dịch vụ rút hầm cầu giá rẻ, thông cống nghẹt uy tín nhất tphcm