Tôi muốn hiểu cách hoạt động của wiki, ít nhất là từ mức cao. Khi người dùng lưu thay đổi, nó luôn chèn một hàng mới trong cơ sở dữ liệu cho bài viết wiki đó (10 bản sửa đổi, 10 hàng trong cơ sở dữ liệu).Điều gì sẽ xảy ra khi bạn sử dụng wiki của riêng mình bằng C# và sql?
Trả lời
Tôi đồng ý với tất cả các câu trả lời. Wikis thường xử lý mọi chỉnh sửa dưới dạng bản ghi mới bên trong cơ sở dữ liệu.
Bạn có thể muốn xem toàn bộ số Layout of the MediaWiki database diagram, công cụ wiki phía sau Wikipedia.
Layout of the MediaWiki database diagram http://img22.imageshack.us/img22/3953/wikix.jpg
Lưu ý rằng toàn bộ văn bản của mỗi phiên bản được lưu trữ trong một lĩnh vực MEDIUMBLOB
trong bảng text
.
Vâng, đúng vậy. Nếu không, nó sẽ không thể nhìn thấy lịch sử trang đầy đủ, đó là những gì mong đợi từ một thực hiện Wiki.
Mọi mục nhập bên trong của wiki là một mục nhập mới bên trong cơ sở dữ liệu. Cách sửa đổi đó có thể được theo dõi. Đó là tất cả về cộng đồng và theo dõi. Phía sau hậu trường, cơ sở dữ liệu lưu trữ ngày giờ, các thay đổi được thực hiện, v.v.
Có.
...
Có vẻ hơi ngắn. Hãy chỉ nói rằng bạn phải lưu trữ bài viết gốc và sau đó chi tiết về từng thay đổi sau đó. Vì vậy, bạn có thể có một bảng Điều và một bảng Revision. Bằng cách đó bạn có thể quay trở lại trạng thái trước đó bất kỳ.
Tất nhiên thiết kế của các bảng, logic đằng sau tước văn bản sửa đổi từ bản gốc và lưu trữ riêng biệt này là khá phức tạp.
Đây là blog của dev cho TWiki có thể cung cấp cho bạn một số thông tin hữu ích. http://twiki.org/cgi-bin/view/Blog/WebHome?category=Development.
Sql có phải là yêu cầu của dự án không? Có rất nhiều chuyển động xung quanh NoSql vào lúc này và một wiki có vẻ phù hợp với cơ sở dữ liệu lưu trữ tài liệu. Bạn có thể tìm thấy một số thông tin về điều này tại đây http://nosql-database.org/.
Có triển khai trên Codeplex tại http://wikiplex.codeplex.com/. Đây là từ một bài đăng khác trên stackoverflow asp.net mvc wiki.
Tôi vừa mới viết một wiki trong C#. Một điều tôi sẽ thêm vào ý kiến của người khác là bạn sẽ muốn chắc chắn rằng bạn có thể so sánh hai phiên bản. Để thực hiện việc này trong C#, tôi khuyên bạn nên triển khai C# của thư viện diff_match_patch từ Google. Nó khá nhanh và nó khá dễ dàng để mở rộng nếu bạn cần nhiều hơn trong cách in ấn đẹp hoặc xử lý văn bản có cấu trúc như HTML.
Bạn có thể muốn kiểm tra xem có thể sử dụng công cụ điều khiển phiên bản cho phần văn bản hay không (vì người dùng có thể vẫn cần một cơ sở dữ liệu) vì hầu hết các hệ thống kiểm soát phiên bản đều có các chức năng cần thiết (history, diffing, log entries) thay đổi, ...) sẽ giúp bạn tiết kiệm rất nhiều công sức.
- 1. Điều gì sẽ xảy ra khi bạn đóng ứng dụng bảng điều khiển C++
- 2. Điều gì sẽ xảy ra khi bạn gọi một phương thức tĩnh trong C#?
- 3. Điều gì sẽ xảy ra khi ném ngoại lệ C++?
- 4. Sử dụng pin, điều gì sẽ xảy ra?
- 5. Điều gì sẽ xảy ra khi Stack và Heap Collide
- 6. Điều gì sẽ xảy ra khi bạn đóng tệp bằng mã hóa Được bảo vệ trừ khi mở 'của iOS?
- 7. điều gì sẽ xảy ra nếu bạn sử dụng attribute_to mà không có has_one tương ứng?
- 8. Điều gì sẽ xảy ra sau khi gói bị bắt?
- 9. Điều gì sẽ xảy ra khi tôi biên dịch?
- 10. Trong Java, điều gì sẽ xảy ra nếu bạn sử dụng Double.NaN trong một hoạt động?
- 11. Điều gì sẽ xảy ra khi va chạm băm xảy ra trong khóa Từ điển?
- 12. Điều gì sẽ xảy ra khi tham chiếu C++ rời khỏi phạm vi của nó?
- 13. Điều gì sẽ xảy ra khi mongodb hết bộ nhớ?
- 14. Điều gì sẽ xảy ra khi chúng tôi đặt Xmx và Xms bằng kích thước
- 15. điều gì sẽ xảy ra khi bạn nhập những thứ như 12ab vào scanf ("% d", & argu)?
- 16. ID mở - Điều gì xảy ra khi bạn quyết định không thích nhà cung cấp hiện tại của mình?
- 17. Điều gì có thể xảy ra khi ném một ngoại lệ dành riêng trong C#?
- 18. Điều gì sẽ xảy ra khi sử dụng một đối tượng sau FreeAndNil?
- 19. Điều gì đang xảy ra khi sử dụng DISTINCT?
- 20. Điều gì xảy ra khi bạn nhấn giới hạn SQL Server Express 4GB/10GB?
- 21. Điều gì sẽ xảy ra trong tương lai của C# trong 10 năm tới?
- 22. Điều gì sẽ xảy ra trong bộ nhớ khi lớp C++ được khởi tạo
- 23. Điều gì sẽ xảy ra khi gán cấu trúc mới cho mảng trong C#?
- 24. Điều gì sẽ xảy ra với cơ sở dữ liệu Sqlite khi ứng dụng bị xóa
- 25. Điều gì sẽ xảy ra khi chuyển tham chiếu đến chữ trong C++?
- 26. điều gì sẽ xảy ra trong scala khi tải các đối tượng mở rộng ứng dụng?
- 27. Điều gì sẽ xảy ra khi cài đặt lại nhóm ứng dụng?
- 28. Điều gì sẽ xảy ra khi quyền được tắt với tính năng mới của OS 4.3?
- 29. Điều gì sẽ xảy ra nếu tôi không đóng System.Diagnostics.Process trong ứng dụng giao diện điều khiển C# của tôi?
- 30. Điều gì sẽ xảy ra nếu tôi ReleaseMutex() hai lần?