|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Sat Sep 25, 2004 11:39 pm
More Design Documents |
I added a lot more design documents to the Knowledge Base today. As I expected, writing this down really did help me clarify some issues relating to implementation that I was having.
The key to what I was getting stuck on is the "Cache" field in the Message Store object. Adding this field *really* helps and was the key missing piece of the puzzle.
Basically, this field lets you implement a chain of Message Stores. For example, you can have an IMAPStore that interfaces to a remote IMAP Server and then set it's Cache field to a local FileStore object.
Whenever you request a message from the message store, it will first look in the Cache, and if not found, then fetch it from the current store. So in this example, it would first look in the File Store and if not found, only then fetch it from the IMAP Server.
You can chain these together. So, for example, you could set the Cache field of the IMAPStore to point to an SQLStore. Then you can point the Cache field of the SQLStore to a FileStore. This would create a local cache in a file. When fetching a message, it would first look in the File Store, then look in the SQL Store (a remote SQL database), and only if still not found would it then fetch it from the IMAP Server.
Take a look at the design documents and let me know what you think.
I also had to spend an hour tracking down a bug in the Knowledge Base system that was messing with all of the special characters like " ' < and > in my articles. Seems like a bug in the Knowledge Base since I don't see this problem in normal forum posts. I don't think they are calling the various bbcode routines in the correct order. I fixed this finally by adding a string replacement in the bbcode routine itself because it looks like it's the data stored in the database that got converted incorrectly before being stored.
I'm probably still going to need to spend more time really understanding where the bug is. But my fix at least let me continue working on the documentation without it messing with my text.
Oh yeah, last night I got near the very end of Star Ocean 3 and, as usual, it got too hard and frustrating. So, I started playing my rental of Fable that I've had from Gamefly for a few days. I'm enjoying this XBox game a lot. I've heard that it's very short, but I always take a *lot* longer than most of the kids that complain about stuff like that, and so far I'm very happy with it. |
|
|
|
slicertool Magician
Joined: 09 Oct 2003 Posts: 459 Location: USA
|
Posted: Mon Sep 27, 2004 3:39 am |
It sounds like it isn't calling
Code: |
htmlspecialchars($string); |
in the php code in that case. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Sep 27, 2004 4:40 pm |
Yeah, it's actually more complex than that. In the phpBB code there are several lines of code dealing with both storing posts and retrieving posts that handle the encoding and decoding of bbcode. The comments say stuff like "MUST be in the correct order to work". When I look at the Knowledge Base code, it looks like it is based upon an older version of phpBB code since the lines are different and not in the same order at all. It's more than a single line change of code, so it will have to wait till I have time to really go over it.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Sep 27, 2004 4:41 pm |
By the way, people should *not* post comments here or in the Knowledge Base yet about broken links. When I'm writing documents, I am inserting links to *planned* documents that do not exist yet. I expect that the *Design* section will always be a bit incomplete and might have broken links. You only need to report documents outside of the Design area that have broken links. The Design area should be considered a work in progress.
|
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|