[xmlWiki-developers] Foundation classes & Tomcat
Brought to you by:
elhugo
From: Jim K. <ka...@ie...> - 2001-10-28 02:07:23
|
Tomcat - The main reason I recommended 3.2.3 is simplicity on the part of linux. To move to 4.0 will require significant effort on my part which may not result in a more useful platform (for the project, that is). The problem is that 4.0 comes only as source and RPM, not Debian packages. To build the source requires a later version of java than the standard Debian package. Getting THAT to run requires getting libstdc++ libraries working at the right version,... and on it goes. A lot of companies customize things for Redhat these days instead of linux in general. The important question is (and I can't answer is), will we need to make use of the newer API features? If so, I have no problem with biting the bullet and getting it all going. If not, I'd rather devote my time to coding as opposed to installing right now. Though I'm surprised I'm saying this, it's unfortunate that the setup isn't as convenient as Windows (ie. download and go). Foundation classes - > >>WikiPage - Encapsulates one page, however that is represented, and will > >>be passed around from the database, parser, HTML generator, etc... > So the responsibility of this class is to get encapsulate the a page. > Would it be responsible in setting it's own state or would its state be > set by another entity? WikiPage objects will have both open an restricted aspects. The data will be changeable by the public, but fields like ID and such will be managed either at construction or by authorized parties (ie a database). This class will lean very much toward the data side of the spectrum. It is almost like a struct, a but a few methods will probably be involved to keep track of things like versions, last update time, etc. I was more interested in wrapping up a String so we have something more flexible to pass around until we know exactly what we want. > >>WikiContext - This would be a singleton which would contain common > >>configuration information. Users typically call getInstance() on it, and > >>then use that object to learn about the environment, policies/setting, and > >>get references to other objects. > > Which objects interarct with this one? > Everyone who wants to know global information. ie. there will be one WikiDB for the system, and WikiContext would be the class to give it to you. Any class that needs to write or read pages will probably need this. I would think that future semaphoric concerns might involve this class too. > >>WikiDB - Abstracts the database functions. One would probably call > >>getLocalDB() on a WikiContext object to get a reference, and then this > >>class would handle page creation/deletion/retrieval/update. I would expect > >>that most of the functions would be passing WikiPage references. The guts > >>of this class would then attach to a production DB, text file interface, > >>etc. > >> > So, this is the class responsible in managing the connections to the > page repository? Who would call the getLocalDB()? > Yes. Again the Browse, Edit, Preview classes (many others, probably) would need a reference to the main DB interface. Debbie and I got the basics of those three classes written today. We'll finish the comments and check things into CVS within a couple of days. As we have it now, anyone can get a reference to the database which will let them create, retrieve, and update simple WikiPage objects by name. The underlying storage scheme, as implemented by WikiDB, is probably temporary (it's not portable, that's for sure), but all of that mess is well out of sight from the users. Regards, Jim |