I have a requirement to display CMS managed content the ecommerce app.
I think that what I have to do is to use content/viewContent.ftl, but I am unsure how to invoke this, and what I need to pass to it to refer to either specific document in the CMS. I am also unsure how to enter suitable documents in the CMS. Lets take an example, I have a page which is managed through the CMS which is the physical location of the store, with links to a map and a travel directions etc. I presume that I set up this page using the Content Manager Application, and I have found a place to create a new Content item and give it a name, mime-type etc, but I have yet to find where I actually create the content itself, i.e either upload a file or type in the content. Having created it with a name, I guess I need to pass that to viewContent.ftl in order that it be displayed. Say I was passing it from a Menu item, I guess that I am going to invoke it with an <A> tag, something like:- <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is content/viewContent?) but I am unsure how I pass in the ID of the content I want to view. Are there any guides to using CMS managed content in the emcommerce app? David |
Hi David,
I had tried alfresco with ofbiz. On 9/26/07, David Goodenough <[hidden email] > wrote: > > I have a requirement to display CMS managed content the ecommerce app. > > I think that what I have to do is to use content/viewContent.ftl, but I > am unsure how to invoke this, and what I need to pass to it to refer > to either specific document in the CMS. I am also unsure how to > enter suitable documents in the CMS. > > Lets take an example, I have a page which is managed through the CMS > which is the physical location of the store, with links to a map and > a travel directions etc. > > I presume that I set up this page using the Content Manager Application, > and I have found a place to create a new Content item and give it a > name, mime-type etc, but I have yet to find where I actually create > the content itself, i.e either upload a file or type in the content. > > Having created it with a name, I guess I need to pass that to > viewContent.ftl > in order that it be displayed. Say I was passing it from a Menu item, > I guess that I am going to invoke it with an <A> tag, something like:- > > <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is > content/viewContent?) > but I am unsure how I pass in the ID of the content I want to view. > > Are there any guides to using CMS managed content in the emcommerce app? > > David > |
Hi David,
First upload your content to cms server with the similar url pattern as in ofbiz(for images use productid as the name of the image in cms, normally that is the way it happens). then make the necessary change in framework/webapp/config/url.properties. <ofbizContentUrl> tag will generate the suitable url as configured in url.properties. in the catalog management part just use the id of image. no need to upload image. Regards, Abhishake On 9/26/07, Abhishake Agarwal <[hidden email]> wrote: > > > Hi David, > I had tried alfresco with ofbiz. > On 9/26/07, David Goodenough < [hidden email] > wrote: > > > > I have a requirement to display CMS managed content the ecommerce app. > > > > I think that what I have to do is to use content/viewContent.ftl, but I > > am unsure how to invoke this, and what I need to pass to it to refer > > to either specific document in the CMS. I am also unsure how to > > enter suitable documents in the CMS. > > > > Lets take an example, I have a page which is managed through the CMS > > which is the physical location of the store, with links to a map and > > a travel directions etc. > > > > I presume that I set up this page using the Content Manager Application, > > > > and I have found a place to create a new Content item and give it a > > name, mime-type etc, but I have yet to find where I actually create > > the content itself, i.e either upload a file or type in the content. > > > > Having created it with a name, I guess I need to pass that to > > viewContent.ftl > > in order that it be displayed. Say I was passing it from a Menu item, > > I guess that I am going to invoke it with an <A> tag, something like:- > > > > <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is > > content/viewContent?) > > but I am unsure how I pass in the ID of the content I want to view. > > > > Are there any guides to using CMS managed content in the emcommerce app? > > > > > > David > > > > |
On Wednesday 26 September 2007, Abhishake Agarwal wrote:
> Hi David, > > First upload your content to cms server with the similar url pattern as in > ofbiz(for images use productid as the name of the image in cms, normally > that is the way it happens). then make the necessary change in > framework/webapp/config/url.properties. > > <ofbizContentUrl> tag will generate the suitable url as configured in > url.properties. > > in the catalog management part just use the id of image. no need to upload > image. use an external CMS. So I MUST upload the document to Ofbiz otherwise it can not serve it. David > > Regards, > Abhishake > > On 9/26/07, Abhishake Agarwal <[hidden email]> wrote: > > Hi David, > > I had tried alfresco with ofbiz. > > > > On 9/26/07, David Goodenough < [hidden email] > wrote: > > > I have a requirement to display CMS managed content the ecommerce app. > > > > > > I think that what I have to do is to use content/viewContent.ftl, but I > > > am unsure how to invoke this, and what I need to pass to it to refer > > > to either specific document in the CMS. I am also unsure how to > > > enter suitable documents in the CMS. > > > > > > Lets take an example, I have a page which is managed through the CMS > > > which is the physical location of the store, with links to a map and > > > a travel directions etc. > > > > > > I presume that I set up this page using the Content Manager > > > Application, > > > > > > and I have found a place to create a new Content item and give it a > > > name, mime-type etc, but I have yet to find where I actually create > > > the content itself, i.e either upload a file or type in the content. > > > > > > Having created it with a name, I guess I need to pass that to > > > viewContent.ftl > > > in order that it be displayed. Say I was passing it from a Menu item, > > > I guess that I am going to invoke it with an <A> tag, something like:- > > > > > > <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is > > > content/viewContent?) > > > but I am unsure how I pass in the ID of the content I want to view. > > > > > > Are there any guides to using CMS managed content in the emcommerce > > > app? > > > > > > > > > David |
In reply to this post by David Goodenough
I am not sure, if I got your question correctly. However, if you are
looking for managing the contents of your products, categories (e.g. name, description etc), have a look on the data resource. Look at the application/ecommerce/data/DemoProductI18nData.xml and applications/ecommerce/data/DemoProductCategoriesI18nData.xml files. They are example of how to create internationalization of your product and categories and managed through CMS. Thanks, Raj David Goodenough wrote: > I have a requirement to display CMS managed content the ecommerce app. > > I think that what I have to do is to use content/viewContent.ftl, but I > am unsure how to invoke this, and what I need to pass to it to refer > to either specific document in the CMS. I am also unsure how to > enter suitable documents in the CMS. > > Lets take an example, I have a page which is managed through the CMS > which is the physical location of the store, with links to a map and > a travel directions etc. > > I presume that I set up this page using the Content Manager Application, > and I have found a place to create a new Content item and give it a > name, mime-type etc, but I have yet to find where I actually create > the content itself, i.e either upload a file or type in the content. > > Having created it with a name, I guess I need to pass that to viewContent.ftl > in order that it be displayed. Say I was passing it from a Menu item, > I guess that I am going to invoke it with an <A> tag, something like:- > > <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is content/viewContent?) > but I am unsure how I pass in the ID of the content I want to view. > > Are there any guides to using CMS managed content in the emcommerce app? > > David > > |
In reply to this post by David Goodenough
On Wednesday 26 September 2007, David Goodenough wrote:
> I have a requirement to display CMS managed content the ecommerce app. > > I think that what I have to do is to use content/viewContent.ftl, but I > am unsure how to invoke this, and what I need to pass to it to refer > to either specific document in the CMS. I am also unsure how to > enter suitable documents in the CMS. > > Lets take an example, I have a page which is managed through the CMS > which is the physical location of the store, with links to a map and > a travel directions etc. > > I presume that I set up this page using the Content Manager Application, > and I have found a place to create a new Content item and give it a > name, mime-type etc, but I have yet to find where I actually create > the content itself, i.e either upload a file or type in the content. > > Having created it with a name, I guess I need to pass that to > viewContent.ftl in order that it be displayed. Say I was passing it from a > Menu item, I guess that I am going to invoke it with an <A> tag, something > like:- > > <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is > content/viewContent?) but I am unsure how I pass in the ID of the content I > want to view. > > Are there any guides to using CMS managed content in the emcommerce app? > > David Looking at the way the Store Policies are displayed it would appear that I need to create a document with a content-id of "WebStoreCONTENT" and a map-key appropriate to the thing I want to display. <sub-content content-id="WebStoreCONTENT" map-key="policies"/> But I do not know how to view or edit this item (the policies document) or to create a new one. Can someone give me step by step instructions to get to the right place as I am currently lost. David |
On Wednesday 26 September 2007, David Goodenough wrote:
> On Wednesday 26 September 2007, David Goodenough wrote: > > I have a requirement to display CMS managed content the ecommerce app. > > > > I think that what I have to do is to use content/viewContent.ftl, but I > > am unsure how to invoke this, and what I need to pass to it to refer > > to either specific document in the CMS. I am also unsure how to > > enter suitable documents in the CMS. > > > > Lets take an example, I have a page which is managed through the CMS > > which is the physical location of the store, with links to a map and > > a travel directions etc. > > > > I presume that I set up this page using the Content Manager Application, > > and I have found a place to create a new Content item and give it a > > name, mime-type etc, but I have yet to find where I actually create > > the content itself, i.e either upload a file or type in the content. > > > > Having created it with a name, I guess I need to pass that to > > viewContent.ftl in order that it be displayed. Say I was passing it from > > a Menu item, I guess that I am going to invoke it with an <A> tag, > > something like:- > > > > <a href="<@ofbizUrl>viewContent</@ofbizUrl>" (or it is > > content/viewContent?) but I am unsure how I pass in the ID of the content > > I want to view. > > > > Are there any guides to using CMS managed content in the emcommerce app? > > > > David > > Looking at the way the Store Policies are displayed it would appear that I > need to create a document with a content-id of "WebStoreCONTENT" and a > map-key appropriate to the thing I want to display. > > <sub-content content-id="WebStoreCONTENT" map-key="policies"/> > > But I do not know how to view or edit this item (the policies document) or > to create a new one. > > Can someone give me step by step instructions to get to the right place as > I am currently lost. > > David Well I found that, by using ContentManager-DataResources I found the STORE_POLICIE and STORE_POLICIE2 documents, and I think I now understand how to create and edit them. I think I also understand how to create new Content, attach it to a document and assign it a parent. What I do not understand is how the map-key=policies" maps to the document ID STORE_POLICIE. Can anyone help - please. David |
In reply to this post by David Goodenough
OK, well I managed to get it to work after lots of digging.
One thing I am unsure about is the question of associations. For a start at a programming level you are working with an attribute called map-key, finding that this relates to an Association on a Content item is not exactly intuitive. Then I found that it was unclear whether you have to associate the "parent item" (WebStoreContent in this case) with the new item, or the new item with WebStoreContent, or both? If you look in the Association page there are two buttons at the top, Create New and Create New Association, they both seem to do the same thing and there is only one button (Create) at the bottom of the form. Then there are two list, the "Edit Content Association For:...." list and under that the "List Association To:..." list. It is totally unclear what these two lists are, and how you get things onto them - at least when you first start. This brings me to a suggestion. These data entry forms are very bare, they really do not help you to use them. There are no tooltips to provide indications of what the fields do. They are also no indications (until you get an SQL error message in the teeth telling that a required column is not present in the INSERT) as to which fields are required. Also given the amount of white space on the forms, a little bit of explanatory text telling you what this form achieves would make things one whole heap easier for the newcomer. David |
David - I have been following your exploration of this topic with interest.
We have a similar requirement, but coming at it from the other direction. We need to build a site entirely controlled thru CMS (no ftl files or anything else that requires touching the file system). And then add eCommerce functionality to that site. It would be really great if someone could say whether or not this is even possible before I start down the path of creating all the content. The biggest area I suspect will create limitations to this approach is that there would be no CommonScreens.xml file to perform actions like running bsh scripts. Any insight would be appreciated. Vince Clark Global Era The Freedom of Open Source [hidden email] (303) 493-6723 ----- Original Message ----- From: "David Goodenough" <[hidden email]> To: [hidden email] Sent: Friday, September 28, 2007 6:03:08 AM (GMT-0700) America/Denver Subject: Re: I am trying to display CMS mananaged content in ecommerce OK, well I managed to get it to work after lots of digging. One thing I am unsure about is the question of associations. For a start at a programming level you are working with an attribute called map-key, finding that this relates to an Association on a Content item is not exactly intuitive. Then I found that it was unclear whether you have to associate the "parent item" (WebStoreContent in this case) with the new item, or the new item with WebStoreContent, or both? If you look in the Association page there are two buttons at the top, Create New and Create New Association, they both seem to do the same thing and there is only one button (Create) at the bottom of the form. Then there are two list, the "Edit Content Association For:...." list and under that the "List Association To:..." list. It is totally unclear what these two lists are, and how you get things onto them - at least when you first start. This brings me to a suggestion. These data entry forms are very bare, they really do not help you to use them. There are no tooltips to provide indications of what the fields do. They are also no indications (until you get an SQL error message in the teeth telling that a required column is not present in the INSERT) as to which fields are required. Also given the amount of white space on the forms, a little bit of explanatory text telling you what this form achieves would make things one whole heap easier for the newcomer. David |
using CMS to create html is going against the whole Design, IMHO.
The CMS should allow content, but in a Template format (widgets), since ofbiz is moving away from FTL, as time permits. The tricky part, IMHO, is generation of the bsh code. it Should allow the editing of the CSS for the Ecommerce site. if you need that type of CMS I suggest using Apache and link the ofbiz through you own custom tag library. Vince M. Clark sent the following on 10/9/2007 8:36 AM: > David - I have been following your exploration of this topic with interest. > > We have a similar requirement, but coming at it from the other direction. > > We need to build a site entirely controlled thru CMS (no ftl files or anything else that requires touching the file system). And then add eCommerce functionality to that site. It would be really great if someone could say whether or not this is even possible before I start down the path of creating all the content. > > The biggest area I suspect will create limitations to this approach is that there would be no CommonScreens.xml file to perform actions like running bsh scripts. > > Any insight would be appreciated. > > Vince Clark > Global Era > The Freedom of Open Source > [hidden email] > (303) 493-6723 > > ----- Original Message ----- > From: "David Goodenough" <[hidden email]> > To: [hidden email] > Sent: Friday, September 28, 2007 6:03:08 AM (GMT-0700) America/Denver > Subject: Re: I am trying to display CMS mananaged content in ecommerce > > OK, well I managed to get it to work after lots of digging. > > One thing I am unsure about is the question of associations. > > For a start at a programming level you are working with an attribute called > map-key, finding that this relates to an Association on a Content item is > not exactly intuitive. > > Then I found that it was unclear whether you have to associate the > "parent item" (WebStoreContent in this case) with the new item, or the new > item with WebStoreContent, or both? If you look in the Association page there > are two buttons at the top, Create New and Create New Association, they both > seem to do the same thing and there is only one button (Create) at the bottom > of the form. > > Then there are two list, the "Edit Content Association For:...." list and > under that the "List Association To:..." list. It is totally unclear what > these two lists are, and how you get things onto them - at least when you > first start. > > This brings me to a suggestion. These data entry forms are very bare, > they really do not help you to use them. There are no tooltips to provide > indications of what the fields do. They are also no indications (until you > get an SQL error message in the teeth telling that a required column is > not present in the INSERT) as to which fields are required. Also given the > amount of white space on the forms, a little bit of explanatory text telling > you what this form achieves would make things one whole heap easier for the > newcomer. > > David > |
On Oct 9, 2007, at 11:01 AM, BJ Freeman wrote: > The CMS should allow content, but in a Template format (widgets), > since > ofbiz is moving away from FTL, as time permits. Yes, but NOT for ecommerce! That will (or should, barring rogue developers) ALWAYS be written using templates (FTL or the like) to make it easy to customize. The ecommerce webapp should use the screen widget, but not the form, tree or menu widgets. -David smime.p7s (3K) Download Attachment |
I agree, Must of missed that we were not removing FTL from ecommerce. I
was thinking of like the way the products are displayed. so I guess that is modifying the FTL through the cms. or better have a library of ftls that can be added to the screen widget. David E Jones sent the following on 10/9/2007 10:22 AM: > > On Oct 9, 2007, at 11:01 AM, BJ Freeman wrote: > >> The CMS should allow content, but in a Template format (widgets), since >> ofbiz is moving away from FTL, as time permits. > > Yes, but NOT for ecommerce! That will (or should, barring rogue > developers) ALWAYS be written using templates (FTL or the like) to make > it easy to customize. The ecommerce webapp should use the screen widget, > but not the form, tree or menu widgets. > > -David |
In reply to this post by David E Jones
OfBiz is moving away from ftl? What is it moving to?
IMHO your position on eCommerce limits the value of a built in CMS. With the current CMS functionality it is possible to build and maintain a site almost exclusively thru content records and associations, starting with the publish point. Only a skeleton directory structure is necessary in the deployment. It seems reasonable to suggest adding other functionality to a content managed site including eCommerce functionality. Vince Clark Global Era The Freedom of Open Source [hidden email] (303) 493-6723 ----- Original Message ----- From: "David E Jones" <[hidden email]> To: [hidden email] Sent: Tuesday, October 9, 2007 11:22:43 AM (GMT-0700) America/Denver Subject: Re: I am trying to display CMS mananaged content in ecommerce On Oct 9, 2007, at 11:01 AM, BJ Freeman wrote: > The CMS should allow content, but in a Template format (widgets), > since > ofbiz is moving away from FTL, as time permits. Yes, but NOT for ecommerce! That will (or should, barring rogue developers) ALWAYS be written using templates (FTL or the like) to make it easy to customize. The ecommerce webapp should use the screen widget, but not the form, tree or menu widgets. -David |
On Oct 9, 2007, at 11:38 AM, Vince M. Clark wrote: > OfBiz is moving away from ftl? What is it moving to? Did I say that? No. Did I phrase things to make it clear that the pattern of using templates for ecommerce is larger and longer lasting than even FTL? Yes. > IMHO your position on eCommerce limits the value of a built in CMS. > With the current CMS functionality it is possible to build and > maintain a site almost exclusively thru content records and > associations, starting with the publish point. Only a skeleton > directory structure is necessary in the deployment. > > It seems reasonable to suggest adding other functionality to a > content managed site including eCommerce functionality. You could certainly do something like this. I don't think it will ever be the default for OFBiz though. The main reason is that version control of code for reliable rollouts of a tested set of code is vital for most sites (unless their tolerance for errors and bugs is very high). You can use revision control in the content management, but that still doesn't solve the problem because there is no reliable way to coordinate code-in-content revisions with revisions of code in the code repository (SVN or the like). The more common approach is to have the templates in general in the file system using current methods, and put managed content about products, policies, etc, etc in the content management system. -David smime.p7s (3K) Download Attachment |
David - You didn't say it, BJ did. "...moving away from ftl as time permits."
I understand your point about versioning and in general I agree. My primary objective right now is to understand how the pieces fit together well enough to come to an educated conclusion. So let's start with a real example. We could use the cmssite as a starting point. It follows your recommendation of the "template" being ftl files on the filesystem. It contains: In cmssite/template/cms: MainDecorator.ftl HtmlHead.ftl In cmssite/webapp/cmssite: DemoFooter.ftl DemoHeader.ftl DemoHome.ftl In this example the MainDecorator.ftl references content: <body> ${(thisContent.subcontent.header)?if_exists} ${decoratedContent} ${(thisContent.subcontent.footer)?if_exists} </body> To define the website in the CMS everything starts with the Publish Point, which indirectly ties to the MainDecorator.ftl file. So as far as I can tell MainDecorator.ftl is basically the starting point of this website and controls how content is rendered. If we were to expand upon this example and the MainDecorator.ftl is starting point of a new site how would one "plug in" or reference functionality (and possibly screens) from other components, ecommerece or otherwise? I think where I am getting confused is that if you render content via CMS you are already past the point of having access to lower level functionality such as screen widgets and the controller.xml file. Probably not articulated very well but I am still coming up to speed on how everything ultimately results in a rendered UI that does something. Vince Clark Global Era The Freedom of Open Source [hidden email] (303) 493-6723 ----- Original Message ----- From: "David E Jones" <[hidden email]> To: [hidden email] Sent: Tuesday, October 9, 2007 11:54:09 AM (GMT-0700) America/Denver Subject: Re: I am trying to display CMS mananaged content in ecommerce On Oct 9, 2007, at 11:38 AM, Vince M. Clark wrote: > OfBiz is moving away from ftl? What is it moving to? Did I say that? No. Did I phrase things to make it clear that the pattern of using templates for ecommerce is larger and longer lasting than even FTL? Yes. > IMHO your position on eCommerce limits the value of a built in CMS. > With the current CMS functionality it is possible to build and > maintain a site almost exclusively thru content records and > associations, starting with the publish point. Only a skeleton > directory structure is necessary in the deployment. > > It seems reasonable to suggest adding other functionality to a > content managed site including eCommerce functionality. You could certainly do something like this. I don't think it will ever be the default for OFBiz though. The main reason is that version control of code for reliable rollouts of a tested set of code is vital for most sites (unless their tolerance for errors and bugs is very high). You can use revision control in the content management, but that still doesn't solve the problem because there is no reliable way to coordinate code-in-content revisions with revisions of code in the code repository (SVN or the like). The more common approach is to have the templates in general in the file system using current methods, and put managed content about products, policies, etc, etc in the content management system. -David |
On Oct 9, 2007, at 2:10 PM, Vince M. Clark wrote: > David - You didn't say it, BJ did. "...moving away from ftl as time > permits." I see! Sorry about the confusion... I think what BJ meant was that in most of the manager applications we are moving from FTL to the form widget. Not good for ecommerce, but great for the manager apps. -David smime.p7s (3K) Download Attachment |
In reply to this post by Vince Clark
On Oct 9, 2007, at 2:10 PM, Vince M. Clark wrote: > I understand your point about versioning and in general I agree. > > My primary objective right now is to understand how the pieces fit > together well enough to come to an educated conclusion. > > So let's start with a real example. We could use the cmssite as a > starting point. It follows your recommendation of the "template" > being ftl files on the filesystem. It contains: > In cmssite/template/cms: > MainDecorator.ftl > HtmlHead.ftl > > In cmssite/webapp/cmssite: > DemoFooter.ftl > DemoHeader.ftl > DemoHome.ftl > > In this example the MainDecorator.ftl references content: > <body> > ${(thisContent.subcontent.header)?if_exists} > > ${decoratedContent} > > ${(thisContent.subcontent.footer)?if_exists} > </body> > > To define the website in the CMS everything starts with the Publish > Point, which indirectly ties to the MainDecorator.ftl file. So as > far as I can tell MainDecorator.ftl is basically the starting point > of this website and controls how content is rendered. > > If we were to expand upon this example and the MainDecorator.ftl is > starting point of a new site how would one "plug in" or reference > functionality (and possibly screens) from other components, > ecommerece or otherwise? > > I think where I am getting confused is that if you render content > via CMS you are already past the point of having access to lower > level functionality such as screen widgets and the controller.xml > file. > > Probably not articulated very well but I am still coming up to > speed on how everything ultimately results in a rendered UI that > does something. (as far as I know anyway!) has gone through and done that, so there are no examples and chances are some coding work would be required in the tools to make it reasonable (or possible...) to do. You can _certainly_ do it, but it will likely be a bit of a project. If you're looking for cut a new trail, then great, but if you're hoping to work more efficiently by following what others have done, you're not going to find a trail to follow. -David smime.p7s (3K) Download Attachment |
Thanks for the clarification on ftl.
I'm not really in the mood (don't have the time or budget) to blaze a new trail. Vince Clark Global Era The Freedom of Open Source [hidden email] (303) 493-6723 ----- Original Message ----- From: "David E Jones" <[hidden email]> To: [hidden email] Sent: Tuesday, October 9, 2007 2:42:23 PM (GMT-0700) America/Denver Subject: Re: I am trying to display CMS mananaged content in ecommerce On Oct 9, 2007, at 2:10 PM, Vince M. Clark wrote: > I understand your point about versioning and in general I agree. > > My primary objective right now is to understand how the pieces fit > together well enough to come to an educated conclusion. > > So let's start with a real example. We could use the cmssite as a > starting point. It follows your recommendation of the "template" > being ftl files on the filesystem. It contains: > In cmssite/template/cms: > MainDecorator.ftl > HtmlHead.ftl > > In cmssite/webapp/cmssite: > DemoFooter.ftl > DemoHeader.ftl > DemoHome.ftl > > In this example the MainDecorator.ftl references content: > <body> > ${(thisContent.subcontent.header)?if_exists} > > ${decoratedContent} > > ${(thisContent.subcontent.footer)?if_exists} > </body> > > To define the website in the CMS everything starts with the Publish > Point, which indirectly ties to the MainDecorator.ftl file. So as > far as I can tell MainDecorator.ftl is basically the starting point > of this website and controls how content is rendered. > > If we were to expand upon this example and the MainDecorator.ftl is > starting point of a new site how would one "plug in" or reference > functionality (and possibly screens) from other components, > ecommerece or otherwise? > > I think where I am getting confused is that if you render content > via CMS you are already past the point of having access to lower > level functionality such as screen widgets and the controller.xml > file. > > Probably not articulated very well but I am still coming up to > speed on how everything ultimately results in a rendered UI that > does something. This is certainly possible in theory, but keep in mind that no one (as far as I know anyway!) has gone through and done that, so there are no examples and chances are some coding work would be required in the tools to make it reasonable (or possible...) to do. You can _certainly_ do it, but it will likely be a bit of a project. If you're looking for cut a new trail, then great, but if you're hoping to work more efficiently by following what others have done, you're not going to find a trail to follow. -David |
In reply to this post by David E Jones
> The main reason is that version control of code for reliable rollouts of a
> tested set of code is vital for most sites (unless their tolerance for errors > and bugs is very high). > > The more common approach is to have the templates in general in the file > system using current methods, and put managed content about products, > policies, etc, etc in the content management system. Yes! I agree! Oh, but you'll be surprised how many clients have a high tolerance for errors and bugs. I feel bad. A good number of my clients are "repeat customers" simply because they keep getting version-control-related issues, issues they mistakenly think are "normal bugs that should be fixed by a monthly maintenance contract". I sometimes try to altruistically advise my clients properly. But I end up losing those clients I try to help! :P But still, the most stable clients are those who know what their stuff. Clients who keep coming back to me with version-control-related issues often tend to see such a huge snowball of maintenance costs, so much that they end up bordering on non-viable themselves. I would... erm... altruistically advise against placing templates in "content manager" (or database), but in version-controlled files. Well, unless, the OFBiz community decides to implement a version control system in "content manager" that is on par with SVN, that is! Wow. Mind-blowing. Jonathon David E Jones wrote: > > On Oct 9, 2007, at 11:38 AM, Vince M. Clark wrote: > >> OfBiz is moving away from ftl? What is it moving to? > > Did I say that? No. Did I phrase things to make it clear that the > pattern of using templates for ecommerce is larger and longer lasting > than even FTL? Yes. > >> IMHO your position on eCommerce limits the value of a built in CMS. >> With the current CMS functionality it is possible to build and >> maintain a site almost exclusively thru content records and >> associations, starting with the publish point. Only a skeleton >> directory structure is necessary in the deployment. >> >> It seems reasonable to suggest adding other functionality to a content >> managed site including eCommerce functionality. > > You could certainly do something like this. I don't think it will ever > be the default for OFBiz though. The main reason is that version control > of code for reliable rollouts of a tested set of code is vital for most > sites (unless their tolerance for errors and bugs is very high). You can > use revision control in the content management, but that still doesn't > solve the problem because there is no reliable way to coordinate > code-in-content revisions with revisions of code in the code repository > (SVN or the like). > > The more common approach is to have the templates in general in the file > system using current methods, and put managed content about products, > policies, etc, etc in the content management system. > > -David > > |
In reply to this post by Vince Clark
Hi Vince,
> I think where I am getting confused is that if you render content via CMS you > are already past the point of having access to lower level functionality such > as screen widgets and the controller.xml file. Like David said, this certainly is possible in theory. What it takes may be just some tweaks to the CMS parse-eval-display workflow. But this could quickly get horribly recursive. Mind-boggling. Is there a specific use case for this you can share with us? A real-world use case will be very persuasive in arguing for new features. So, if you find the time to distill your thoughts on this, and articulate a use case, I'd be very interested to jump in on the issue. Thanks! :) Jonathon Vince M. Clark wrote: > Thanks for the clarification on ftl. > > I'm not really in the mood (don't have the time or budget) to blaze a new trail. > > Vince Clark > Global Era > The Freedom of Open Source > [hidden email] > (303) 493-6723 > > ----- Original Message ----- > From: "David E Jones" <[hidden email]> > To: [hidden email] > Sent: Tuesday, October 9, 2007 2:42:23 PM (GMT-0700) America/Denver > Subject: Re: I am trying to display CMS mananaged content in ecommerce > > > On Oct 9, 2007, at 2:10 PM, Vince M. Clark wrote: > >> I understand your point about versioning and in general I agree. >> >> My primary objective right now is to understand how the pieces fit >> together well enough to come to an educated conclusion. >> >> So let's start with a real example. We could use the cmssite as a >> starting point. It follows your recommendation of the "template" >> being ftl files on the filesystem. It contains: >> In cmssite/template/cms: >> MainDecorator.ftl >> HtmlHead.ftl >> >> In cmssite/webapp/cmssite: >> DemoFooter.ftl >> DemoHeader.ftl >> DemoHome.ftl >> >> In this example the MainDecorator.ftl references content: >> <body> >> ${(thisContent.subcontent.header)?if_exists} >> >> ${decoratedContent} >> >> ${(thisContent.subcontent.footer)?if_exists} >> </body> >> >> To define the website in the CMS everything starts with the Publish >> Point, which indirectly ties to the MainDecorator.ftl file. So as >> far as I can tell MainDecorator.ftl is basically the starting point >> of this website and controls how content is rendered. >> >> If we were to expand upon this example and the MainDecorator.ftl is >> starting point of a new site how would one "plug in" or reference >> functionality (and possibly screens) from other components, >> ecommerece or otherwise? >> >> I think where I am getting confused is that if you render content >> via CMS you are already past the point of having access to lower >> level functionality such as screen widgets and the controller.xml >> file. >> >> Probably not articulated very well but I am still coming up to >> speed on how everything ultimately results in a rendered UI that >> does something. > > This is certainly possible in theory, but keep in mind that no one > (as far as I know anyway!) has gone through and done that, so there > are no examples and chances are some coding work would be required in > the tools to make it reasonable (or possible...) to do. You can > _certainly_ do it, but it will likely be a bit of a project. > > If you're looking for cut a new trail, then great, but if you're > hoping to work more efficiently by following what others have done, > you're not going to find a trail to follow. > > -David > > > > > > ------------------------------------------------------------------------ > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.488 / Virus Database: 269.14.6/1060 - Release Date: 10/9/2007 4:43 PM |
Free forum by Nabble | Edit this page |