MIME Type about the video and audio

Mime Types


file type MIME type
ai application/postscript
aif audio/x-aiff
aifc audio/x-aiff
aiff audio/x-aiff
asc text/plain
atom application/atom+xml
au audio/basic
avi video/x-msvideo
bcpio application/x-bcpio
bin application/octet-stream
bmp image/bmp
cdf application/x-netcdf
cgm image/cgm
class application/octet-stream
cpio application/x-cpio
cpt application/mac-compactpro
csh application/x-csh
css text/css
dcr application/x-director
dif video/x-dv
dir application/x-director
djv image/vnd.djvu
djvu image/vnd.djvu
dll application/octet-stream
dmg application/octet-stream
dms application/octet-stream
doc application/msword
dtd application/xml-dtd
dv video/x-dv
dvi application/x-dvi
dxr application/x-director
eps application/postscript
etx text/x-setext
exe application/octet-stream
ez application/andrew-inset
gif image/gif
gram application/srgs
grxml application/srgs+xml
gtar application/x-gtar
hdf application/x-hdf
hqx application/mac-binhex40
htm text/html
html text/html
ice x-conference/x-cooltalk
ico image/x-icon
ics text/calendar
ief image/ief
ifb text/calendar
iges model/iges
igs model/iges
jnlp application/x-java-jnlp-file
jp2 image/jp2
jpe image/jpeg
jpeg image/jpeg
jpg image/jpeg
js application/x-javascript
kar audio/midi
latex application/x-latex
lha application/octet-stream
lzh application/octet-stream
m3u audio/x-mpegurl
m4a audio/mp4a-latm
m4b audio/mp4a-latm
m4p audio/mp4a-latm
m4u video/vnd.mpegurl
m4v video/x-m4v
mac image/x-macpaint
man application/x-troff-man
mathml application/mathml+xml
me application/x-troff-me
mesh model/mesh
mid audio/midi
midi audio/midi
mif application/vnd.mif
mov video/quicktime
movie video/x-sgi-movie
mp2 audio/mpeg
mp3 audio/mpeg
mp4 video/mp4
mpe video/mpeg
mpeg video/mpeg
mpg video/mpeg
mpga audio/mpeg
ms application/x-troff-ms
msh model/mesh
mxu video/vnd.mpegurl
nc application/x-netcdf
oda application/oda
ogg application/ogg
pbm image/x-portable-bitmap
pct image/pict
pdb chemical/x-pdb
pdf application/pdf
pgm image/x-portable-graymap
pgn application/x-chess-pgn
pic image/pict
pict image/pict
png image/png
pnm image/x-portable-anymap
pnt image/x-macpaint
pntg image/x-macpaint
ppm image/x-portable-pixmap
ppt application/vnd.ms-powerpoint
ps application/postscript
qt video/quicktime
qti image/x-quicktime
qtif image/x-quicktime
ra audio/x-pn-realaudio
ram audio/x-pn-realaudio
ras image/x-cmu-raster
rdf application/rdf+xml
rgb image/x-rgb
rm application/vnd.rn-realmedia
roff application/x-troff
rtf text/rtf
rtx text/richtext
sgm text/sgml
sgml text/sgml
sh application/x-sh
shar application/x-shar
silo model/mesh
sit application/x-stuffit
skd application/x-koan
skm application/x-koan
skp application/x-koan
skt application/x-koan
smi application/smil
smil application/smil
snd audio/basic
so application/octet-stream
spl application/x-futuresplash
src application/x-wais-source
sv4cpio application/x-sv4cpio
sv4crc application/x-sv4crc
svg image/svg+xml
swf application/x-shockwave-flash
t application/x-troff
tar application/x-tar
tcl application/x-tcl
tex application/x-tex
texi application/x-texinfo
texinfo application/x-texinfo
tif image/tiff
tiff image/tiff
tr application/x-troff
tsv text/tab-separated-values
txt text/plain
ustar application/x-ustar
vcd application/x-cdlink
vrml model/vrml
vxml application/voicexml+xml
wav audio/x-wav
wbmp image/vnd.wap.wbmp
wbmxl application/vnd.wap.wbxml
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wmls text/vnd.wap.wmlscript
wmlsc application/vnd.wap.wmlscriptc
wrl model/vrml
xbm image/x-xbitmap
xht application/xhtml+xml
xhtml application/xhtml+xml
xls application/vnd.ms-excel
xml application/xml
xpm image/x-xpixmap
xsl application/xml
xslt application/xslt+xml
xul application/vnd.mozilla.xul+xml
xwd image/x-xwindowdump
xyz chemical/x-xyz
zip application/zip

About the Task Flow

About the Task Flow

By W.ZH, Jan 2009 abstract from Fusion ADF 11g dev guide

Task flow is an important  new concept in the ADF 11g, especially the bounded task flow. So this article is to summarize the bounded taskflow  for the new beginners.

An ADF bounded task flow is used to encapsulate a reusable portion of an application. A bounded task flow is similar to a Java method in that it:

■ Has a single entry point

■ May accept input parameters

■ May generate return values

■ Has its own collection of activities and control flow rules

■ Has its own memory scope and managed bean lifespan (a page flow scope



Bounded Task Flow Features

Well-defined boundary

An ADF bounded task flow consists of its own set of private control flow rules, activities, and managed beans. A caller requires no internal knowledge about them. Input parameters can be passed into the bounded task flow, and output parameters can be passed out on exit of the bounded task flow. Data controls can be shared between task flows.

Single point of entry

An ADF bounded task flow has a single point of entry, a default  activity that executes before all other activities in the task flow.

pageFlow memory scope

You can specify pageFlow as the memory scope for passing data between activities within the ADF bounded task flow. pageFlow scope defines a unique storage area for each instance of an ADF bounded task flow. Its lifespan is the ADF bounded task flow, which is longer than request scope and shorter than session scope.


You can access an ADF bounded task flow by specifying its unique identifier within the XML source file for the bounded task flow and the file name of the XML source file.


You can identify an entire group of activities as a single entity, an ADF bounded task flow, and reuse the bounded task flow
in another application within an ADF region.

You can also reuse an existing bounded task flow simply by calling it. For example, one task flow can call another bounded task flow using a task flow call activity or a URL.

In addition, you can use task flow templates to capture common behaviors for reuse across different ADF bounded task flows.

Parameters and return values

A caller can pass input parameters to an ADF bounded task flow and accept return values from it. In addition, you can share data controls between bounded task flows.

Transaction management

An ADF bounded task flow can represent a transactional unit of work. You can declaratively specify options on the task flow definition that determine whether, when entering the task flow, the task flow creates a new transaction, joins an existing one or is not part of the existing transaction.


You can specify options on the task flow definition that determine whether or not the ADF bounded task flow can be reentered. For more information.


About  the managed bean for bounded task flow

All memory scopes are supported for managed beans in adfc-config.xml. ADF

bounded task flows allow managed bean scopes of application, session, request,

pageFlow, or none.

In order to allow managed bean customizations in an ADF bounded task flow, ensure

the managed bean metadata resides in the task flow definition for the ADF bounded

task flow. Avoid placing managed beans within the faces-config.xml file.

When an ADF bounded task flow executes, faces-config.xml is first checked for

managed bean definitions, then the task flow definition file for the currently executing

task flow is checked. If no match is found in either location and the managed bean is in

session or application scope, adfc-config.xml and other bootstrap XML source

files are checked.

Lookup precedence is based on memory scope. request scope managed beans take

precedence over session scope managed beans.


About the Page Flow Memory scope

Each ADF bounded and unbounded task flow exists inside a page flow scope that is

independent of the memory scope for all other task flows. Page flow scope is not a

single state like session scope. It defines a unique storage area for each instance of an

ADF bounded task flow. Each instance of the called ADF bounded task flow has its

own state. An ADF bounded task flow may therefore be called recursively.

Page flow scope is recommended as a means for passing data values between activities

within a task flow. Application and session scopes are also allowed within task flow

definition files, but are not recommended. Avoid using application and session scope variables because they can

persist in memory beyond the life of the ADF task flow. This may compromise the encapsulation and reusable aspects of a task flow.

■ Avoid using session scope to pass values from one ADF task flow to another. Better use page flow scope variables within the ADF task flow,

and use parameters to pass values between task flows.

■ Use view scope for variables that are needed only within the current view activity and not across view activities.

■ Use request scope when the scope does not need to persist longer than the current request.

■ Use backing bean scope managed beans in your task flow if there is a possibility that your task flow will appear in two region components on the same page and you would like to isolate region instances.

As a rule, use the narrowest scope that will work.

When one task flow calls another task flow (Could be in another remote application.), the calling task flow cannot access the called task

flow’s page flow scope and vice versa.


Use the task flow in the JSP page

You can drop its task flow definition from the Application Navigator onto a JSF page:

■ If the bounded task flow contains view activities that are page fragments, it is

added to the JSF page as an ADF region.

(This means all activities of this task flow will happen within this caller’s page.)

■ If the bounded task flow contains view activities that are pages, you have the

option of adding a button or link to the JSF page. When clicked, the button or link

executes the bounded task flow.

(This means when user click this button, browser will guide the user to a new page belong to the page flow.)


Task flow conversion and refactoring (This is cool.)

You can convert existing activities, JSF page flows, and JSF pages into new ADF

Controller components such as ADF bounded task flows and task flow templates.

You can create a new ADF bounded task flow based on selected pages in a JSF page

flow. Only pages that are part of a flow (that is, those that are linked by JSF navigation

cases) are converted to view activities in the new task flow.

You can convert an existing ADF bounded task flow to an unbounded task flow or

change whether the views it contains are pages or page fragments.


A task flow =     activities ( Method Call, Router, Task Flow Call, Task Flow Return,

Save Point Restore, URL View, View-JSP or fragment)

+ control flow cases ( Control Flow Case, Wildcard Control Flow Rule )

Task flow call activity before and after listeners are used to identify the start and end

of an ADF bounded task flow. Specifying a listener in the task flow call activity means

that the listener executes on that specific usage of the called task flow definition.

The task flow return activity identifies the point in the application control flow where

an ADF bounded task flow completes and sends control flow back to the caller. You

can use the task flow return activity only within an ADF bounded task flow.


The ADF bounded task flow can optionally return a value to the calling page when the

modal dialog is dismissed. The return value can be displayed in an input UI

component on the calling page.

The launching command button must specify a return listener. The return listener is a

method binding for a method with one argument, a return event. The return listener

takes the value specified in the returnEvent and sets it on the input component.

The input UI component should accept the return value of the command button by

specifying a backing bean and setting its partialTriggers attribute to the id of the

launching command button (see Using Input Components and Defining Forms in the

Oracle Fusion Middleware Web User Interface Developer’s Guide for Oracle Application

Development Framework for more information). The backing bean containing the return

listener should be registered in adfc-config.xml.

The target bounded task flow in the example contains a single view activity associated

with a page that contains an output text component. The source task flow passes the

value in the input text field as a parameter to the target task flow (for more

information, see Section 15.2, “Passing Parameters to an ADF Bounded Task Flow”).

In addition, the target task flow should specify a return value definition. To return a

value, you must specify:

■ Return value definition on the called bounded task flow. This specifies where the

return value is to be taken from upon exit of the called bounded task flow.

■ Return values on the task flow call activity in the calling task flow. These specify

where the calling task flow can find return values (for more information, see

Section 15.4, “Specifying Return Values”).

How to solve the embededLDAP error when fail bootup weblogic

By W.ZH Jan 2009

Problem : when you want to start the weblogic server you get error about the LDAP sth like this:

<An error occurred while initializing the Embedded LDAP Server. The exception thrown is java.lang.ClassCastException:………………………………..

Solve: Try to delete the ldap folder from “yourdomain/servername/ldap” and then restart the server.



———-weblogic explain———————————————————————————————————————————————-

Critical: An error occurred while initializing the Embedded LDAP Server. The exception thown is th. This may indicate a problem with the data files for the Embedded LDAP Server. If the problem is with the data files and it can not be corrected, backups of previous versions of the data files exist in dir.


An exception was thrown when initializing the Embedded LDAP server. The initialization failed and the server cannot boot.


There may be a problem with either the Embedded LDAP server configuration files or the data files.


Investigate the associated exception and attempt to determine why the exception occurred. Retry the reboot of the server.




How to install and config the SESCrawlerExport in CS

How to install and config the SESCrawlerExport in CS (10g R3)


By W.ZH Jan 2009

SESCrawlerExport is a component used to link the CS with SES, please refer my article about SES. Let us install it. You can refer to a doc called “Searching Oracle Content Server (Stellent) with Oracle Secure Enterprise Search 10.1.8” to install it. This doc is to help you solve the issues you may have, but not mentioned in that doc .

1. Get the SESCrawlerExport.zip from your CS server, for linux, it should be a folder under in your install package, sth like: …../ContentServer/extras/SESCrawlerExport.zip, download this zip to your PC.

2. Go to content server admin UI, under the menu “administration” in the “admin server”. select your server instance, such as stellenttt

3. Then follow the UI and the doc to install the new component zip file.

4. Then continue to start the config and to finish it.

            Default values :         Directory where the data feeds should be written to. —  datafeeds   (No \ or / at the beginning)
The name of this content source.  ———-          default

5. Make sure the yahoo js files are avaliable, YahooUserInterfaceLibrary is a default component installed in the CS, but it does not copy all the lib into the admin UI web folder, you need manully do it. Go to your CS server, copy the yahoo and event folder from /$CSHOME/ibr/weblayout/resources/yui/ to the CS admin UI web folder: /$CSHOME/contentserver/weblayout/resources/yui/
Then you can get java scripts used by UI. OK. Restart your CS.

6. Then you need to run the snap shot to create the feeds and feeds config file for the the items in CS. To run a snap shot, you can input the url or you can go the UCM admin UI, there is a menu under the “administration” called “SES crawler export”.

(for example, http://my.host.com/stellent/idcplg?IdcService=SES_CRAWLER_EXPORT ).

7. After the snap shot is run. you can get the config xml by the URL from the guide.  the feed file, feed control and control files and also the cache files fo your items will be all created to a folder under the bin of your CS install home. the folder name is your feedLoc config when you intall the component. Take a look those XMl files and you will understand more about the snapshot. 

8. and also try to update any item in your CS, and then check the feed folder again, you will find the feeds XML are auto updated.
Very good, you’ve done it!


How to know what kinds of the service you can run for this SESCrawlerExport and what are their correct name?

Unzip the SESCrawlerExport.zip read readme and sescrawlerexport_service.htm (from a subfolder of resoures). Of course, many action need the authentication, but this two doc give a view that how this component runs.

How to Link SES with Oracle Content Server

How to link the Oracle® Secure Enterprise Search (SES with Oracle Content Server (CS 10gR3)


By W.ZH, Jan 2009



This is a looking easy but very very trick task in fact. First, you need to read the Oracle® Secure Enterprise Search Administrator’s Guide, especially the chapter of “Overview of XML Connector Framework” and “Setting Up Oracle Content Server Sources”. Of course, you need to know how to run the Oracle content server and manage it from the admin manage UI.

So if you just try to run by “Setting Up Oracle Content Server Sources”, you will totally be lost at this stage and 100% guarenteed, you cannot link to content server successfully. Please note that there is a very cool bug in the Oracle® Secure Enterprise Search Administrator’s Guide. All the word of the “RSSCrawlerExport” must be replaced by “SESCrawlerExport”. Because the component name RSSCrawlerExport is wrong or it was chanaged in CS part! (SES team and content server team must hate each other deeply from heart.) But unfortunately, you cannot get any doc from the content server doc library to know how to support linking to SES.


Yes, there is not any piece of text about the SESCrawlerExport (or RSSCrawlerExport ;-)) from content server doc library. OK, then you need goolge a doc named as “Searching Oracle Content Server (Stellent) with Oracle Secure Enterprise Search 10.1.8”. Read this doc and you will know how to do! How to install the component and link the SES with CS. They do not tell you where to get the SESCrawlerExport.zip, it is in the extras folder of your content server installation package, just search it out from windows or linux box. Copy to your PC and you can install it by this white paper. After run through this doc, 50%, you will fail in the middle.

1. Refer to my article of “How to install and config the SESCrawlerExport in CS“, there are some mismatch of the config info between this doc and the SESCrawlerExport config UI. Such as FeedType, is not in the 10R3 UI to let you config.

2. FeedLoc is a folder name that cannot start with \ or /.

3. Then you can try to run that http://my.host.com/stellent/idcplg?IdcService=SES_CRAWLER_DOWNLOAD_CONFIG&source=<sourceName> to get the configFile.xml file, finally. But , again, please note that you cannot use the RSS_CRAWLER_DOWNLOAD in Oracle® Secure Enterprise Search Administrator’s Guide (Becaue of wrong name). This URL is to verify that SES can get the feed config file from CS. But before you starting doing any SES craw, you need let the CS to create the items’ feeds files and feeds control files for SES. This step call taking a snapshot in CS. So you need to do the snapshot before you can get the feeds and feeds config.

 4. To run a snap shot, you can input the url or you can go the UCM admin UI, there is a menu under the “administration” called “SES crawler export”. Is the snapshot runs in the page of http://my.host.com/stellent/idcplg?IdcService=SES_CRAWLER_EXPORT? Of coz not! Remember, this is the default SESCrawlerExport  packge comes with CS. It does not run….!  So three hours research get this: the reason is because of the YahooUserInterfaceLibrary, its lib files not total be put into the admin web server. Java scripts missed.


What u need to do is:

Go to your CS server, copy the yahoo and event folder from  /$CSHOME/ibr/weblayout/resources/yui/ to the CS admin UI web folder: /$CSHOME/contentserver/weblayout/resources/yui/

Then you can get java scripts used by that export page. OK. Restart your CS and then try to run… invoke snpashot,,, it runs!


So by now, if u follow the “Searching Oracle Content Server (Stellent) with Oracle Secure Enterprise Search 10.1.8”. Step by step, you should able to link the SES with CS, then use the SES search UI to search out the resource in your CS. Please note that some files type, such as pic can not be indexed from SES crawler by default, so you might see nothings can be searched out if you only have pics in CS. You can do more research to find out how to do it. Review the scheduler log from SES will help you check the crawler working status.


Oracle Secure Enterprise Search Install

By W.ZH    Jan 2009

SES is search engine by Oracle, different with the google search on web, this search engine let you search in intranet. So this search is for enterprise to use. it support many resoures, such web site, files system, DB and content servers…..

Basic idea is that search Engine will use crawlers to index those sources from time to time(can define), then save the metadata and index info to the SES DB. then client can either use web UI (looks quite like google) or a web service API to do the search resources. Ok, let us take a look.

Install (Example as windows version)

1. go to URL of http://www.oracle.com/technology/software/products/search/htdocs/winsoft.html to download the SES software,

2. in you PC unzip it to a folder. then just run the setup.exe, follow the steps to install it. (write down the pasword you given)

3. there is a welcome.html page can let access the doc and help.

4. Installer will install the SES engine, a oracle DB and a OC4J web server, and a bit others in your system.

5. in the last step , installer will show two URL, you must save them, one is the admin URL, one  is search web UI.

6. good, then you can access the two URL to play with it.

How to Use

After you have successfully installed Oracle SES, you can start crawling your data. Open a browser, enter the URL provided at the end of the installation for the administration tool (http://host:port/search/admin/index.jsp), and log on. The basic steps here:

1. Define one or more sources for the data you want to search on the Home – Sources page. For example, if your data is in Web pages, then select Web source. A crawl schedule is automatically created along with the source. If Start Crawling

Immediately is selected, then the crawler will start crawling after you click Create.

2. Check the crawler progress and status on the Home – Schedules page.

3. You an go to search page to search this source ( There is a Search link in the upper

right corner of any page)

4. Monitor your search statistics on the Home – General page and the Home –

Statistics page.

Ok start roll!

Problem: unable to initialize credential store

By W.ZH  Jan 2009



when I migrate a sample project from 10g or 11g to my version 11g jdev, every thing looks fine and project migrated, but when you try to run it, you will see the JDBC connection error in log (password null), and also you will see that if you change or even open the DB connection and then try to save it, get an error of “unable to initialize credential store.”

Possible solutions from OTN forum:


This looks like a corrupted cwallet.sso file. It happens sometimes that this file, which holds the credentials of the connections and roles.

This file is located in the src/META-INF folder. It can be recreated if you close JDev, delete (or rename) the file and start JDev again. Then you have to add the connection to the applications again. This should recreate the cwallet.sso file.(W.Zh: I found there are two sso  and
jps-config.xml files in my project. i think this is a migration issue.)

To my knowledge this should not happen in JD11. This cwallet.sso problem was first discovered in TP4 (frequently), where the file got corrupted when you interrupt starting the embedded server.

This has not happened to me since JDev I just remember this when I saw you error.



I’ve figured a solution for this bug.

– Creating a new application

– Creating a new connection in the app ressources (now it’ll work : no “Unable to initialize credential store”)

– Copying Model and ViewController project from previous application




Hi. I recently got JDev and when I opened my current project, it was migrated from JDev and I got the same problem. I solved this checking
jps-config.xml file, fixing the security context. I don’t know why it was incorrectly set after migration. After I fixed and set up correctly the security context, I just tested my connection, retype password and save. That’s all. I think it doesn’t have relation with cwallet.sso file in this case.

Hope this resolution be usefull for somebody.


W.ZH:  I slove my problem by method 2 (This time OTM forum can have answers ;-)).  Jdev 11g seems need some time to get mature.