WordPress customization

Kể từ đầu năm 2018, hãng điện thoại AT&T cung cấp hệ thống fiber optics cạnh tranh lấy khách hàng mới từ các hãng cable như Comcast và Infinity. Vì là khách hàng của AT&T trong nhiều thập niên, AT&T cho chúng tôi giá cả đặc biệt khi cập nhật lên hệ thống này với những thay đổi lớn như sau:

1. Tốc độ truyền (gởi và nhận như nhau) vào khoảng 1 Gbps, thường thường hơn 960 Mbps. Vì vậy chuyện đi mướn máy chủ để có tốc độ truyền (gởi) tối thiểu 100 MBps không cần thiết nữa, vì tốc độ truyền 1 Gbps nhanh gấp 10 lần 100 Mbps.

2. Vì không cần phải trả những giá cả vô lý để thuê mướn hàng tháng nữa, các máy chủ (servers) được chia thành nhóm theo chức năng định sẵn để công việc bảo trì và quản lý các tài liệu đăng trên mạng và ghi chú cho công việc sưu tầm khảo cứu được dễ dàng hơn: máy giữ tài liệu lưu trữ, máy cung cấp dịch vụ xuất bản, máy cắt ráp và chỉnh sửa phim ảnh, máy bảo vệ phá hoại và tàng số máy, cúp điện … và số lượng tài liệu lưu trữ cùng phim ảnh hoàn toàn không bị giới hạn. Để khỏi tốn điện, vặn quạt gió và đỡ cồng kềnh tốn chỗ, một số máy chủ đã được chuyển sang sử dụng hệ thống Samsung Exynos thay vì dùng máy do Intel chế tạo, vì hệ thống điều hành của các máy chủ là Linux Fedora (nhiều phiên bản từ 14 đến 28) không thay đổi. Các máy chủ chính hiện nay (2018) nếu không dùng Samsung Exynos đều là hệ thống Linux Intel gồm có:

2.1. Tên máy: julia (số máy: .110, khả năng lưu trữ: 250 GB) Fedora 14, hầu hết các chức năng đã được thay thế bằng router (số máy .254) dùng kỹ thuật pinhole (http:80, https:443, pop3:110, ssh:22, imap:143, smtp:25) đề phòng chống phá hoại từ các máy bên ngoài. julia chứa tài liệu lưu trữ cho dvd-replica và cắt ráp phim ngắn (phim mẫu) dùng ffmpeg cho các bài giảng trước đây. Hầu hết mọi chức năng liên hệ đến việc kiểm soát các trang đăng trên mạng đã được cập nhật lên máy chủ kimberly (.85) gồm có wordpress, mysql/maria, httpd, php. ssh loại bỏ hẳn nhu cầu màn ảnh cho máy chủ (headless server).

2.2. Tên máy: rachel (số máy: .109, khả năng lưu trữ: 250 GB) Fedora 11, lưu trữ phim ảnh và âm nhạc từ 4 đĩa rời: sdb, sdc, sde, sdd (1.8 TB mỗi đĩa, dùng mount), tổng cộng gần 8 TB.

2.3. Tên máy: kimberly (số máy: .85, khả năng lưu trữ: 250 GB: sda, + 2 TB: sdb) Fedora 24, máy chủ cung cấp cho các trang thuộc về www.dientoan.us (số máy trên mạng do GoDaddy bảo quản 104.11.227.167) và các phim ảnh khổ 850×480 đã được xuất bản. Phiên bản sage 7.3 (computer algebra) cũng hoạt động trên máy này để giúp chấm bài đại số (giải phương trình, chuyển đơn vị, tính đạo hàm và tích phân, lượng giác) cho nhanh và chính xác. Hệ thống điện thư sendmail hiện thời chỉ nhận nhưng vẫn chưa gởi được cũng do kimberly bảo quản. Cơ sở lưu trữ khoảng hơn 1,000 DVDs (khoảng 4.4 TB có tóm tắt trong bảng Catalog) đã được dời sang máy chủ này từ juliaodroid và cập nhật. Đây là máy chủ duy nhất có bảo vệ cúp điện (ups) và cài hệ thống tàng số máy khi cần thiết (VPN), không nên thiết kế tự động vì tốc độ truyền sẽ bị giảm từ 1 GBps xuống 100 MBps. Vì kimberly có thể đọc được các tài liệu và hồ sơ lưu trữ trực tiếp từ máy julia: .110, rachel: .109, pamela: .90, và odroid: .88 (dùng mount), vị trí các phim ảnh nên dùng hệ liên kết ảo (ln -s) thay vì phải chép sang đĩa sda vì đĩa này bị giới hạn tại 250 GB. Vì kimberly liên lạc với các máy bên ngoài mạng nội bộ, phải luôn luôn kiểm soát không cho hệ thống http thấy sự liên kết ảo này đề phòng phá hoại. Ngoài ra, hệ liên kết ảo bị giới hạn ở tốc độ 100 mbps và không có bản phụ lưu trữ (bất lợi trong trường hợp máy .85 bị hư).

2.4. Tên máy: odroid (số máy: .88, Samsung Exynos with 8 cpus, khả năng lưu trữ: 500 GB SSD (root) + 1 TB (sdb) + 600 GB (sdd)), Fedora 21, máy chủ cung cấp các tài liệu sách giáo khoa toán và các bài thi Anh văn và SAT, phận sự chính kiểm soát chức năng hệ thống xuất bản pdf (wkhtmltopdf), và cập nhật Java jar (JDK 8) cho kế hoạch Jython/Azureus Vuze. Phiên bản sage 8.2 (computer algebra) hoạt động trên máy này để giúp chấm bài. Phiên bản này cập nhật hơn 7.3 trên máy kimberly. Một số phim ảnh cũ chưa được xếp đặt có thứ tự ngày tháng hay vẫn cần điều chỉnh, sửa chữa trước khi xuất bản được lưu trữ tại đây. Đa số các trang do máy kimberly lưu trữ nếu có vấn đề liên quan đến html, javascript, jQuery, php, python hay c sẽ được kiểm soát lại trên máy chủ này để tìm ra nguyên nhân vì mạch điện và hệ điều hành khác hẳn máy do Intel chế tạo. odroid có vấn đề dùng mount (cifs) nên không đọc trực tiếp được các máy khác qua smb. Xét quá trình sử dụng mount đã hoạt động trước đây.

2.5. Tên máy: odroid.ubuntu (số máy: .89, Samsung Exynos with 8 cpus, diskless), Fedora 21, khảo cứu cách sử dụng OpenCL dùng GPU (6 GPUs) trong hệ thống Exynos.

2.6. Tên máy: pamela (số máy tạm thời: .11 hay .90, khả năng lưu trữ: Seagate Firecuda 2 TB = 2,000 GB (sdb) + 2 TB Seagate Barracuda (sda)) lưu trữ các phim ảnh và tài liệu khảo cứu sẽ không được xuất bản. Kể từ 2018, pamela sẽ đuợc sử dụng làm máy chính để cắt ráp và chuyển các phim ảnh trước đây lưu trữ ở những dạng chứa không thống nhất và tốn chỗ như wmv, avi, flv, mpeg thành dạng mp4 (tiêu chuẩn libx264 hay libx265). pamela đang có trở ngại dừng lại bất kỳ (ssh và samba), chưa biết nguyên nhân (có thể do NetworkManager hay reverse DNS). Nguyên nhân: Khi có hiện tượng (network drop) này, nhất là trong khi sử dụng Remote Desktop, kiểm soát lại dây điện nối từ máy chủ đến hộp chuyển (switch) xem có tuột không, đèn phải bật sáng. Khi hộp chuyển có vấn đề, tất cả những máy nối vào hộp chuyển đều bị ảnh hưởng.

3. Vì máy chủ cung cấp các trang này trên mạng chỉ là một trong những máy của mạng nội bộ (local network), công việc thử nghiệm hay kiểm soát các trang đã và đang xuất bản trở nên rất nhanh chóng, không cần phải chờ đợi hay di chuyển tài liệu. Công việc kiểm soát gồm có: xem xét nội dung thiết kế tối thiểu trên hai máy trong mạng nội bộ trước khi xuất bản, sau khi máy kimberly xuất bản, sử dụng pingdom và gtmetrix để xét tốc độ truyền nếu có trở ngại (phải nhanh hơn các máy khác 90%). Cách sắp đặt và nội dung các trang được kiểm soát qua các dịch vụ miễn phí đã có sẵn trên mạng như screenshot.guru hoặc web-capture.net để xác định các trang này được trình bày và hiện ra trên các máy khác đúng như đã thiết kế.

4. WordPress dùng [shortcodes] các chi tiết được định nghĩa tại /wp-includes thay thế được nhiều chức năng phải viết bằng php trước đây. Để công việc bảo trì được dễ dàng hơn, nên cập nhật shortcodes [audio], [caption], [embed], [gallery], [playlist], [video].

The following changes were made to WordPress:
1. Change “Categories Archives” to “Thể Loại”.

2. Change category.php (theme classroom-simplified) and functions.php (theme caroline) to support the numbering of posts under a chosen category (from 1., 2., etc), smaller heading font, removal of which categories the post belong to, removal of date and author of the post. Chữ “hướng dẫn” định nghĩa trong classroom-simplified trong khi chữ “Đọc tiếp” định nghĩa trong theme caroline (xem functions.php). Hình icon nhỏ và phần tóm tắt được định nghĩa trong phần excerpt của mỗi bài viết. Cập nhật footer.php khi thay đổi copyright.

3. It is best to keep each site and associated language uniquely associated with a default chosen theme. Each post can have a short line of excerpt to keep the list of posts simpler and neater.

4. Update image header to include copyright information 2000-2018.

5. Add new and maintain the following categories: Ghi chú, Sinh hoạt, Sưu tầm khảo cứu, Tài liệu lưu trữ. Thể loại Ghi chú gồm có: Database, Health, Linux, Software, và Video. Thể loại Sinh hoạt gồm có: Gia đình và Kiên Giang. Thể loại Sưu tầm khảo cứu gồm có: Dinh Dưỡng Trường Sinh, Thể dục thần kinh, Thuốc bổ tinh-khí-thần, và Thuốc Trường Sinh. Thể loại Tài liệu lưu trữ gồm có: Âm nhạc, Anh ngữ, Điện toán, Kỹ thuật mạng, Nhạc cảnh, Phim ảnh, Thiền định, Tin tức thời sự, Việt ngữ, Võ thuật, Truyện ngắn, và Phong Thủy.

6. ☼ To disable and delete comments on all posts (and pages).
This note should be included in the database category.
use database_name;
UPDATE wp_posts
SET comment_status = ‘closed’, ping_status = ‘closed’
WHERE comment_status = ‘open’;
DELETE FROM wp_comments WHERE comment_approved = 0;
DELETE FROM wp_posts WHERE post_type = “revision”;

7. To backup entire database and archive in compressed format.
../bin/mysqldump -e –force –quick -uusername -ppassword wordpress_ndao > planet.wordpress_ndao.2013.12.23.sql &
tar czvf planet.dvdreplica.2013.12.23.sql.tar.gz planet.dvdreplica.2013.12.23.sql

8. Add detailed tree view of category and its subcategories.
9. List all posts with pagination. Limit icon display to the first five items.
Should make this feature as either a design template or a plugin.

10. Add drop down features for list of categories.

11. ☼ Child theme implementation (classroom-simplified).
11.1. Create a child theme folder. The only requirement is this style.css file with the line Template: parent-name. Close the heading session before putting in any comments.
11.2. screenshot.png to show what the modified theme looks like (300×230).
11.3. Duplicate the images/ folder for WordPress and other icons.
11.4. footer.php to change the footer copyright message.
11.5. archive.php to change to a summary (the_excerpt).
11.6. Customize theme with Categories/Calendar/Recent Posts/Archive(# posts)/Search
Change the title to normal case (the parent theme uses uppercase).
Change text-transform to none.
11.7. header.php to display a smaller header.
See changes in header and body section.
Need to make this as part of the template admin.
11.8. Flash video customizing (Youtube and WMVPlayer).

12. ☼ WordPress version 3.8 default font in the editing window is bad (updated 2/26/2014).
Changes to Verdana to be the same as the default font in excerp section, Verdana, 14px instead of the Consolas (wordpress/wp-includes/css/editor.min.css and also editor.css), search for this pattern:
wp-editor-area{font-family:Verdana,Arial,Consolas,Monaco,monospace;font-size:14px

13. The WordPress editor automatically removes the <br> and <p> tags if present when switching from Text to Visual. Blank lines are automatically converted to <br> tags if contents are *not* filtered. The addition of the MediaGallery plugin causes generated <br> tags to be filtered.

14. engine\wonderplugingallery.js, set fv=false to suppress the “Free Version” text. This gallery uses mp4 codec only.