From: Peter S. <peter.smulovics@FATHOMTECHNOLOGY.com> - 2003-12-11 14:30:13
|
Subject: To clear project plan up Hi! I was speaking with Cort one day about the project through MSN, here is the log. This clears up some misunderstanding about the project. I added some minor details to the original conversation, so Cort, don't be surprised. >From this log will be the faq written some day, too :) Szoke says: so, my vision is a portal engine Szoke says: based on nvelocity Szoke says: working from a DB, well formed Szoke says: with less or more the structure already designed Szoke says: and you could develop the site with just using the templates, and a winform/webform admin tool Szoke says: the main power is the easy-to-extend infrastructure Szoke says: custom data provider, custom object provider, custom postback provider, etc Szoke says: so somebody develops a module for guestbooks, and it can be reused just by inserting the dll into the plugin folder, referencing it from the admin tool, than designing a UI for it Szoke says: do you feel it? Cort says: ok - I think I get the ease. Szoke says: easy to maintain, easy to extend - these are the keywords Cort says: so what kind of user would be the one adding the new content - it didn't look like the data structure was meant for someone with skill in HTML layout Szoke says: so one would be able to use the everyday HTML editor with some special #foreach and $value tags Szoke says: and the other would fill up these pages with data Szoke says: let's give an example: Cort says: how current is the code in CVS - I noticed the other day that there was some commits (although SF is still having problems with stats) Szoke says: http://www.theater.hu/archivum/bekescsaba/villamfenynel/villamfeny.html Szoke says: this site is done on top of the same infrastructure Szoke says: perl, mysql Szoke says: but not opensource, and really not easy to understand Cort says: ..I see where your example comes from now Szoke says: :) Szoke says: yeah, this is my site Szoke says: so, to make a portal with lot of data, it would be much easier than ever to fill up, and to maintaince Cort says: ok, so what you are thinking is that if you have many similar pages, you can have 1 template and the context can be created from data that is retrieved from the database. right? Szoke says: yeah Szoke says: and the same applies for special uses like guestbooks, at a guest book page, from the db many objects are created, and these small objects has properties to expose these values, than it goes out in a #foreach, and vo'la, there is the guestbook Szoke says: you just need a custom INVWPostBack implementation to handle the add event, and it's ready Cort says: ..and I guess there would be no need to store data about the page data and the template as you would only link to templates with query string reference that made sense. Szoke says: small object is like=20 struct GuestBookLine{ string Name; string Text; DateTime Published } Szoke says: than=20 #foreach($obj in $guestbooklines) Name: $name #end Cort says: and that data would be persisted in some other table (defined by the plugin object)? Szoke says: no, that's the value of the whole thing! Szoke says: there is the data in the table, having the key, that they belong to this page (of course, there are manymanymany guestbooks, you know, mass hosting), gets many lines, than the plugin forms from the already given data columns a new column with the custom object Szoke says: you see? Cort says: so for a complex object, you would totally denormalized it and store it more or less in name/value pairs. Cort says: how would a guestbook object be able to get all of the "guest" from the data and not confuse it with other data? Szoke says: yes, that would make the maintaince much easier, and the programming against much easier for the beginner programmers Szoke says: for advanced programmers this wouldn't look familiar, but for a beginner it's a big value, that the object modell is veryvery light Szoke says: that comes from the DB structure Szoke says: it needs a bit modification, I know, but this would be done by the plugin at install time Cort says: hmmm... I will have to think about it some more - now that I understand what you were thinking. Cort says: content management keeps coming up with clients that I am working with and the stuff that I have reviewed has not been enough for what some have needed. Szoke says: I think about a one table database (of course that one table would go over many to be able to give the query optimizer better hints), like each page gets an integer id, and by the last digit of the id, the name of table changes from Data0 to Data9 (this was used at the theater.hu site to reduce workload on db table) Szoke says: And some ideas about the admin part, it should be an empty plugin system (reusable ! :) ) without DB or editing thingy, all this core functionality will be done with the help of plugins too. Peter, still not having any time to work on it, but hopes, that it will change |