text:
This chapter describes how to deploy a workbook that you have integrated with a Fusion web application to your end users after you have finalized the integration.
This chapter includes the following sections:
Section 14.1, "Introduction to Deploying Your Integrated Excel Workbook"
Section 14.2, "Making ADF Desktop Integration Available to End Users"
Section 14.4, "Deploying a Published Workbook with Your Fusion Web Application"
Section 14.5, "Passing Parameter Values from a Fusion Web Application Page to a Workbook"
After you finish development of your integrated Excel workbook, you make the final integrated Excel workbook available to end users by deploying the resulting Fusion web application to an application server. Before you deploy a finalized Excel workbook that integrates with the Fusion web application, you must publish it as described in Section 14.3, "Publishing Your Integrated Excel Workbook." After you have published the Excel workbook, you can deploy it using one of the methods outlined in the "Deploying Fusion Web Applications" chapter of the Oracle Fusion Middleware Fusion Developer's Guide for Oracle Application Development Framework.
The end users that you deploy an integrated Excel workbook to must do the following:
Set up ADF Desktop Integration on their machines.
Make the ADF Desktop Integration
setup.exe tool available to end users from, for example, a directory on your network. For more information, see Section 14.2, "Making ADF Desktop Integration Available to End Users."
If required, configure the security settings for their Excel application.
End users who want to use the functionality that you configure in an integrated Excel workbook must install the Runtime edition of ADF Desktop Integration. The
setup.exe tool is located in the
adfdi-excel-runtime-client-installer.zip file available in
\oracle_common\modules\oracle.adf.desktopintegration_11.1.1 directory, where
MW_HOME is the Middleware Home directory.
For information about using the
setup.exe tool, see Section I.1, "Installing the Runtime Edition of ADF Desktop Integration."
For more information about Microsoft ClickOnce installer, see the following:
After you finish configuring the Excel workbook with Oracle ADF functionality, you must publish it. Publishing a workbook makes it available to the end users for whom you configured the integrated Excel workbook.
ADF Desktop Integration also provides you with two methods to publish your workbook. You can publish your integrated Excel workbook directly from Excel, or you can use the publish tool available in JDeveloper to publish the workbook from the command line. The command-line publish tool enables you to use ANT build scripts to publish an integrated Excel workbook from your Fusion web application.
You publish a workbook by clicking a button on the Oracle ADF tab and specifying values in the dialogs that appear, or by using the command-line publish tool. You can use the command line publish tool to publish a workbook from your Fusion web application.
To publish a workbook from Excel:
Open the integrated Excel workbook.
Ensure that the
ApplicationHomeFolder and
WebPagesFolder properties in the Edit Workbook Properties dialog are correct. If these properties are not set, ADF Desktop Integration prompts you to set them when you publish the integrated Excel workbook.
For more information, see Section 4.4.3, "How to Configure a New Integrated Excel Workbook."
In the Oracle ADF tab, click the Publish button.
Specify the directory and file name for the published workbook in the Publish Workbook dialog that appears. The directory and file name that you specify for the published workbook must be different from the directory and file name for the design time workbook.
Click Save to save changes.
The publish tool is run from the command line, and is available in the
\jdeveloper\adfdi\bin\excel\tools\publish directory as
publish-workbook.exe. Before you run the publish tool, open the source integrated Excel workbook and ensure that the
ApplicationHomeFolder and
WebPagesFolder properties in the Edit Workbook Properties dialog are correct.
Now, run the publish tool using the following syntax:
publish-workbook -workbook (-w) <
> -out (-o)
source-workbook-path is the path of sthe ource workbook, and
destination-workbook-path is the path where the published workbook is saved. Note that the destination workbook cannot have the same name as the source, even if the directory locations are different.
For example:
publish-workbook -workbook D:\Application1\Project1\ViewController\src\oracle\foddemo\masterpricelist\excel\workbook-src.xlsx -out D:\Application1\Project1\ViewController\public_html\excel\published\workbook.xlsx
Tip:For more information about the arguments required by the publish tool, run the following command:
publish-workbook -help (-h)
After publishing the integrated Excel workbook successfully, the publish tool displays a success message. If there is any error while publishing the workbook, the publish tool aborts the process and the error messages are displayed on the command line console.
If you are using the command line publish tool, note that by default the publish tool logs messages to the command line console at information level.
Using the Publish Tool with ANT
You can create ANT scripts to run the publish tool from JDeveloper when you build your Fusion web application. You can use either of the following methods to run the utility using ANT:
Generate an ANT build script for the project and add a target to run the workbook command line publish tool
Generate or create a separate ANT build script for running the workbook command line publish tool
A sample ANT build script (
publish-workbook.xml) to run the publish tool is available in the
\jdeveloper\adfdi\bin\excel\samples directory. The sample ANT script demonstrates the invocation of the command-line workbook publishing tool.
When you click the Publish button in design mode, ADF Desktop Integration performs the following actions:
Removes binding expressions that are visible in the worksheet while the workbook is in design mode.
Changes the workbook mode to runtime mode.
Clears the
WebAppRoot, and
WebPagesFolder properties from the workbook settings of the published workbook.
Creates the published workbook with the file name you specified in the directory that you specified.
Updates the client registry. For more information, see Section 11.3, "Checking the Integrity of an Integrated Excel Workbook's Metadata."
Add the integrated Excel workbook to the JDeveloper project for your Fusion web application if it is not packaged with the other files that constitute your JDeveloper project. This makes sure that the Excel workbooks you integrate with your Fusion web application get deployed when you deploy your finalized Fusion web application. For example, the Master Price List module stores the Excel workbooks that it integrates at the following location:
FOD_HOME is the installation directory for the Fusion Order Demo application.
After you decide on a location to store your integrated Excel workbooks, you can configure web pages in your Fusion web application allowing end users to access the integrated Excel workbooks. For example, Figure 14-1 shows Internet Explorer's File Download dialog, which was invoked by clicking the Excel > Edit Using Live Spreadsheet menu options on the
PriceListSummary.jspx page displayed by the Master Price List module.
To enable the functionality illustrated in Figure 14-1, the HTTP filter parameters for your Fusion web application must be configured to recognize Excel workbooks. JDeveloper automatically configures these parameters for you when you add ADF Desktop Integration to the technology scope of your Fusion web application, as explained in Section 4.2, "Adding ADF Desktop Integration to a Fusion Web Application." If you want to manually configure the HTTP filter parameters, see Appendix E, "ADF Desktop Integration Settings in the Web Application Deployment Descriptor."
After you have configured the HTTP filter for your Fusion web application, you configure the web pages that the Fusion web application displays to end users to allow them to invoke Excel workbooks. A basic method of invoking an Excel workbook that you have integrated with a Fusion web application is to provide a hyperlink that invokes the workbook. For example, you could write the following HTML in a web page:
Open the Master Price List in Excel
excel is a subdirectory of the directory specified by the
WebPagesFolder workbook property and
EditPriceList.xlsx is the Excel workbook that the end user invokes.
You can provide functionality that allows end users to invoke Excel workbooks from buttons, lists and ribbon command buttons. The following list provides some examples:
Display a button on the web page that, when clicked, invokes the integrated Excel workbook.
Selection list
Use the ADF Faces
selectOneChoice component with a button to invoke an integrated Excel workbook.
Use the ADF Faces
goMenuItem component.
The View and Query Using Live Spreadsheet menu, as illustrated in Figure 14-1, uses the
goMenuItem component. The
PriceListSummary.jspx page displays this menu. The following entry appears in the
PriceListSummary.jspx page of the Master Price List module and demonstrates the
goMenuItem component:
<af:goMenuItem id="goReadOnly" textAndAccessKey="#{res['pls.productList.menu.lsr.label']}" destination="/excel/published/ReadOnlyPriceList.xlsx"/>
For more information about creating web pages for a Fusion web application, see the Oracle Fusion Middleware Web User Interface Developer's Guide for Oracle Application Development Framework.
You can configure a page in your Fusion web application to pass parameter values to an integrated Excel workbook when the end user downloads the workbook from the page. For example, if the end user attempts to download a workbook from a page that displays a list of products, the list of products that appears in the workbook corresponds to the list of products displayed in the page when the end user invoked the download. Subsequent changes that the end user makes to data in one location (the worksheet or the Fusion web application's page) do not affect data in the other location.
To configure this functionality, you must:
Verify that the HTTP filter is configured to allow end users to download integrated Excel workbooks from the Fusion web application. By default, JDeveloper configures the HTTP filter with appropriate values when you add ADF Desktop Integration to the technology scope of your Oracle ADF Desktop Integration project. To verify the parameter values of the HTTP filter, see Section E.2, "Configuring the ADF Desktop Integration Excel Download Filter."
Configure the page in your Fusion web application from which the end user downloads the integrated Excel workbook so that it passes its parameters through URL arguments to the integrated Excel workbook when the end user downloads it.
Configure the page definition file associated with the worksheet in the integrated Excel workbook so that the worksheet is initialized with the parameters from the page in the Fusion web application from which the end user downloads the workbook.
Configure workbook and worksheet properties in the integrated Excel workbook that end users download so that the workbook contains the parameters from the page in the Fusion web application from which the end invokes download.
You insert an
<af:goLink> tag and specify property values for it that reference the integrated Excel workbook the end user downloads and the values to download. You also specify the commands on the page that, when invoked, require the Fusion web application to refresh the values referenced by the
<af:goLink> tag and its property values.
To configure the page in the Fusion web application:
In JDeveloper, insert the
af:goLink tag into the page from which the end user downloads the integrated Excel workbook.
In the Structure window, right-click the af:goLink node and choose Go to Properties.
Expand the Common section and set values for the properties, as described in Table 14-1.
Table 14-1 Properties for af:goLink Tag
Write the text that appears to end users at runtime.
For example, write text such as the following to appear at runtime:
Invoke the expression builder to write an EL expression that specifies the integrated Excel workbook and the values to download as a URL argument:
For example, write an EL expression such as the following:
Note that the runtime URL-encoded value of the EL expression to the right of
For example, the runtime URL-encoded value of
Also note that if the URL contains more than 256 characters, an exception is raised when the end user downloads and opens the integrated Excel workbook without saving it. To resolve this problem, you must limit your URL length to 256 characters, or instruct the end user to save the workbook before opening it.
Optionally, expand the Behavior section and specify component IDs for the
partialTriggers property that, when invoked, update the values of the
af:goLink tag and its
Destination property.
For example, if you have navigation buttons with the IDs
FirstButton, and
LastButton, specify them as follows:
:NextButton :PreviousButton :FirstButton :LastButton
Save the page.
The following example shows the entries that JDeveloper generates in a JSF page using the examples in this procedure:
<af:goLink text="Download to Excel" destination="/excel/workbook.xlsx?productName=#{bindings.productName.attributeValue}" partialTriggers=":NextButton :PreviousButton :FirstButton :LastButton"/>
You configure the page definition file associated with the worksheet in the integrated Excel workbook as follows:
Add one or more
parameter elements that initialize the worksheet with the values specified by the workbook
Parameters property that you configure in Section 14.5.3, "How to Configure Parameters Properties in the Integrated Excel Workbook."
The following example shows a parameter element in a page definition file that is associated with a worksheet in an integrated Excel workbook:
<parameters> <parameter id="ProductNameParam" /> </parameters>
Add an
invokeAction and a method action binding so that the page definition file associated with the worksheet initializes correctly.
The following example shows the
invokeAction invoking the
filterByProductName method action binding. The
invokeAction is refreshed only when a value for
ProductNameParam is supplied.
<executables> <invokeAction Binds="filterByProductName" id="initializeProductTable" Refresh="deferred" RefreshCondition="${bindings.ProductNameParam != null}"/> ... </executables>
The method action binding invokes a view object method (
filterByProductName). The view object method takes a single String argument (
ProductNameArg) that references the value of
<bindings> <methodAction id="filterByProductName" RequiresUpdateModel="true" Action="invokeMethod" MethodName="filterByProductName" IsViewObjectMethod="true" DataControl="AppModuleDataControl" InstanceName="AppModuleDataControl.ProductVO1"> <NamedData NDName="ProductNameArg" NDValue="${bindings.ProductNameParam}" NDType="java.lang.String"/> </methodAction> . . . </bindings>
For more information about configuring a page definition file, see Section 4.3, "Working with Page Definition Files for an Integrated Excel Workbook."
You configure the workbook
Parameters property and the worksheet
Parameters property so that the integrated Excel workbook that the end user downloads from the Fusion web application receives parameter values included in the query string of the workbook download URL.
To configure the workbook Parameters property:
Open the integrated Excel workbook.
Click Workbook Properties in the Oracle ADF tab.
Click the ellipsis button (...) beside the input field for Parameters to invoke WorkbookParameter Collection Editor.
Click Add to add a new workbook initialization parameter and configure its properties as follows:
(Optional) In the Annotation field, enter a description of the workbook initialization parameter.
In the Parameter field, specify the name of the URL argument that you configured for the
af:goLink tag's
Destination property as described in Section 14.5.1, "How to Configure the Fusion Web Application's Page to Pass Parameters."
Repeat Step 4 as necessary to add other workbook initialization parameters.
Click OK.
For more information about the workbook
Parameters property, see Table A-18.
To configure the worksheet Parameters property:
Open the integrated Excel workbook.
Click Worksheet Properties in the Oracle ADF tab.
Click the ellipsis button (...) beside the input field for Parameters to invoke the WorksheetParameter Collection Editor.
Click Add to add a new worksheet parameter and configure it as in Figure 14-2:
(Optional) In the Annotation field, enter a description of the worksheet parameter.
In the Parameter field, specify a parameter element that you added to the page definition file associated with the worksheet, as described in Section 14.5.2, "How to Configure the Page Definition File for the Worksheet to Receive Parameters."
In the Value field, write an EL expression that references the value of the
Parameter property you specified for the workbook initialization parameter (workbook
Parameters array). Use the following syntax when writing the EL expression:
productName references the value of the
Parameter property you specified for the workbook initialization parameter.
Repeat Step 4 as necessary to add other workbook initialization parameters.
Click OK.
For more information about the worksheet
Parameters property, see Table A-19.
By default, the workbook parameters are not sent every time the workbook connects to the server to request metadata, the end user logs out, or the session expires. If required, you can configure the workbook to send the initialization parameters by configuring the
SendParameters property.
To configure the worksheet SendParameters property:
Open the integrated Excel workbook.
Click Worksheet Properties in the Oracle ADF tab.
In the property inspector, set the value of
SendParameters as shown in the following table and Figure 14-2:
|Set this property to...
|This value...
True to send workbook parameters when the workbook connects to the server to request metadata or data. When set to
True, parameters are sent everytime when the metadata is requested and the first time when data is requested, during each user session.
False is the default value.
For more information, see Section 15.2, "Restore Server Data Context Between Sessions."
Click OK.
When the end user downloads the integrated Excel workbook from the Fusion web application, the
af:goLink tag is evaluated and the current product name is captured and included on the URL. The
adfdiExcelDownload filter embeds the names and values of all the parameters from the URL into the downloaded integrated Excel workbook.
After downloading the workbook, when the end user opens it for the first time, the active worksheet of the integrated Excel workbook is initialized. The initialization process includes fetching metadata from the web application. As part of retrieving the worksheet metadata, the stored workbook parameters (if any) are sent to the ADF Desktop Integration remote servlet and are available for application logic such as
<invokeAction> executables. Specifically, the parameters are set into
DCParameters before the binding container is refreshed. The action set in the worksheet
Startup event is also executed during initialization. After initialization, the initialization status for each worksheet is recorded when the integrated Excel workbook is saved to disk.
After the integrated Excel workbook has been saved, closed, and reopened , the first-time initialization is skipped for any worksheets that were previously initialized. If workbook parameters were captured when the integrated Excel workbook was first downloaded, and those parameters are required to set up server context, then the
Worksheet.ServerContext.SendParameters property should be set to
True. When the
SendParameters property is
True, workbook parameters are sent on every request for metadata, and also on the first request for data in each user session.
To reset the initialization state for all worksheets in the workbook, invoke the
ClearAllData action. For more information about the
ClearAllData action, see Table A-17.
Note:Parameter values passed to the server might reset when a web dialog is invoked in an action set where the
ShareFrame property is
True. Custom code, which uses the parameters and requires that values be maintained across the invocation of a web dialog, should ensure that the values in the user session data structures are saved.


text:
Ask Ben: Printing Shipping Labels With ColdFusion
I can't seem the find the question in my Inbox at the moment, but a few days ago, someone asked me about using ColdFusion to print shipping labels. Now, I know that Microsoft gets a bad reputation, but I happen to think that a lot Microsoft applications are quite useful and make my work a whole lot easier. This is one of those occasions. Using ColdFusion in conjunction with Microsoft Word's Web Archive File format (MHT files) makes creating and printing shipping label templates a piece of tasty cake (and we all know that cake is good).
When it comes to printing shipping lables, a lot of the time, you need to create a printable format that matches up with some sort of sticky label paper that you have in your printer. Most likely, there is a Microsoft Word template that accomodates what ever kind of paper you are dealing with. The first thing you want to do is find this Word template, download it, and open it up in Word. It will probably look something like this:
Now, it's time to leverage the web archive file (MHT) that Microsoft offers. Go to the File menu and save the current Word document as a single web page:
When doing this, it might tell you that it has to convert certain Microsoft Word features into web-compatible features. Most of the time this should be fine, so just accept whatever they tell you needs to get done.
Now, you should have an MHT file that can be opened in any text editor (such as Macromedia Homesite). In reality, this shipping label MHT file is just an amped up HTML file and we can use ColdFusion to generate it. Once you open the MHT file, you will see that the hardest part is just trying to clean up the Microsoft Word HTML enough to be able to work with it. Once you tab out the HTML into a readable format, you can delete the majority of data and replace it with some sort of CFLoop to output your shipping labels.
Since I don't have a query full of address information, my demo MTH / HTML just uses an indexed CFLoop and outputs the same address 30 times. I am hoping that when you replace this with a ColdFusion query loop, you will see that the transition is quite easy.
Here is my generate_labels.cfm ColdFusion template. This does not serve up the document, it only creates the data:
- MIME-Version: 1.0
- Content-Location: file:///C:/9E42A1F3/shipping_labels.htm
- Content-Transfer-Encoding: quoted-printable
- Content-Type: text/html; charset="us-ascii"
-
-
- <meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
- <meta name=3DProgId content=3DWord.Document>
- <meta name=3DGenerator content=3D"Microsoft Word 11">
- <meta name=3DOriginator content=3D"Microsoft Word 11">
- <link rel=3DFile-List href=3D"shipping_labels_files/filelist.xml">
-
-
-
-

-

-

- <cfoutput>
-
- <cfloop
- index="intI"
- from="1"
- to="30"
- step="1">
-
-

-
-
- <o:p></o:p>
-

-

-
- <o:p></o:p>
-
-

-

-
-
-
- <o:p></o:p>
-

-

- <o:p> </o:p>
-

-
-
- <cfif ((intI MOD 2) EQ 1)>
-
-

- <o:p> </o:p>
-

-
- </cfif>
-
- <cfif (
- (NOT (intI MOD 2)) AND
- (intI LT 30)
- )>
-

-
-

-
-

- <o:p> </o:p>
-

-
-
-

- <o:p> </o:p>
-

-
-
-

- <o:p> </o:p>
-

-
-

-

- </cfif>
- </cfloop>
-
- </cfoutput>
-

-

-

- <o:p> </o:p>
-

-

-
-
Now that we have the data generating ColdFusion template for our shipping labels, all we need is a simple ColdFusion file that grabs that content and serves it up as a Microsoft Word document:
-
- <cfsavecontent variable="strMHTData">
-
- <cfinclude template="./generate_labels.cfm" />
- </cfsavecontent>
-
- <cfset strMHTData = Trim( strMHTData ) />
-
- <cfheader
- name="content-disposition"
- value="attachment; filename=shipping-labels.mht"
- />
-
- <cfcontent
- type="application/msword"
- variable="#ToBinary( ToBase64( strMHTData ) )#"
- />
Running the above code, we get prompted to open up a Microsoft Word document that looks like this:
Print that and you should be good to go. Now, I hope I don't get flamed for this technique, but if you embrace the feature of Microsoft Word, rather than shunning all the stuff that makes them suck, you will find that they do have a lot of things that just make your life easier.
Reader Comments
Bizarre, I was expecting a Create-a-PDF/CFPRINT solution. o_O
I wish! I neither have CF8, nor a printer, let along a printer hooked up to a CF8 box :D
1.) Download CF8 and enable developer mode.
2.) Go buy a printer.
3.) Write up tutorial and post it.
4.) ????
5.) Profit!!1!!
very interesting
I actually downloaded CF8, I just have been lazy about installing it on my PC at home :(
Interesting technique, but I'd definitely recommend using cfreport for this. Custom or standard labels work great with your choice of output type and no reliance on Word.
Sadly, I have never used CFReport. How does it handle things like having to match up with custom paper layouts? Or is it basically hit and miss configuration (but then once you got it, you got it)?
I have no problem with using Word as part of a solution...but I always thought this was kind of cool...
If you want to try it (I haven't) I would suggest you read the comments.
This is a good tutorial on using the CF Report Builder to create Avery labels:
The tutorial includes pre-created files for a number of common label numbers, and all you have to do is
1) install the CF Report Builder (free, quick install)
2) copy a label file your web directory
3) modify the file to include your query and fields
Very simple.
I haven't yet tried the label builder mentioned by Mark above because there were sample files for the labels I needed, but I'm interested to see if it works for less common labels that don't already have a file built.
I'll second the suggestion others have made, labels are pretty easy to do using the report builder, there are a bunch of pre-built ones, and if they don't fit your needs it's easy to create some with the specifications you want.
Having said that, your solution is still pretty cool and probably accomodates people who for some reason are still running an old version of CF. Good thinking there!
Great post as always.
We have a project where I generating hundreds of Barcode Labels. We using iText with Barbcue. Since we are using a thermal label printer it's a little easier on the spacing. Plus I like doing everything as PDF's :).
Sorry for the delay, but as Thomas stated, it's fairly straight forward to create custom labels. Just get the measurements set up correctly and it works great.
I think that the report builder is a pretty powerful tool that is overlooked by many CF developers. Even though I don't use it a lot I find the tool priceless for labels and so on. The only problem is that the CF7 app was pretty lame. It was about the clunkiest, buggiest app I've seen in a long time. Once you figured out the idiosyncrasies, the final printed output is worth the effort though.
I have not used the CF8 report builder yet, but supposedly they put work into improving it.
If you are just outputting formatted html, how about using cfdocument to generate a PDF? This is available on >= CF7 and a lot easier.
Oh I see, you are using an MS Word label template, never mind.
you did make a very good point. i just finished an overhaul of an in-house label-generating page using cfdocument to generate a pdf. i found the detailed specs for my label of interest on http://www.onlinelabels.com/ and used these to create the css necessary to layout the labels quite precisely.
armed with the detailed specs in inches and the knowledge that the pdfs are 100dpi, it was dead simple to create the pdf.
sherrardb - excellent! Can you post an example css (with html)?
why certainly. i hope all of this renders correctly.
my notes:
Avery 5366 Label Dimensions & Info
downloaded from http://www.onlinelabels.com/
which was found through a google search http://www.google.com/search?hl=en&q=avery+5366+template&btnG=Search
Label Length: 3.4375"
Label Height: 0.6562"
Sheet Top Margin: 0.5"
Sheet Bottom Margin: 0.5"
Sheet Left Margin: 0.5"
Sheet Right Margin: 0.5"
Label Horizontal Spacing (gutter): 0.547"
Label Vertical Spacing (gutter): 0"
Similar in Layout To**: Avery ® 5066 **, 5366 **, 8366 **
Intended Use: File Labels, Folder Labels
the pdf resolution seems to be 100dpi, so for adjustments based on these measurements, just multiply the measurement in inches time 100.
the code: i had to deidentify some of this so forgive me if i've introduced any syntax errors
<cfset barcode_height = "63px">
<cfset barcode_width = "174px">
<cfset label_width = "142px">
<cfset gutter_width = "50px">
<cfset spacer_height = "0px">
<cfset name = "John Doe">
<cfset id = "WHATEVER">
<cfdocument pagetype="letter" format="pdf" mimetype="application/pdf" margintop=".5" marginright="0" marginbottom="0" marginleft=".5" overwrite="yes">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Barcode Labels</title>

subset: commoncrawl


text:
Munters MCD155 protects costly carbon filters at biogas plant
The Biogas plant Youngyun, South Korea has installed a Munters MCD155 desiccant dehumidifier to treat the air after processing of waste food
SKB (Scandinavian Biogas) a Swedish based company were given the task to improve the biogas production and increase the treatment of food waste at the Youngyun wastewater treatment plant in South Korea.
A new pre-treatment facility for the food waste was installed, re-designing and re-building the biogas process, adding ultrasound treatment and gas cleaning equipment.
By installing the MCD155 from Munters the relative humidity in the 8,000m³/h air stream from the process is now kept constant and reduced to a level at max. 50 %RH that does not harm the carbon filters.
The treatment of food waste increased from 40 metric ton per day to 180 ton per day. This has been both profitable for the city as well as highly beneficial for the environment and the green gas is sold to a local buyer.


text:
If you are happy to continue with this order, click on the "Confirm Item" button.
If you would like to cancel this item, click on the "Cancel Item" button.
Video Format - PAL + NTSC
You must be logged in to add a review.
That's a smart answer to a tricky qesuiotn
Really disappointed that this course doesn't include any TAB for the lessons.
You'll have to waste time TAB'ing out all the examples yourself for study. This will probably be my last LickLibrary course I'll purchase since they can't provide complete study materials to get the most of the courses.
Premium and Gold members get this FREE!
We have a range of memberships to suite all types of student. Get FREE DVDs allocated to your account every month with
our PREMIUM and GOLD memberships or get instant streaming
access to over 100 titles (more added every month) with our ULTIMATE membership.
Get one free DVD of your choice every month from the Licklibrary catalogue of over 500 DVDs. The free DVDs are in addition to the regular membership benefits including 24/7 unlimited access to hundreds of free lessons and jam tracks available to members now on the website. Save big on this great combination of online lessons and DVD lessons.
As part of this membership you will be allocated 2 free DVDs of your choice every month from the Licklibrary range, which you can redeem at any time. So over a period of a year you'll have amassed a collection of 24 DVDs. All that of course in addition to the regular membership benefits including 24/7 unlimited access to hundreds of free online lessons and jam tracks. That's unbeatable value for money.
Sign up for ultimate membership to gain access to all the features of Elite membership and you'll also unlock unlimited streaming access to over 100 classic LickLibrary DVDs with related backing tracks and tabs with more titles added every month.
You'll also benefit from a 40% discount on LickLibrary products all year round, so there will never be a need to wait for the next sale to pick up a DVD you want.
Ultimate members can watch this plus over 100 more titles instantly.
Andy James needs little introduction as one of the most popular LickLibrary tutors, respected the world over for his unbelievable technical skills and teaching material.
As a player Andy has released a string of solo albums, the last being 2012's "Andy James" on Transcend Music which was met with huge critical acclaim. Andy is also the guitarist for EMI signed act, "Sacred Mother Tongue" who are set to take over the world of metal in the near future. If there was ever a more focused, uncompromising metal guitarist than Andy James, we'd sure love to see him.
Andy's popularity has really peaked in recent years with tours all over the world as a solo artist, with Scared Mother Tongue and as a clinician. He is well supported by EMG pickups, Laney amps and ESP guitars who have given him his own signature model.
Join Licklibrary as an Ultimate member and you will gain access to all the features of Elite membership plus you'll also unlock unlimited streaming access to over 100 classic LickLibrary DVDs with related backing tracks and tabs – and we'll be adding more titles every month. You can watch them as many times as you want, whenever you want, on multiple devices!
As an Ultimate member you will also be able to watch many new Licklibrary DVDs online weeks before the physical DVDs are released
And if that's not enough, you'll also benefit from a 40% discount on LickLibrary products all year round, so there will never be a need to wait for the next sale to pick up a DVD you want.
Titles available for streaming on our Ultimate Membership
Browse the website
Useful contact links
Check us out on
Copyright © Licklibrary.com Limited. All rights reserved. Licklibrary.com Limited is not responsible for content of external sites or third party posts
Our website uses cookies so that you can place orders and we can provide you with a better service. Continue to use the site as normal if you're happy with this.
Cookies are text files containing small amounts of data which are downloaded to your computer, or other device, when you visit a website. Cookies are useful, and improve your experience on our websites. Some cookies are also necessary for the technical operation of our websites.


text:
A forum about Atari 16/32 computers and their clones. This forum is in no way affiliated with Atari Interactive.
Moderators: Mug UK, moondog/.tSCc., [ProToS], lp, instream, Moderator Team, Nature
johannes wrote:I tried other approaches as well:
- Tos 1.03c -> Tos 2.01
- Set Clockspeed of CT63 to 66MHz
Same outcome...
Perhaps, instream can shed some light on the changes from 009 to 010.
Users browsing this forum: No registered users and 5 guests


text:
Minnesota's exports fall in second quarter
MINNEAPOLIS (AP) — Minnesota's exports decreased nearly 6 percent in the second quarter as falling sales in Canada and China prompted the first such decline since the recession.
The Star Tribune reports exports to Europe rose 12 percent driven by growing sales in Germany, the Netherlands and Switzerland. But it wasn't enough to offset the effects of a slowing Chinese economy and lower shipments of ore and fuel to Canada.
According to figures released Thursday by the Minnesota Department of Employment and Economic Development, exports to Canada fell $182 million, or 15 percent, and they fell $155 million to China, or 21 percent. The two countries account for 40 percent of Minnesota exports.
State companies posted international sales of $5.2 billion, a 5.7 percent drop from the same period a year ago.


text: VISITVisitor InformationDirectionsThronson CaféMuseum StorePublic ToursGroup ToursSchool VisitsNearby AttractionsEXHIBITIONSCurrent ExhibitionsUpcoming ExhibitionsPast ExhibitionsOutlooks Exhibition SeriesArt Is EverywhereCOLLECTIONSBritish Pre-RaphaelitesHoward PyleAmerican IllustrationJohn SloanAmerican Art, 19th Century – PresentCopeland Sculpture GardenThe Helen Farr Sloan Library and ArchivesNew AcquisitionsCurator CornerSearch The CollectionPROGRAMS & EVENTSCalendarAdult ProgramsTalks & ToursFamily and YouthArt CampConcerts on KentmereCalls for ArtisansConnected SeriesHoliday House TourEDUCATIONStudio Art ClassesSchool & Teacher ProgramsOutreach: Art ExcursionsHomeschool ProgramsDocentsKids' CornerRed Apple FundMEMBERSHIPWhy Membership MattersMembership LevelsDirectors CircleRossetti CircleArt Is CardReciprocal MuseumsSUPPORTAnnual GivingLegacy Giving1912 Loyalty SocietyDonor PortraitsCorporate SupportFinancial Documents2014 Annual ReportABOUTCentennial HistoryBuilding DesignGoing GreenDelArt BlogE-NewsMuseum RentalPress RoomOpportunitiesVolunteerContact UsStaff ListBoard Of TrusteesMuseum CouncilFirstPrevious12..3536373839..6667NextLastEdna Wright AndradeDate: American abstract artist, 1917–2008School: Op ArtBiography: Edna Andrade is considered to be an early figure in the Op Art movement. Andrade studied at the Pennsylvania Academy of the Fine Arts and worked under Eeron Saarinen during World War II in the Office of Strategic Services. She spent her professional career in Philadelphia and taught at the Philadelphia College of Art. Andrade's vibrant, abstract paintings and drawings were the subject of solo exhibitions at the Pennsylvania Academy of Fine Arts in 1993 and at the Institute of Contemporary Art at the University of Pennsylvania in 2004. Her work is included in the collections of the Philadelphia Museum of Art, the Virginia Museum of Fine Arts, and the Baltimore Art Museum, among many others.Related worksUpdraftBrowse All


text:
Hotel Conti DuisburgBook Best Price
By order of the Federal Government of Germany: Overnight hotel stays will be allowed only for necessary and expressly not for tourist purposes. We ask for your understanding and in the meantime we wish you all the best and stay healthy. Your Hotel Conti Duisburg team
Full of contrasts: The cool and modern Conti lives up to its name with its contemporary design and central city location in Duisburg. The boutique hotel is very close to the city centre with ideal transport links to the airport and fairground in Düsseldorf, motorway, railway station and Landschaftspark-Nord, a former blast-furnace factory with an imposing light show. Trendy design, fresh colours, peaceful guest rooms, metropolitan flair – the Conti shows how standards can be surpassed and is perfect for all guests in North Rhine-Westphalia.
Hotel Conti Duisburg
Partner of SORAT Hotels
First class [Hotel garni]
- Düsseldorfer Straße 131 - 137
- DE 47051 Duisburg
- Phone + 49 203 - 28 08 96 10
- email@example.com
|Best price
- Non-smoking hotel
- Pets are not allowed
- Arrival from 02:00 pm
- Departure until 12:00 pm
- 71 rooms
- Wifi free
- Lobby internet terminal free
- Breakfast restaurant
- Lobby bar
- City bikes and Bike rental
- Hotel car park
- 25 parking spaces
- Parking reservation on request
- Parking fee per day and car: 13.00 Euro
Hotel Conti Duisburg
- Holidaycheck Recommended certificate 2019
Directions and maps
At the centre: Very quiet location in the centre of Duisburg. The central train station and the Königstraße central shopping and pedestrian area are within walking distance. Dellviertel, the trendy neighbourhood or the famous and vibrant inner harbour with fine food outlets located directly on the waterfront are close to the Conti. MoreNo matter what form of transportation you will be using to come to Duisburg the modern and very well-developed transport network enables you to reach the hotel easily. If you arrive by car, you can use our hotel parking lot. If you are trade fair visitor: The underground station is located directly opposite the hotel and U79 metro line gives you a direct link the fairgrounds in Düsseldorf. Furthermore, many long distance trains, express trains as well as regional trains and urban rail lines stop at the Duisburg central train station. If you like, you can also walk the 500 metres to the hotel. Enjoy the walk through Kantpark gardens. The Düsseldorf airport is only around 20 kilometres away from the hotel.
- Bus line 921, 924 and 944
- Kremerstraße stop: 50 m
- Subway line U79
- Kremerstraße station: 50 m
- Urban railway line S2
- Main station: 500 m
- Messe Düsseldorf fairground: 20 km
- Messe Essen fairground: 25 km
- Düsseldorf airport: 20 km
- Intercity Express main station: 500 m
- Königsstraße: 800 m
- Theatre and opera: 1.3 km
- Innenhafen inner harbour: 2 km
- Landschaftspark Duisburg-Nord: 9 km
- A59 motorway
- DU-Zentrum exit: 500 m
- Hotel car park
- 25 parking spaces
- Parking reservation on request
- Parking fee per day and car: 13.00 Euro
Route description
Route planner
60 Standard Rooms
- 20 sqm
- 2 single beds
- 2 mattresses 90 x 210 cm
- To the roadside or inner courtyard
- 48 quiet to the inner courtyard
- 12 roadside with air condition
- Wifi free
- Bath or shower
11 Comfort Rooms
- 20 - 25 sqm
- 1 double bed
- 1 mattress 180 x 210 cm
- Quiet to the inner courtyard
- Air condition
- Coffee and tea facilities
- Wifi free
- Toiletries free
- Bathrobe and slippers
- Shower
|Best price
|Best price


text:
Mark Zuckerberg, Tom Anderson to Star in 'Outsiders' Remake
Well what do you know, turns out Facebook really is MySpace for people who actually made it through college. According to a bit of exploratory research coming out of the School of Information Sciences at the University of California at Berkeley, the two popular social-networking sites seem to be dividing themselves around stereotypical socio-economic class lines. In "Viewing American Class Divisions Through Facebook and MySpace," ethnographic researcher Danah Boyd suggests that Facebook is the network of choice for the privileged in-crowd, MySpace for the outsiders:
MySpace is still home for Latino/Hispanic teens, immigrant teens, 'burnouts,' 'alternative kids,' 'art fags,' punks, emos, goths, gangstas, queer kids and other kids who didn't play into the dominant high-school popularity paradigm. These are kids whose parents didn't go to college, who are expected to get a job when they finish high school. Teens who are really into music or in a band are on MySpace. MySpace has most of the kids who are socially ostracized at school because they are geeks, freaks, or queers.
"The goody two-shoes, jocks, athletes, or other 'good' kids are now going to Facebook. These kids tend to come from families who emphasize education and going to college. They are part of what we'd call hegemonic society. They are primarily white, but not exclusively. They are in honors classes, looking forward to the prom and live in a world dictated by after-school activities."
Ah. So it's "socs" and "greasers" all over again, is it? And the fact that Facebook membership was originally restricted to folks with a college or university email address doesn't have anything to do with it? Just wondering …


text:
Four bids have been lodged for Coventry City Football Club Limited, the joint-administrator has confirmed.
Interested parties had until noon on Thursday to submit their best and final offers for purchase of CCFC Ltd's assets, coming after Friday's deadline for indicative offers which was understood to have attracted half a dozen suitors.
Joint-administrator Paul Appleton will now evaluate each confidential bid before making his recommendation on the most suitable as soon as possible.
"Following today's deadline for final and best bids for CCFC Limited, I can confirm I have received four bids," read Appleton's statement.
"I will obviously now take time to consider these bids before contacting the bidders with my final decision on a preferred purchaser. There will also be discussions with the Football League as part of this process."
The Sky Blues and Arena Coventry Limited (ACL), who run the Ricoh Arena on behalf of joint owners the Alan Edward Higgs Charity and Coventry City Council, have been involved in a lengthy and bitter rent row which has been ongoing for around 16 months.
Subsequently the npower League One outfit, under hedge fund owners Sisu, in March placed the non-operating subsidiary (CCFC Ltd) into administration, although Coventry City Football Club (Holdings) continues to operate.
Holdings, or a related company, are reported to be one of the bidders interested, while ACL - who have handed CCFC Ltd the opportunity to play at the Ricoh Arena rent free next term - have also shown an interest, but it is not known whether final offers have materialised.
American multi-millionaire Preston Haskell IV, a property tycoon, is another suitor believed to be in the running for the financially-stricken club, with former City vice-chairman Gary Hoffman and suspended life president Joe Elliott at the forefront of the consortium.
Speaking to Press Association Sport last month, Holdings chief executive Tim Fisher revealed controversial plans to move into a new stadium having claimed City had been given no choice but to leave the Ricoh, with a proposal to groundshare on an interim basis for three years while it is being built.


text:
Handmade Colorful Zebra Batik Cushion Cover - Tonga Textiles
Frequently Asked Questions
Handmade in Zimbabwe, this 17-inch square cushion cover has a batiked design on cotton canvas and a plain cotton back. With a flap closure and finished with contrasting piping, the cover will fit a standard 16 inch cushion pillow (not included).
Meet the Artisans
Founded by Zimbabwean-born artist, Jeremiah Makaza, this family run business has rapidly grown into a leading international exporter of Zimbabwean-made Sadza Batiks.
Q - How do I qualify for free shipping?
A - All orders over $50 that are shipped to the United States qualify for free shipping and will arrive in 3-4 days.
Q - How long before I receive my order?
A - If you live in the United States your order will deliver in 3-4 days if you selected Priority Mail or you qualified for free shipping. International orders vary by country. The most common international countries are: England, Australia, New Zealand and western Europe take 7 to 10 days. This does not apply to custom printed orders.
Q - What are Memory Cross cards made of and how durable are they?
A - The small Memory Cross cards are printed on 10 point coated board (think playing cards). The larger cards which measure 6 x 6 inches are printed on 100 lb. uncoated cover (think Hallmark card). We've tested each size and they hold up to hundreds of folds. The larger cards hold up longer because the "hinges" that allow them to fold are larger. We've tested the larger cards to fold over 500 times. That being said it is still important for the cards to be folded properly. Most children can figure it out on their own but if you are giving them to 4 or 4 year olds we recommend that you show them how it works. If you do not know how they work, we've created a video that you can watch by clicking here.
Q - What guarantee do you offer?
A - Memory Cross offers a 100% money back guarantee if you are not happy for any reason. We even pick up the cost of shipping the product back. Here is the link to our full return policy.
Q - Can cards be customized?
A - Yes cards can be customized for churches and businesses. The minimum order for churches is 250 and for business is 500.


text:
Dublin launch of 'Eva Gore-Booth'
This week has seen the highly successful launch of our biography of Eva Gore-Booth: An image of such politics by Sonja Tiernan. The event took place at the Mansion House in Dublin and featured a plethora of speakers.
Category: History, Irish Studies, Literature, Politics 24 Comments.


text:
Lightspeed: Peter Nieh
Fund: Lightspeed Venture Partners
Posted by goodform on 2007-09-03
If a VC takes an active role in your company, he/she can either be a help or a hinderance. You may havbe taken $$ from a VC Fund, but you end up having to deal - over and over again - with one Partner.
It would be greater if the Partner had extensive realworld experience. It would be even better if the Partner had a sense of humility, grace, decency and humor.
Peter has none of these.
So, take $$ from Lightspeed. Just don't take it from PeterPRIVATE: Members Only


text:
It is currently Tue Apr 07, 2020 12:56 am
View unanswered posts
View active topics
Board index
All times are UTC - 6 hours
View active topics
Last post
No suitable matches were found.
Display posts from previous:
All results
1 day
7 days
2 weeks
1 month
3 months
6 months
1 year
[ Search found 0 matches ]
Board index
All times are UTC - 6 hours
Jump to:
Select a forum
TFFN Online
Admin (Notices & Information)
MOD Team
TFFN (The Ford Falcon News)
TFFN (Support Sales & Auctions)
Supporters Only
R&P Conversion
Chassis, Suspension & Structural Widest Tires & Wheels & Etc.
Disc brake Conversion, MC upgrades and Brakes in General.
Paint & Body
Drivetrain (V8)
Drivetrain (I6)
Oddball Ford Engine Swaps
EFI Conversions & Tech.
Fuel Systems (Non EFI) Covers carbs, pumps, and Gas Tanks.
Transmission Rebuilding & Modifications
Exhaust Systems Headers, Mufflers & Etc.
Cooling System (Radiators / Heater / AC / Fans)
Interior TOTAL (Read Description)
Electrical Systems
Miscellaneous Tech. Messages & Articles. (Unclassified)
Member's Chit Chat - Chat about almost anything. (See Description for restrictions)
Drag Racing
Custom Corner
Australian Falcons
Other Classic Fords
Ask Any Question (Almost)
Alternative Energy (Electric, and non Gasoline Fuels) (Also Sub Forum for Homes)
Home Energy Improvements. (Wind Solar and Etc.)
EPA / Green movement Rants
Safety Issues (Falcon / Comet)
Member's Rides (Pictures)
Projects in Progress
Your Other Hobbies (Non-Automotive)
Vendor Feedback (Gripes/Praise)
TFFN Member's Garage
TFFN Member's Garage BLOG
North Eastern Region
South Eastern Region
North Central Region
South Central Region
South Western Region
Mountain Region
Pacific Region
Un Clasified Regions
New Member's Intro.
4 Sale/Trade/Wanted For Falcons, Comets & Econolines and Parts Only!
4 Sale / Trade / Wanted (Non Falcon, Comet, Econoline)
WANTED for Non Supporters Only
Jokes and Junk You might see in Forwards.
TFFN Member's Memorial
Powered by
® Forum Software © phpBB Group


text:
Invalid email or password. Please try again.
Passwords are case-sensitive, must be at least 8 characters in length, and must contain at least one special character.
Shop The North Face
Shop Patagonia
Shop Arc'teryx
Shop Ski
Shop Snowboard
Shop Hike & Camp
Fleece Under $50
Camp Under $100
Bargain Bin 60% Off or More
Bargain Bin 80% Off or More
Burton & Anon on Sale
Stoic & More on Sale
Deals on Gregory & Mountainsmith
Save on Black Diamond, Mammut, & La Sportiva
Steep Savings on Sunglasses
Deals on Rainwear
Save Big on Hiking Footwear
Hike & CampCamp Furniture


text:
This comment is currently awaiting admin approval, join now to view.
Liked Death Run in Counter-Strike but think that graphics are low and maps are old? Not any more! Play Death Run in 'Call of Duty 4: Modern Warfare' with old well known Death Run features and more. If you haven't played Death Run before and own original CoD4 copy let's play the classical mod in which a single player fights alone against the other team, his only weapons are his deadly traps. The players in the opposite team have to kill the trapmaster after finishing his course without dying.
Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.
Some pictures from incoming Death Run 1.2. You can see player cards, working fastest time record, new character, new compass, redesigned huds and insertion ability.


text:
From the series: Mission on Mars Robot Challenge
Paul Cox, MathWorks
Discover the rover robot used during the Mission on Mars Robot Challenge.
Presentation of the Rover Robot Discover the rover robot used during the Mission on Mars Robot Challenge.
Quick Start Guide to the 2016 Mission on Mars Robot Challenge Discover an easy way to start working on the Mission On Mars Robot Challenge.
Using Stateflow in Your Projects Short tutorial to learn how to use Stateflow and build state machines.
How to Create Different Scenarios Discover how to create different scenarios for the Mission On Mars Robot Challenge.
Description of the Initial Algorithm Overview of the initial algorithm used in the Mission on Mars Robot Challenge.
How to Implement Algorithms for Simple Moves You'll learn to control the Rover robot using distance and speed commands.
How to Build a Stateflow Chart A short introduction on the rover robot camera and instruction on building a Stateflow chart to move the robot to a specific target.
Building a Position Estimator for a Robot Overview of a simple position estimator for a wheeled robot, i.e. an algorithm assessing the absolute robot position based on relative wheel angle information.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .Select web site
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
This website uses cookies to improve your user experience, personalize content and ads, and analyze website traffic. By continuing to use this website, you consent to our use of cookies. Please see our Privacy Policy to learn more about cookies and how to change your settings.