blebs@xxxxxxxxxxx wrote: >Dear All, Currently about 90% of the content in my company intranet is >static html pages that are created and updated by hand. The remaining 10% of >the content is dynamic and is stored in a SQL database that is populated and >maintained by a series of easy-to-use ColdFusion data-entry forms. > >My task is to make the static content dynamic, but in such a way that going >forward, it will be easy for users to create and maintain their own content >pages. The ColdFusion forms that are currently on the site do the job for >simple types of content but they are not granular enough to capture the more >complex ones that are in static html. What I'm trying to do is structure the >data that's captured in the forms so that once it is saved to the database, >I can pull out just the bits I want and reuse them in different content >areas of the site. > >I talked to my ColdFusion developer about this idea, and he tells me that >this can be done, but he doesn't know how to do it since the data would need >to be structured before it was imported into the database in order for >certain bits to be retrieved from the database later. The problem is that I >want the forms to dynamically create linked pages, or create links to pages >that do not already exist in the database before the new data is imported. > >Folks in Content Systems at my company are telling me that XML is the way >to go here but they're not sure how to integrate it with ColdFusion. So --- >I'm looking for a bridge between the two and was wondering if anyone on this >list has experience dealing with solutions for creating structured and >dynamic linked pages. Or, for company intranets, if there are any tools in a >box that you have found provide good content management. > >Thanks for your feedback. > >-Kelly > > > > > >__________________________________________________________________________ >To unsubscribe send a blank message with unsubscribe in the subject to >webproducers-request@xxxxxxxxxxxxx > >To access our webform (instead of sending e-mail) for popular commands >including subscribe, unsubscribe, digest, and vacation visit >www.WebProducers.org. You can also access the list archive at the website. > >Questions and comments are welcome just e-mail me, morry@xxxxxxxxxxxxxxxx > > Our company offers a hosted portal solution. It works extremely well for intranets and allows even the most non-technical people to update content. Our VP of marketing even updates our corporate site directly, which runs on our own solution. You can see a demo at http://www.wegosales.com. One of the biggest advantages of the system is that you can create new intranets on the fly as you need them. Internally, we create new intranets all the time for various projects. As to your specific problem, modeling the data explicitly in the database for each form comes at a pretty high cost in database management. Using XML is definitely your best bet. You don't want to have your DBA involved each time you want to create a new form. The disadvantage of storing structured data in XML format is that you can't use relational SQL queries to retrieve the data. For data querying, you can try something like XML Query. see.. http://www.w3.org/XML/Query For presentation of your data, you will want to use XSLT to convert the semantic XML data into HTML. So, you get something that looks like.... HTML Form | | v Cold Fusion Server code that takes HTTP post parameters and writes an XML file | | v XML <person><name>Tracy Scott</name><phone>650-569-3620x124</phone></person> | | v XSLT which takes as input the XML above and might produce the following output HTML: | | v HTML <b>Tracy Scott</b> <em>650-569-3620x124</em> That describes how you go from structured data input to HTML that is ready to be presented somewhere. A framework for managing where that HTML is presented is slightly more involved. Let's say that the HTML is stored in contactinfo/*formresponseid*.html, so my specific response might be stored in a file called contactinfo/543.html. Your response might be stored in contactinfo/29.html. Now to link that into your site structure as new forms are created, you might have a file called contactinfo/all.html that contains the links to all the *formresponseid*.html files. The all.html file needs to be updated each time a new *formresponseid*.html file is generated or it can be created on the fly based on a directory listing of the files in contactinfo/. I'm not a ColdFusion developer, so I can't really help with example code. There is probably a way in ColdFusion to execute an external program, so you would just need a standalone XSLT processor and have ColdFusion make a call like... system ("xslt contact.xsl 543.xml 543.html"); I'm not familiar with the specifics of ColdFusion syntax, but the idea is that you run the xslt program which takes a style sheet, an input XML file, and output HTML file as arguments. contact.xsl is the XSL stylesheet you need to write which determines how to turn the contact info XML into HTML. For the example, whenever it sees <name> tags, it replaces them with <b> tags. Whenever it sees <phone> it replaces it with <em>'s. Using XSLT would allow you to filter the data in XML as you are translating it to HTML. For example, in the case above, you could generate an additional file called contactinfo/543_nophone.html that contains my contact info without the phone number. So, it allows you to selectively present subsets of data fairly easily. You just lose the ability to do complicated relational queries. If you are free to consider hosted solutions, you should definitely check out our system. I've designed it in an effort to commoditize all the typical grunt work in deploying and managing a large number of sites. Jakob Nielsen (http://www.useit.com) has a nice report about effective intranets, so if you have the $54 to spare, I'd highly recommend it. If you have any more questions feel free to ask. Tracy Scott CTO Wego Systems http://www.wego.com 650-569-3620x124 __________________________________________________________________________ To unsubscribe send a blank message with unsubscribe in the subject to webproducers-request@xxxxxxxxxxxxx To access our webform (instead of sending e-mail) for popular commands including subscribe, unsubscribe, digest, and vacation visit www.WebProducers.org. You can also access the list archive at the website. Questions and comments are welcome just e-mail me, morry@xxxxxxxxxxxxxxxx