Database-driven output

This forum is for Single-Sourcing your Flare content to multiple outputs.
Post Reply
Ineffable
Sr. Propeller Head
Posts: 148
Joined: Mon Jan 15, 2007 3:08 pm
Location: Bay Area, CA

Database-driven output

Post by Ineffable »

I don't think such functionality exists in Flare, but I was wondering about a database-driven output. To use my current Flare system as an example, let's say I have a bunch of Ford vehicles, each with its own Flare page (Focus, Explorer, Taurus, etc.). Let's say I have a bunch of part numbers for the various parts that comprise these cars. A lot of parts can be shared throughout the car lineup (e.g., the battery).

Let's say the battery is part number 12345, and used on the Focus and Explorer (but not the Taurus). Wouldn't it be better if I "tagged" (not tags the way it's currently implemented in Flare, which is project-management, not output, based) the battery when I first entered it into Flare, maybe entered it into a container that would need to be created in Flare (e.g., "Database Master Page"). Thus, I add BATTERY, 12345, and tag it as both FOCUS and EXPLORER.

In the FOCUS and EXPLORER pages I would add a database field into the page layout, then define it so that it inputs in all objects tagged FOCUS and/or EXPLORER. On output it looks in the container, finds any object with the corresponding tag, loads it onto the page, and renders it on output.

I suppose this is similar to an XML-driven workflow available in some other systems. Does this make sense? Flare 10...?!
SteveS
Senior Propellus Maximus
Posts: 2089
Joined: Tue Mar 07, 2006 5:06 pm
Location: Adelaide, far side of the world ( 34°56'0.78\"S 138°46'44.28\"E).
Contact:

Re: Database-driven output

Post by SteveS »

Could you have a global project of parts?

Then when you create your Ford Focus project you use global project linking to add the newest version of your battery to the focus.

You would control the parts from the focus project, not the parts (global) project.
Image
Steve
Life's too short for bad coffee, bad chocolate, and bad red wine.
NorthEast
Master Propellus Maximus
Posts: 6365
Joined: Mon Mar 05, 2007 8:33 am

Re: Database-driven output

Post by NorthEast »

If you have this in XML form from a database, could you not use XLST to filter/display the content as a web page?
RamonS
Senior Propellus Maximus
Posts: 4293
Joined: Thu Feb 02, 2006 9:29 am
Location: The Electric City

Re: Database-driven output

Post by RamonS »

Maybe a (Web)Help format is not really necessary here? You can use plain ol' hyperlinks to accomplish what you want. If gizmo A and B both contain gadgets 1 and 2 you link from A and B each time to the one and only instance of 1 and 2. Likewise, add links in 1 and 2 that go back to A and B. Not sure what a database would get you other than more work.
A different ball of yarn is using a database and then have a template system pull in that info and automatically create links based on the references among the tables. That way you do not create static pages with links, but have server side code pull records from the database and build pages dynamically. That is what LAMPP is for...or by far more complicated and ridiculously more expensive IIS with .NET.
You might also want to look into a Wiki as that handles links from and to automatically, but editing a wiki is rather tedious.
Ineffable
Sr. Propeller Head
Posts: 148
Joined: Mon Jan 15, 2007 3:08 pm
Location: Bay Area, CA

Re: Database-driven output

Post by Ineffable »

SteveS wrote:Could you have a global project of parts?

Then when you create your Ford Focus project you use global project linking to add the newest version of your battery to the focus.

You would control the parts from the focus project, not the parts (global) project.
Hmm, that's interesting, never considered the global project functionality in Flare. My only comment is that each of the widgets I speak of is simply one part number with a description. Would that mean each part number is an individual project (lots of projects!), or could I populate one project with many part numbers, which I assume would be individual topics within the project?
Ineffable
Sr. Propeller Head
Posts: 148
Joined: Mon Jan 15, 2007 3:08 pm
Location: Bay Area, CA

Re: Database-driven output

Post by Ineffable »

Dave Lee wrote:If you have this in XML form from a database, could you not use XLST to filter/display the content as a web page?
A web page within a Flare project, or something completely separate from Flare?
SteveS
Senior Propellus Maximus
Posts: 2089
Joined: Tue Mar 07, 2006 5:06 pm
Location: Adelaide, far side of the world ( 34°56'0.78\"S 138°46'44.28\"E).
Contact:

Re: Database-driven output

Post by SteveS »

Ineffable wrote:Hmm, that's interesting, never considered the global project functionality in Flare. My only comment is that each of the widgets I speak of is simply one part number with a description. Would that mean each part number is an individual project (lots of projects!), or could I populate one project with many part numbers, which I assume would be individual topics within the project?
I'd keep the parts 'inventory' in a single master project. You might have to use folders to maintain control ie (to keep the analogy going) body, engine, interior, transmission.

Haven't tried it, but I think it should work :)
Image
Steve
Life's too short for bad coffee, bad chocolate, and bad red wine.
NorthEast
Master Propellus Maximus
Posts: 6365
Joined: Mon Mar 05, 2007 8:33 am

Re: Database-driven output

Post by NorthEast »

Ineffable wrote:
Dave Lee wrote:If you have this in XML form from a database, could you not use XLST to filter/display the content as a web page?
A web page within a Flare project, or something completely separate from Flare?
If your idea is to have database/XML-driven output, then presumably your source data is not part of Flare.

If you have the data in XML format, then XSLT provides a means to display the information; this can be part of a Flare project or not, it doesn't matter.

Maybe have a look at this XSLT example, to give you an idea:
http://www.w3schools.com/xsl/
Ineffable
Sr. Propeller Head
Posts: 148
Joined: Mon Jan 15, 2007 3:08 pm
Location: Bay Area, CA

Re: Database-driven output

Post by Ineffable »

Dave Lee wrote:
Ineffable wrote:
Dave Lee wrote:If you have this in XML form from a database, could you not use XLST to filter/display the content as a web page?
A web page within a Flare project, or something completely separate from Flare?
If your idea is to have database/XML-driven output, then presumably your source data is not part of Flare.

If you have the data in XML format, then XSLT provides a means to display the information; this can be part of a Flare project or not, it doesn't matter.

Maybe have a look at this XSLT example, to give you an idea:
http://www.w3schools.com/xsl/
But I was hoping to go one step further and have Flare organize the data for me. Currently, the XML data I receive are all in one bucket, albeit tagged in an organized manner (i.e., Fusion, Taurus, Escort, etc.). I would love it if Flare was able to display each tag on its own page, based on the data in the XML.

I would simply create a topic called "Fusion," insert an "XML Object" (which could be a new menu item in Insert > Links) and tell it to inject any XML object tagged "Fusion" in the XML file that resides on a remote server somewhere (or local, it doesn't matter). Opening this topic would yield a big blank page with only a little icon, depicting the XML Object. Its contents would only be visible on output (or an enhanced Preview).

The best part is that the XML file in question is maintained by my IT department, and gets updated nightly by script. I can use the command-line interface in Flare, have it auto-compile after the XML file is updated, and life is good. :)
NorthEast
Master Propellus Maximus
Posts: 6365
Joined: Mon Mar 05, 2007 8:33 am

Re: Database-driven output

Post by NorthEast »

Yes, you can do that using XSLT; i.e. display particular records from the XML data.

The examples on the w3schools site will show you how to write XSL files to transform (filter) the information you require.

The example for XSL on the client shows how to integrate this into a topic.
Ineffable
Sr. Propeller Head
Posts: 148
Joined: Mon Jan 15, 2007 3:08 pm
Location: Bay Area, CA

Re: Database-driven output

Post by Ineffable »

Dave Lee wrote:Yes, you can do that using XSLT; i.e. display particular records from the XML data.

The examples on the w3schools site will show you how to write XSL files to transform (filter) the information you require.

The example for XSL on the client shows how to integrate this into a topic.
I've finally had a chance to look through this. It seems within my technical grasp. Thanks for the link.
Post Reply