Forms wrapper for Oracle data visualization components

Posted by Tobias on March 21, 2009 00:00 CET Updated on July 7, 2013 16:55 CEST 65 Comments Add a comment



Our company wanted to be able to visualize data in Forms 10 using graphs and gauges. For some time now we have been using the Forms BI Bean Graph Integration Wrapper created by Frank Nimphius. This wrapper enabled the use of BI Beans graphs in Oracle Forms. Since then Oracle has updated the visualization components with additional functionality like displaying data using gauges. To be able to use this functionality in Forms we have heavily modified the BI Beans wrapper to include the Oracle visualization components from version 11g Release 1 (

Forms wrapper for Oracle data visualization components


Since the visualization components are compiled with Java JDK version 1.6, a Java runtime environment (JRE) at version 1.6 or higher is required on the client machine running the Forms application.

Modifications to the original wrapper

There are numerous modifications to the original wrapper created by Frank Nimphius to provide some, but not all, functionality provided by the Oracle Data Visualization Components. Because we were already using the original wrapper we wanted full backwards compatibility so if all requirements are met this updated wrapper is a drop-in replacement for the original wrapper. All components belong to Oracle and the original author Frank Nimphius. The original source code (which have been modified in this bean) does no longer seem available from Oracle. The sources from Oracle hasn't been updated since early 2006.


Download binaries v1.0.3 (136KB)

Download binaries and sources v1.0.2 (1,16MB)

Download binaries v1.0.1 (51KB)

This file contains the FormsGraph.jar file, documentation, a test form for Oracle Forms Builder and a screenshot of the test form at runtime.

Download binaries v1.0.0 (5,38MB)

Download sources v1.0.0 (36KB)


Subversion repository at


Deploy using JDeveloper

  1. Download the latest version of JDeveloper (11g release 1 ATTOW).
  2. Install JDeveloper to the default location.
  3. Check out the sources from the Google project repo.
  4. Start JDeveloper using default role.
  5. Open the FormsGraph.jws workspace.
  6. To add the libraries, copy all libraries listed below to the lib directory in the FormsGraph project or go to the Project Properties dialog and choose ‘Libraries and Classpath’. Click ‘Add JAR/Directory’ and add each of the libraries listed below. Finally we need to add the file ‘frmall.jar’ which is located somewhere in your Oracle Forms installation.
  7. The final step is to create a deployment profile. Bring up the ‘Project Properties’ dialog again and choose ‘Deployment’. Click ‘New’ and choose ‘JAR File’ as ‘Archive Type’ and ‘FormsGraph’ as ‘Name’. You may use compression if you’d like but all default settings are fine. Now run the deployment by right clicking your project and choose ‘Deploy’.

That’s it! You will now have a FormsGraph.jar file in your deploy folder. But hang on a minute... It’s really small! That’s because it doesn’t contain the libraries. You now have two options; deploy the libraries using your application server configuration file or use your favorite method to merge all the JARs.

The following libraries are required for FormsGraph, the libraries can be located within your JDeveloper installation directory.

Deploy with Maven

  1. Find frmall.jar in your Oracle Forms installation and copy it to {forms-dvc-wrapper}/lib.
  2. Find dvt-jclient.jar, dvt-utils.jar, jewt4.jar, xmlparserv2.jar and copy them to {forms-dvc-wrapper}/lib.
  3. Create a sub folder in {forms-dvc-wrapper}/lib/com/oracle/forms/frmall matching the version of your Oracle Forms installation. Example: 11g.
  4. Move frmall.jar from {forms-dvc-wrapper}/lib to {forms-dvc-wrapper}/lib/com/oracle/forms/frmall/{version}.
  5. Rename frmall.jar to frmall-{version}.jar. Example: frmall-11g.jar.
  6. Repeat step 3 through 5 for dvt-jclient.jar, dvt-utils.jar, jewt4.jar, xmlparserv2.jar.
  7. Edit {forms-dvc-wrapper}/pom.xml and update forms.version and dvc.version according to your environment.
  8. Build using 'mvn package'.


For documentation on Forms properties for FormsGraph, please check out the sources and docs from the Google project site or refer to the sources directly.

How FormsGraph works

The class com.bincsoft.forms.dvc.FormsGraph acts as a wrapper for the class oracle.dss.graph.Graph. When FormsGraph is set as the implementation class of a Java bean area in Oracle Forms the constructor of FormsGraph will be called. The constructor will register all property handlers in the enum which we use from Forms to manipulate various aspects of the graph. The enum will hold class names of the property handlers so each property handler can be dynamically loaded when needed. When we use a property from Forms, let’s say ADD_DATA_TO_GRAPH, the FormsGraph#setProperty(ID, Object) method will be called. That method will redirect the call to its super class which will load the appropriate property handler class located in the package. When the class has been loaded, the FormsGraph#handleProperty(String, BincsoftBean) method will be called in order to execute whatever we want to happen when ADD_DATA_TO_GRAPH is set from Forms.

Version History

Post your comment

65 Comments (newest first)

Posted by judson losee on July 26, 2016 03:06 CEST

Thanks for sharing this. I am sure there are many people who are faced with the same problems I recently had. I couldn't find Try PDFfiller to fill a form here "". It allows you to to fill out PDF files.

Posted by sha on September 30, 2014 12:25 CEST

Hi Tobias, Great work.. Can this gauge be displayed in Oracle form builder 10g ?

Posted by Gregor on September 26, 2014 23:26 CEST

Disregard my previous mail. I have resolved the issue. There is a bug in FormsGaugePropertyHandler class. I have changed return statement return FormsGaugeProperty.valueOf(getClass().getName()); to return FormsGaugeProperty.fromString(getClass().getName()); and now it works.

Posted by Gregor on September 26, 2014 23:11 CEST

Need help with version 1.0.3 The problem I face is with gauge. When I run the supplied test form I get the following error: FRM-92091: unexpected fatal error in client-side Java code Java Exception: java.lang.IllegalArgumentException: No enum constant ..... It seem as if the class instance is returning the wrong class. Any idea?

Posted by Nasser on October 30, 2013 15:29 CET

Can anybody tell me how to show the value of each point in a line graph without moving the mouse over the point? I need to be able to show the actual value in each of the graph line points all at the same time.

Posted by @Nasser on October 9, 2013 00:06 CEST

@Tobias can you send me an example of an implementation of an HORIZONTAL_STACKED_BAR graph or a any LINE graph? Mi email is : Also which version of the FormsGraph.jar has the Gauge class com.bincsoft.forms.dvc.FormsGauge. I have used the jar file with 1791K and 4,000 and something with no good results.

Posted by Tobias on September 20, 2013 13:16 CEST

@Nasser FormsGraph.jar includes wrapper code for both the graph and the gauge component. Set the implementation class of your bean area in Forms to com.bincsoft.forms.dvc.FormsGauge to display gauges. Best

Posted by Nasser on August 16, 2013 17:18 CEST

If the FormsGraph.jar file now only includes the wrapper code for the graph component, how do I implement the gauge component?

Posted by Tobias on June 28, 2013 13:04 CEST

Hi, sorry for not replying sooner. Note to self: activate notifications on new comments! The FormsGraph.jar file now only includes the wrapper code for the graph component. The actual implementation of the graphs are located in the jars listed under 'Deploy using JDeveloper' in this article. You need to supply these jars with your Forms application in order for it to work. Best

Posted by FormsGraph Version on June 3, 2013 15:18 CEST

Thanks Tobias! are you sure that version 1.0.3 is the correct. I see the size of 136KB a little short for all the funcionality that this jar is suppose to include.

Posted by Tobias on June 1, 2013 20:40 CEST

The current version of FormsGraph (v1.0.3 or the sources) supports both graphs and gauges. If you (Nasser Hafes Reyes) have a specific problem, please post it.

Posted by Nasser Hafes Reyes on May 14, 2013 16:49 CEST

What version of FormsGraph.jar can handle both graph chart and gauge charts. I've been able to show gauges with one version of FormsGraph.jar and graphs whth another version of FormsGraph.jar. But I am not been able to show both with just one version of FormsGraph.jar .

Posted by archeage gold on March 4, 2013 16:02 CET

Wow! This could be one particular of the most beneficial blogs We've ever arrive across on this subject. Actually Wonderful. I'm also a specialist in this topic therefore I can understand your effort.

Posted by Tobias on September 7, 2012 20:31 CEST

Richard, The SET_XML_STYLE property exists in order to apply a style to the graph from Forms. It does not provide the ability to zoom an area in the graph, however, there are references in the dvt-faces-javadoc to zoom functionality. This is nothing I have explored in the past so the FormsGraph wrapper does not currently have support for this. Also, the 3D support you mention has been removed in the latest release but is available with the FormsGraph#enableThreeDMouseManipulation() method. Best

Posted by Richard on September 6, 2012 17:28 CEST

I am using set_xml_style and wonder how to get the zoom to work. I though I saw it work by clicking with the mouse and dragging over the section to zoom to. But now whatever I try all it does is turn the graph to give a 3D effect which is not what I want. Have you any idea what I should be doing to enable the zoom? I've been trying combinations of zoomDirection and mouseActions but to no avail. Thank you!

Posted by Tobias on September 1, 2012 23:46 CEST

The class ConcurrentHashMap was introduced in Java 1.5 so it would seem that you're running a JVM which is too old. Best

Posted by Wael Amar on September 1, 2012 14:16 CEST

I did all the steps but i have this error in java console and form not appearing, please help. java.lang.NoClassDefFoundError: java/util/concurrent/ConcurrentHashMap at oracle.dss.dataView.CommonDataview.<clinit>( at oracle.dss.dataView.Dataview.<init>( at oracle.dss.graph.Graph.<init>( at oracle.forms.demos.bigraph.FormsGraph.<init>(

Posted by Tobias on March 31, 2012 14:12 CEST

Hi, sorry for the late reply, your post seems to have been eaten by my spam dog for some reason. From your description I would think it's a bug in the graph lib. If you can reproduce the behavior in a JDeveloper project with the latest graph lib you could probably submit it as a bug to Oracle. Best

Posted by Unknown on March 24, 2012 00:00 CET

Hi Tobias, I've been working with this BEAN, but after fixing and passing almost all issues found, there's a last one we haven't been able to fix it yet. I'm doing VERTICAL_BARS, but sometimes their width is changed, and sometimes not. Not sure what is causing it. We are showing 12 months and values between 1 and 60000, but after displaying the 4th o 5th bar, suddenly displayed bars "get thin" or leave space between them (no idea why)..any suggestion to fix or handle it?... I can send you a screenshot for a better explanation. Any help would be really appreciated.

Posted by Tobias on November 17, 2011 19:46 CET

The only way to export the graphs is the EXPORT_CLIPBOARD property which will... well, export the graph to the clipboard so you can paste it somewhere else. Best

Posted by Edward Novillo on November 17, 2011 17:09 CET

Is there a way to print the Graphic??... Maybe PDF??...

Posted by Tobias on October 8, 2011 12:14 CEST

Version 1.0.2 which is available at the top of this article contains a compiled version for Forms Best

Posted by Marco on October 8, 2011 00:49 CEST

Donde puedo bajar el formsgraph para la oracle forms

Posted by Tobias on August 25, 2011 21:50 CEST

Just to let everyone know, James received a on startup and this was resolved by signing all jar files (FormsGraph.jar, dvt-jclient.jar, dvt-utils.jar, jewt4.jar and xmlparserv2.jar), clearing the client java cache using the Java control panel and finally restarting the weblogic server. Best

Posted by Tobias on August 24, 2011 21:47 CEST

James, sure, my box is tobias(at) I'm currently having some problems with my own 11g dev environment. I did get a ClassNotFoundException at one point which would indicate that weblogic can't find FormsGraph.jar. I'll keep you posted once I get this up and running. Best

Posted by James on August 22, 2011 07:41 CEST

Tobias, Can I email you an error listing from my java console - it might give some ideas?

Posted by Tobias on August 15, 2011 22:24 CEST

James, Sorry, I overlooked the fact that you are running 11g. I will get another dev environment with 11g and test it asap. best

Posted by James on August 12, 2011 07:54 CEST

Tobias, Further testing has found the following; I can run up the test.fmb from the 1.0.2 package when I use the Oracle forms demo FormsGraph jar file - that is it appears but doesn't do anything (as I expected). I didn't have JDeveloper installed on my PC so I did this and couldn't find the 4 jar files mentioned above there at all. I returned to using those I had found in for Forms installation perviously. I extracted everything from the Oracle forms demo FormsGraph jar file and then extracted everything from the 1.0.2 FormsGraph jar file and rebuilt a new FormsGraph file. It seems okay except I am unsure about the signing... Bit this doesn't work either - the test.fmb appears but doesn't run... Can you tell me what I am doing wrong please?

Posted by James on August 12, 2011 03:26 CEST

Thanks for your response Tobias - No I can't get the test form to run at all - I can get the Oracle demo form to run and can incorporate it's FormsGraph.jar into my apps okay and get graphs up there - I have set up a separate section in my formsweb.cfg file for this test form in the same manner as I have done for the Oracle Demo and copied the above jar files and the new FormsGraph.jar file into the forms/java folder exactly as for the Oracle demo - I have recompiled the test.fmb into Forms 11g - everything I can think of - I have turned the java console on but I just get nothing at all - the formsweb.cfg section is located, the session gets set up but then nothing..... I am really stuck....

Posted by Tobias on August 11, 2011 20:21 CEST

James, the 4 required library files are listed above. If the graph doesn't work then you should have an error message in the java console. Are you able to run the test form included in the 1.0.2 package? best

Posted by James on August 10, 2011 03:19 CEST

I have a working Forms 11g development and runtime installation (Windows 7 64bit) which runs my own Forms 11g app perfectly and also runs the Oracle Forms 11g Demo BIGraph perfectly. I have incorporated the Demo Forms 11g FormsGraph jar file into my app and have been able to produce graphs. I would like to use this latest version of FormsGraph but I simply cannot get the demo to work - it just doesn't appear with no error messages or other clues that I can find - can you please tell me which jar files I have to have to make this work or any other idea please. I have read all the documentation I can find but am unable to get any further....

Posted by Tobias on March 21, 2011 17:25 CET

Hi Omama, sorry for the late reply, been real busy. I ran your test form using your compiled FormsGraph.jar and the rotation doesn't work. So, something has gone wrong with your jar file and I'm not sure what. I'm guessing you followed the "Sources" section when creating your jar and I would recommend you to try the "Deploy using JDeveloper" section instead. You may have compiled your sources against the new version of the graph component but are running it with the old version and that's what's wrong. By supplying the original jar files from Oracle you get a much better setup, ie, you only need to replace the Oracle jars when new versions arrive and you never need to copy classes to the FormsGraph.jar file. Best

Posted by Omama on March 11, 2011 06:37 CET

Tobias I want to send you the jar file which i am using and the source code alongwith the form. Can u please give me your email address. My email id is *address removed*

Posted by Tobias on March 9, 2011 09:47 CET

The ROTATE_X_LABEL seems to work as expected. I'm using Set_Custom_Property('BLOCK.BEAN_AREA', 1, 'ROTATE_X_LABEL', '90'); where valid values include 0, 90 and 270. Having said that, you may not see your own expected results depending on which type of graph you are using. Have a look at the rotateXLabel() method (which you btw can do directly by browsing the Google subversion repository, scroll up for the URL), notice that we are using a method called getO1TickLabel() to rotate the labels. So, what's an O1-axis you ask? The docs say the following: "The ordinal axis on a line, bar, area, scatter, bubble, or stock market graph. The ordinal axis usually represents a dimension, and has dimension members along it, such as January 2000, February 2000, and so on. On most graphs, it is a horizontal axis. On horizontal graphs, it is a vertical axis. A graph can have either an ordinal axis or an X1-axis, never both." I hope you can get a better understanding of this and are able to solve your problem. Best, Tobias

Posted by Omama on March 8, 2011 19:05 CET

Tobias , I am facing one problem while recompiling the source code with Jdeveloper Studio and The ROTATE_X_LABEL property is not working when i recompile the same code . I dont understand why is it so . the java console debug shows that rotation is successful but the screen shows no rotation of X label.

Posted by Tobias on December 8, 2010 22:18 CET

Omama, I'm not sure how the SCROLLBAR property works. It seems to only add scrollbars when needed. The SHOW_GRAPH_IN_FRAME property isn't anything I've looked at previously but when looking at it now I realize the implementation is horrible. You need to set one property for the window size then another for initializing the window then a third property for actually showing the window. We can do better! *Code removed, browse it here: - line 1143* Or you can wait until I have the time to post an updated version of the source code. If you do change these two methods you can create the external window from Forms like this: Set_Custom_Property( 'BLOCK1.BEAN_AREA1', 1, 'SHOW_GRAPH_IN_FRAME', 'myWindowTitle|800x600' ); When closing the window the graph will automatically return to your form. Best

Posted by Omama on December 8, 2010 07:11 CET

Sorry ,Its actually HIDE_FRAME that break the form set_custom_property(Bean, 1, 'HIDE_FRAME', '' ) ; Reagards Omama Khurshid

Posted by Omama on December 8, 2010 07:03 CET

I was telling about SCROLLBAR property set_custom_property('block1.BeanArea1',1,'SCROLLBAR','true'); and about SHOW_FRAME and settings of FRAME like FRAME_POS,SET_FRAME_HEIGHT_WIDTH. SHOW_FRAME dont work in my case it crashes the form. Regards Omama Khurshid

Posted by Tobias on December 7, 2010 22:02 CET

Omama, I've tested SET_PLOT_AREA_COLOR for a pie graph and you're right; it doesn't work. It does work for other types of graphs though. A pie graph doesn't have a "plot area" in the same sense as say a bar graph. If you're trying to manipulate the way the graph looks you should really look into the xml styles. There are no SET_FRAME or SET_SCROLLBAR properties, where have you seen this? Best

Posted by Omama on December 7, 2010 06:20 CET

Tobias I have compiled the code successfully but it gives few warnings. Warning(966,24): setDataRowShownAsASeries(boolean) in oracle.dss.graph.Graph has been deprecated . . Warning(2553,33): finally clause cannot complete normally Moreover I have tried the properties, some of them are not working e.g. SET_PLOT_AREA_COLOR for PIE Graphs type SET_FRAME crashes the form SET_SCROLLBAR it shows nothing Can you help for this .

Posted by Tobias on December 3, 2010 08:18 CET

Omama, I think you are referencing an old 'dvt-jclient.jar'. Bring up the 'Project Properties' dialog and click 'Libraries and Classpath'. I have the following jars in the 'Classpath Entries' list: dvt-jclient.jar, dvt-utils.jar and frmall.jar. Nothing more and nothing less. Best

Posted by Omama on December 3, 2010 06:42 CET

Tobias I have tried recompiling Jdeveloper and attached all the jar files but it still gives these errors. Error(490,57): cannot find method createReferenceObject() Error(497,62): cannot find variable RO_FRONT Error(533,78): cannot find variable RO_AREA Error(692,24): cannot find method destroyReferenceObjects(int) Error(1855,83): cannot find variable GS_AUTOMATIC Error(1861,83): cannot find variable GS_NONE Please suggest how can i solve this . I am using Jdeveloper Studio Edition Version Regards Omama

Posted by PeterGriffin on December 1, 2010 13:02 CET

Tobias, Thanks for all your hard work. Im currently away from the office which is why im not able to test this, but as soon as i get back ill update you with how it goes (just letting you know im not ignoring it) Thanks

Posted by Tobias on November 22, 2010 22:34 CET

I have tested the binaries posted here with Forms and it worked. The exception you're getting says that the getVersion() method is missing from the Graph class which makes no sense. The only call to getVersion() in FormsGraph is in the constructor which prints the version of the graph component. I've posted updated binaries if you want to try them out. These newly compiled binaries omits the calls to getVersion() and are also linked against your Forms version. Unfortunately, I haven't included the required libraries so you will have to find them yourself within the JDeveloper installation directory. I've listed the required jars above. Find them and copy them to your forms\java directory, then include them in formsweb.cfg. The final step is to sign FormsGraph.jar and all the required libraries, otherwise you'll get security exceptions at runtime. Best

Posted by PeterGriffin on November 22, 2010 12:24 CET

we are running app server with JRE 1.6 yes. I rebuilt the Jar and signed it via JAR Signer metalink doc (jar -cvf) but i also just tried using the test fmb u provided and formsgraph.jar and got same error. Wondering if one of the other JARs (i.e. frmall?) may be referenced and they are too old perhaps? thanks

Posted by Tobias on November 19, 2010 21:13 CET

Mr. Griffin, I would need more information about your environment to do a proper analysis. If I would guess then maybe you're not running this on JRE 1.6? Also, you mention that you "rebuilt", what exactly do you mean by that? Best

Posted by PeterGriffin on November 19, 2010 12:53 CET

I just came accross this. we already use the original one in our forms environment. I got the formsGraph.Jar rebuilt and signed in our environement then used the JAR. But i get xception in thread "AWT-EventQueue-3" java.lang.NoSuchMethodError: oracle.dss.graph.Graph.getVersion()Ljava/lang/String; any ideas? We dont use Jdeveloper, only Forms Builder?

Posted by Tobias on August 11, 2010 22:15 CEST

I've just posted how to compile the sources using JDeveloper, scroll up and enjoy! Best of all, using this method you'll end up with the new version of the graph component. Best, Tobias

Posted by Jacob on August 3, 2010 05:59 CEST

Looking forward to your Jdeveloper project files for formsgraph. I tried but after creating a new formsgraph.jar it will always hit classnotfound error. Using the original jar file, unsigned, works. Even signing the original jar file returned classnotfound error.

Posted by Tobias on July 22, 2010 22:59 CEST

There is an updated version of the graph component in the latest JDeveloper release which fixes a number of bugs including one I notified Oracle about: zero values at the end of a bar looked like more than zero. Yay! Oracle sometimes listen to request! Give me a few days and I'll compile a new version of FormsGraph using JDeveloper. I'll post all steps on this page. Best, Tobias

Posted by Tobias on July 22, 2010 22:39 CEST

Omama, I'm guessing, by the error messages you specified in your e-mail, you're getting stuck at the addIndexLine() and addReferenceObject() methods. Try commenting those methods and compile again. I have never tried compiling using JDeveloper so I don't know how to set up the environment. Check the file make.cmd for clues regarding missing jars. Also, if the compiler complains about missing createReferenceObject() and destroyReferenceObject() methods it sound like you have the wrong version of dvt-jclient.jar which contains oracle.dss.graph.Graph. Best, Tobias

Posted by Omama on July 20, 2010 10:26 CEST

I have to do some modification in this FormsGraph jar file and want to recompile it again . I have installed jdeveloper 11g and tried to compile it but i think i m missing the libraries to attach can you just tell me the step to compile the source code of this jar file in Jdeveloper 11g.

Posted by Tobias on May 20, 2010 08:44 CEST

"Can i use this bean wrapper for oracle forms 9i with jdk 1.6" - Unfortunately we are not running 9i so I can't answer your question.

Posted by Kulkarni on May 16, 2010 10:22 CEST

Tobias, Can i use this bean wrapper for oracle forms 9i with jdk 1.6 .

Posted by Shankar on May 13, 2010 08:13 CEST

Omama, Can i use this bean wrapper for oracle forms 9i with jdk 1.6 . Please Advice Regards, Sahnkar

Posted by Shankar on May 13, 2010 08:13 CEST

Omama, Can i use this bean wrapper for oracle forms 9i with jdk 1.6 .

Posted by Tobias on February 15, 2010 14:29 CET

Omama, It depends on what you mean. If I'm not mistaken, the 10g Developer suite ships with JDK 1.4.2 which is incompatible with this wrapper. Having said that, I'm running Forms Builder 10g + this wrapper on JRE 1.6.0 perfectly fine. Best regards, Tobias

Posted by Omama on February 13, 2010 06:19 CET

Can we use this bean wrapper with Oracle 10g Developer suite?

Posted by Shekhar on May 22, 2009 11:21 CEST

Thanks. Its really a great effort.

Posted by Tobias on April 24, 2009 21:31 CEST

The source code has been posted, enjoy!

Posted by Tobias on April 21, 2009 23:09 CEST

The source code is ready to be posted, I just need a few more days to write a small guide on how to set up a development environment so the code will compile correctly. After that you are free to do what you want with the code but I would appreciate feedback with bug fixes and new features.

Posted by Narasimha Mothukuri on April 21, 2009 19:50 CEST

We would like to use this in our product. To make it more official would you be willing to share code and make it as open source? I am willing to help in making this open source project.

Posted by Tobias on April 5, 2009 12:35 CEST

Shekhar, if you have a license for Oracle Forms 11g and the original FormsGraph wrapper you should be good to go.

Posted by Shekhar on April 3, 2009 08:28 CEST

Does this jar needs any license/ Persmission ? I would like to know more about owner rights.. Thanks

Posted by Tobias on March 23, 2009 09:59 CET

The FormsGraph.jar file needs to be signed in order to make it work.

Read More