[opencms-dev] Struts integration
Alexander Kandzior
alex at opencms.org
Mon Feb 10 11:37:18 CET 2003
Kenneth,
there is no specific reason why no Exception is thrown. You are free to
make suggestions or extensions.
Best Regards,
Alex.
Alexander Kandzior
Alkacon Software - The OpenCms Experts
http://www.alkacon.com
> -----Original Message-----
> From: owner-opencms-dev at www.opencms.org
> [mailto:owner-opencms-dev at www.opencms.org] On Behalf Of
> Kenneth Lewelling
> Sent: Saturday, February 08, 2003 9:18 PM
> To: opencms-dev at www.opencms.org
> Subject: RE: [opencms-dev] Struts integration
>
>
>
>
> Had a question about how the CmsEventListener is implemented.
> It would make things easier for me if
> CmsEventListener.cmsEvent could throw CmsExceptions, and I
> was wondering if there was a reason why it did not.
>
> Kenneth Lewelling
> http://opencmsstruts.sourceforge.net
>
> -----Original Message-----
> From: owner-opencms-dev at www.opencms.org
> [mailto:owner-opencms-dev at www.opencms.org]On Behalf Of
> Alexander Kandzior
> Sent: Friday, February 07, 2003 5:19 AM
> To: opencms-dev at www.opencms.org
> Subject: RE: [opencms-dev] Struts integration
>
>
> Kenneth (and Anil),
>
> we already do have a default mechanism for events in OpenCms
> since the early 5.0 betas. You should use that one instead of
> inventing a new one.
>
>
> To check out how this works, have a look at the JavaDoc of:
>
> com.opencms.flex.CmsEventListener
> com.opencms.flex.CmsEvent
>
> Also check out methods:
>
> com.opencms.core.A_OpenCms.addCmsEventListener()
> com.opencms.core.A_OpenCms.removeCmsEventListener()
> com.opencms.core.A_OpenCms.fireCmsEvent()
>
> And for a use-case in the current core:
>
> com.opencms.flex.cache.CmsFlexCache.CmsFlexCache() line 167
> com.opencms.flex.cache.CmsFlexCache.cmsEvent() (method)
> com.opencms.file.CmsObject.pulishProject() line 2556
> com.opencms.file.CmsObject.fireEvent() (method)
>
> The only core change required would be to add a
> "fireEvent(...)" after a file save operation in general (a
> good idea anyway, probaly also for copy / move / delete
> operations etc.). Your struts class could just register to
> listen for this "save" or "change" event(s) and then perform
> any action as needed.
>
> Best Regards,
> Alex.
>
> Alexander Kandzior
> Alkacon Software - The OpenCms Experts
> http://www.alkacon.com
>
>
>
>
>
>
>
> > -----Original Message-----
> > From: owner-opencms-dev at www.opencms.org
> > [mailto:owner-opencms-dev at www.opencms.org] On Behalf Of Kenneth
> > Lewelling
> > Sent: Friday, February 07, 2003 5:47 AM
> > To: opencms-dev at www.opencms.org
> > Subject: RE: [opencms-dev] Struts integration
> >
> >
> > Anil,
> >
> > Wow that sounds like it would be perfect. I'll work around the
> > configuration editing untill your release.
> >
> > Thanks
> > Kenneth Lewelling
> > http://opencmsstruts.sourceforge.net
> >
> > -----Original Message-----
> > From: owner-opencms-dev at www.opencms.org
> > [mailto:owner-opencms-dev at www.opencms.org]On Behalf Of Anil K Patel
> > Sent: Thursday, February 06, 2003 8:41 PM
> > To: opencms-dev at www.opencms.org
> > Subject: Re: [opencms-dev] Struts integration
> >
> >
> > Kenneth,
> > We can make OpenCMS perfom specific action on file save.
> > I am very close(just few days) to Releasing a Applet Based
> Source code
> > and WYS... Editor integrated with OpenCMS. Also There is another
> > motivation for you to use this Editor, Source Editor is XML syntex
> > aware. If you want I can extend it to fire event on file Save.
> >
> > Regards
> > Anil K Patel
> > Aditisoft Inc
> > www.aditisoft.com
> >
> >
> >
> >
> >
> > not perform a specific action w
> > --- Kenneth Lewelling <klewelling at curoalemanz.com> wrote:
> > > Hello again.
> > >
> > > I am working on the Struts integration and ran into a small
> > problem.
> > > As far as I can tell there is no way to perform a specific
> > action when
> > > a document
> > > in the sourcecode editor is saved. If this is not the case please
> > > ignore the rest of this message and just let me know how.
> > >
> > > First I will present a little background on why I want to
> do this,
> > > then a possible solution I thought up. Struts uses a
> configuration
> > > file, usualy name struts-config.xml (Struts can have more
> than one
> > > configuration file you
> > > would just change the name or the namespace). For Struts to be
> > > integrated
> > > into OpenCms this file will need to be editable within OpenCms. My
> > > solution
> > > to this was add a new folder beneath the system folder in the VFS,
> > > where
> > > each Struts application in OpenCms has its own folder. Within the
> > > Struts
> > > folder is its configuration file. This file is not intended to be
> > > edited
> > > within the VFS, and I address this problem below in the possible
> > > solution.
> > > The file is suppose to be edited within the Struts item in the
> > > Administrative view.
> > >
> > > The sourcecode editor will work fine for editing the
> file, however
> > > once the file is saved I need a way to resync the "Action"
> > resouces in
> > > the VFS (If
> > > you are not sure what an "Action" resource is please refered to
> > > http://opencmsstruts.sourceforge.net/srs.html , pay special
> > attention
> > > to UC4
> > > and UC5). A corollary to syncing with the VFS is parsing the
> > > configuration file and check it against itd dtd, and if it isn't
> > > correct do not save the
> > > file and allow the user to fix the problem.
> > >
> > > Here is a possible solution:
> > >
> > > Add a new method to the I_CmsResourceType interface called
> > > resourceEdited()
> > > (or something) that informs the Resource that its contents
> > have been
> > > changed and are about to be saved. Then in the CmsEditor,
> > just before
> > > the file is
> > > saved, call the resourceChanged() method. If the method returns
> > > false, or throws an exception then the user is forwarded
> to an error
> > > page and told the
> > > file could not be saved for whatever reason, and then
> forwarded back
> > > to the
> > > editor page.
> > >
> > > With this additional method I could create a new Struts
> > Configuration
> > > resource type that implements the resourceEdited() method.
> > That method
> > > can parse the configuration file to make sure it is syntacticly
> > > correct then syncronize the "Action" resources in the VFS.
> > >
> > > I wanted to ask this because my solution requires a change
> > to a major
> > > interface and wanted to make sure it was the correct thing to do.
> > >
> > > Thank you for any comments
> > > Kenneth Lewelling
> > > http://opencmsstruts.sourceforge.net
> > >
> >
> >
> > =====
> > Regards
> > Anil K Patel
> > Aditisoft Inc
> > www.aditisoft.com
> >
>
>
More information about the opencms-dev
mailing list