Subject: Re: New API specification From: Vic Cekvenich <[EMAIL PROTECTED]> === CRUD is a DB term. It stands for Create (Insert), Read (Select), Update and Delete. Struts does a lot, but not CRUD. RowSet does nice CRUD.
Master Detail - Say you have a list of customers that have invoice. Customers are the master record in a join, invoices are detail. Navigation - You should have one place to change your site navigation, no matter how many pages you have. I use "Struts-menu" from Ted's site. Audit - Some users need to track how many displays / exposures and click troughs you have of something. A collection like a linked list can Q it up. RSS - Is a way to display content. Basically I create a table with a description, image, and text. It can be feed externally by RSS Syndicated content providers. But mostly people internally write an article in a DB, and a page just displays the text in the DB. hth (hope this helps) Ciao Vic Thomas Eichberger wrote: > Hi Vic, > > hm, could you please help me with some details, I'm not sure, what you > mean by some of the following terms. I also would like to know HOW you > implemented those things or what tools you need (I'm very curious): > > CRUD - what does that stand for (I'm not completely stupid, I just > missed this one;-) > > Master/Detail processing > > navigation > > collection for audit tracking > > RSS > > > Would be very nice from you to supply some information... > > Ciao > > Thomas > > > > At 08:25 10.01.2002 -0800, you wrote: > >> Subject: Re: New API specification >> From: Vic Cekvenich <[EMAIL PROTECTED]> >> === >> Hello Sandra, >> In general, I would say the less technology applied in the framework the >> better, but still make the framework do the heavy pulling. 80/20 staves >> it should be 20 % of things you use 80% of time (so not everything). I >> think it is more flexible. >> >> I think that minimum should be: Struts MVC, container security, CRUD, >> Master/Detail processing, navigation, a collection for audit tracking, >> RSS for displaying content, (client side) XSLT and Tiles and not much >> more. >> >> Otherwise it is a complex design that is a lawnmower that is also a >> submarine and a bulldozer. Elegance is key. >> (Ex: Anyone can build a bridge using lots of material and time. However >> an engineer can figure out how thin a cable can be and meet the >> requirements) >> Jet speed is to big to be productive, or to maintain and it takes a >> while to learn. Struts is just MVC, that is pretty much it. I just add >> RowSet for a simple CRUD and done. >> I used to think complex is more sophisticated, but found out that less >> is more. >> >> my 2 c. >> Vic >> >> ps: I will hold a Struts Class during the JavaOne, so I will have a room >> that holds 60 or so. Do we want to set up a 4 hour Struts conference, >> say on Thursday, have a few of us present (you, Ted, me, etc. for 30 >> minutes each?) >> >> ps 2: >> For the Struts group, here is a RowSet snippet CRUD that auto updates, >> inserts and deletes, regardless of the number and type of columns. I >> just put it in my base FromValidatorBean. Based on a select String this >> knows how to update. Simple enough? >> >> update(){try{ >> >> dbCon(); // my method to connect to connection pool >> _crs.updateRow(); // rowSet update. _crs is what geters and >> setters go against >> _crs.acceptChanges(getCon()); >> dbDisCon(); >> >> } catch (Exception e) { procE(this,e);} // my debug method >> return 0;} >> >> >> >> >> Sandra Cann wrote: >> >> > I was getting caught up on the Jetspeed list and just read the thread >> > discussing integrating different frameworks including Struts with >> Jetspeed. >> > I would be interested in hearing from people interested in using >> Jetspeed >> > with Struts and perhaps doing some collaboration on this effort. >> > >> > Sandra Cann >> > [EMAIL PROTECTED] >> > >> > >> >>-----Original Message----- >> >>From: Ignacio J. Ortega [mailto:[EMAIL PROTECTED]] >> >>Sent: Sunday, December 23, 2001 4:00 PM >> >>To: 'Jetspeed Developers List' >> >>Subject: RE: New API specification >> >> >> >> >> >> >> >>>De: Thomas Schaeck [mailto:[EMAIL PROTECTED]] >> >>>Enviado el: domingo 23 de diciembre de 2001 11:46 >> >>> >> >>>A portlet container needs not be tied to any particular >> >>>framework, e.g. an >> >>>architecture like this can avoid any dependency of a portlet container >> >>>implementation to the framework on which a portal that uses >> >>>the container >> >>>is built: >> >>> >> >>> >> >>Agreed, i was confusing the terms, talking about the mix of portlet >> >>container and portal implementation.. >> >> >> >> >> >>> Portal | Portlet Runtime Env >> >>>+------+ +-------+ | +---------+ +-------+ >> >>>|+------+ |Portlet| | |Portlet | |+-------+ >> >>>+|Portal|<->|Invoker|<-|->|Container|<->+|Portlet|+ >> >>> +------+| | I/F | | | | +-------+| >> >>> +------+ +-------+ | +---------+ +-------+ >> >>> >> >>>The portal could be based on any framework, be it Struts, Turbine, or >> >>>something else. Also, many different portals may use the same >> >>>comtainer. >> >>> >> >>> >> >>JetSpeed 2 will be a the sum of 3 things instead of 2: >> >> >> >>1) Portlet Container and Portlet Specs.. >> >> >> >>2) A Portlet Container Implementation, independent of any framework >> >> >> >>3) A Portal implementation, framework dependant.. >> >> >> >> >> >> >> >>>Typically, the portal needs to call portlets for purposes such as >> >>>dispatching events (e.g. action events or window events) to >> >>>portlets so >> >>>they can react on those events and for obtaining markup from >> >>>portlets. The >> >>> >> >> >> >>Which is your idea of the methods to transmit markup between layers? >> >>like it's now? adding SAX to the mix? >> >> >> >> >> >>>PortletInvoker interface to be used by portal implementations >> >>>for invoking >> >>>portlets needs to have corresponding methods that are >> >>>additionally taking >> >>>portlet identifiers and portlet instance identifiers as >> >>>parameters that >> >>>identify the target portlets to invoke. >> >>> >> >>>Best regards, >> >>> >> >>>Thomas >> >>> >> >>> >> >>Many Thanks .. for jump in and the brief clarification.. still >> >>learning.. I need urgently to read the portlet spec present in the CVS >> >>;) >> >> >> >> >> >>Saludos , >> >>Ignacio J. Ortega >> >> >> >> >> >> >> >>-- >> >>To unsubscribe, e-mail: >> >> >> > <mailto:[EMAIL PROTECTED]> >> > For additional commands, e-mail: >> > <mailto:[EMAIL PROTECTED]> >> > >> > >> > -- >> > To unsubscribe, e-mail: >> <mailto:[EMAIL PROTECTED]> >> > For additional commands, e-mail: >> <mailto:[EMAIL PROTECTED]> >> > >> >> >> -- >> To unsubscribe, e-mail: >> <mailto:[EMAIL PROTECTED]> >> For additional commands, e-mail: >> <mailto:[EMAIL PROTECTED]> > > > Thomas Eichberger - Software und Schulungen - Spezialisiert auf Java > A-1230 WIEN, Endresstr. 103/3 > phone/box/fax: 01-8861685 Web: www.java.at E-Mail: [EMAIL PROTECTED] > "Every job is a self-portrait of the person who did it. Autograph yours > with excellence." > "For every complex question there is an answer that is clear, simple and > wrong." > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>