Link to home
Start Free TrialLog in
Avatar of cancer_66
cancer_66Flag for United Arab Emirates

asked on

Search:- 4 For Mr ozymandias

comments:-

1)once i click on the "go" the aglet should go from compA to compB (do pattern matching) then go to compC(do pattern matching) then back to compA and print the results.

i.e we should use what is called in aglets as Itinerary Pattern

http://www.ryerson.ca/~dgrimsha/courses/cps720/patternSeqIninerary.html
Avatar of cancer_66
cancer_66
Flag of United Arab Emirates image

ASKER

2)in the previous code "DefinitionChecker.java" you have commented quite a large number of code 286->358

does it have any effect on the funtionality of the program. or its still does what it use to do before commenting them?
3)i have tried testing the current aglet code by sending it to another computer and it worked:)
please answer me whenever u r free .
ill be waiting.
1) Yes. I can incorporate a sequential itinerary pattern into the cdode. I just need to test it.

2) Yes. I commented out the main() method that I had been using to test the DefinitionChecker before I turned it into an aglet. having a main() method in an aglet seems to cause instantiation errors in Tahiti.

3) Good.
OK. It's done. I will mail you all the updated code.

Make sure you replace all the old stuff with the new stuff and recompile.

In addition to the previous instructions you will need to create a third instance of tahiti running on port 6434.

The whole aglet is now itinerant.
There is no longer a send clone button, as we are not using clones.

When you click on go the aglet will visit each machine on its itinerary and then return home and display all the results it found.

To change the itinerary you just need to edit the appropriate lines of code in UI1.java.
sorry i wasnt at my seat. just came back. ill just do that
1)how can i create a instance on port 6434?
Normally you start tahiti by running :

    agletsd -f ..\cnf\aglets.props

To start three instances of tahiti make two copies of aglets.props in the cnf directory and call them aglets5434.props and aglets6434.props. Then edit aglets5434.props and chnage the maf.port setting from 4434 to 5434 (make sure upi delete the # from the beginning of the line as well). The do the same for aglets6434.props but chnage the port to 6434.

Then run :

   agletsd -f ..\cnf\aglets.props
   agletsd -f ..\cnf\aglets5434.props
   agletsd -f ..\cnf\aglets6434.props

and you'll have three versions.
2)program worked locally but when i tried to test in on the network i have at home. i got the follwing error

on client computer
code = 400
com.ibm.maf.MAFExtendedException: INTERNAL ERROR

     at com.ibm.maf.atp.MAFAgentSystem_ATPClient.receive_agent0(unkown Source)
.
.
.
.
on server computer
[Warning: The hostname seems not having domain name.
 Please try -resolve option to resolve the fully qualified hostname
 or use -domain option to manually specify the domain name.]
AgletRuntime is requested to get unknown user's certificate
AgletRuntime is requested to get unknown user's certificate
java.io.InvalidClassException: javax.swing.JScrollPane; Local class not compatib
le: stream classdesc serialVersionUID=5203525440012340014 local class serialVers
ionUID=7236670505204818815
        at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
23)
        at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:567)
        at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:936)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
        at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
        at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:226
3)
        at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:51
9)
        at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
        at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:226
3)
        at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:51
9)
        at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1412)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
        at com.ibm.aglets.AgletReader.readAglet(Unknown Source)
        at com.ibm.aglets.AgletContextImpl.receiveAglet(Unknown Source)
        at com.ibm.aglets.MAFAgentSystem_AgletsImpl$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.ibm.aglets.MAFAgentSystem_AgletsImpl.receive_agent(Unknown Source
)
        at com.ibm.maf.atp.ConnectionHandler.handleDispatchRequest(Unknown Sourc
e)
        at com.ibm.maf.atp.ConnectionHandler.handleRequest(Unknown Source)
        at com.ibm.maf.atp.ConnectionHandler.handle(Unknown Source)
        at com.ibm.maf.atp.ConnectionHandler.run(Unknown Source)
AgletRuntime is requested to get unknown user's certificate
AgletRuntime is requested to get unknown user's certificate
java.io.InvalidClassException: javax.swing.JScrollPane; Local class not compatib
le: stream classdesc serialVersionUID=5203525440012340014 local class serialVers
ionUID=7236670505204818815
        at java.io.ObjectStreamClass.validateLocalClass(ObjectStreamClass.java:5
23)
        at java.io.ObjectStreamClass.setClass(ObjectStreamClass.java:567)
        at java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java
:936)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
        at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
        at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java:226
3)
        at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:51

     
Do all the computers have the same version of the JDK (java) installed ?

It looks like one has one version and the other has an older version so you are getting class compatobility errors.

yes on both computers i have downloaded the same JDK1.3.1

3)locally it works fine. i just created a third instance on port 6434 and it worked.

but on the LAN it didnt for some reason.

the aglet versions are the same and the jdk1.3.1 is the same as well.
java.io.InvalidClassException: javax.swing.JScrollPane; Local class not compatib
le: stream classdesc serialVersionUID=5203525440012340014 local class serialVers
ionUID=7236670505204818815

This error means that when part of the aglet is beging serialized and transfered from one machine to another the version of (in this c ase) JScrollPane.class is different.

The only way I can think of that happenening is if you have different version of the JDK or JRE.
hmm do u want me to try reinstalling JDK1.3.1 on both computers again. the same file.

ill do that and test it again.
Did you update or install an updated JRE (Java Runtime environment) ?

It is possible that you have one version nof the JDK (1.3.1) but a different version of the JRE. The JDK classes were used to compile the code but the JRE's classes are being used by tahiti.
I seem to remember that you said you had an eror about JAVA_HOME not being set. You may need to set this and make sure it points to the JDK installation directory.
nope iam havent updated JRE to tell u the truth i dont know which version iam using ?

but yes i have updated only the JDK on both computers to JDK1.3.1
4)how can i set the JDK_Home?

iam using windowsXP

i know that i have to add the path of the JDK in the environment variables.

control panel->system->advance->envirnment variables
The only thing I can suggest is that you update the JRE on both computers to 1.3.1 as well and then recompile all the code.
in agletsd.bat check the line that reads :

    set JDK_HOME=

and let me know what is says
ok ill try that,

@REM ==================================================
@rem Aglets Server startup script
@rem     author  Hideki Tai
@rem     version    $Revision: 1.2 $ $Date: 2002/01/19 21:54:58 $ Last checkin: $author$
@REM ==================================================

@echo off
@REM Configurable part
set AGLET_HOME=@aglet_home@
set JDK_HOME=@jdk_home@

@REM Add all jars in the lib directory to the classpath
@REM Local class files will supercede aglets.jar.
set LOCALCLASSPATH=%CLASSPATH%;%AGLET_HOME%\lib;%AGLET_HOME%\lib\classes
for %%i in (%AGLET_HOME%\lib\*.jar) do call lcp.bat %%i

:loop

"%JDK_HOME%\bin\java" -Daglets.home=%AGLET_HOME% -classpath "%LOCALCLASSPATH%" com.ibm.awb.launcher.Main %1 %2 %3 %4 %5 %6 %7 %8 %9

@if errorlevel 1 goto exit
@goto loop

:exit
OK. I think you need to change those settings to :

set AGLET_HOMEc:\aglets
set JDK_HOME=c:\jdk1.3.1\jre

Assuming that your JDK is installed in c:\jdk1.3.1.
If not set it to the correct location.
fine ill try that. and let you know. ill be back.
ill be back in 20min.
1)hmm ill test it now.

any luck ?
2)it worked. ill tell you what i did tomorrow.
3)i think i was doing something wrong when specifying the

hosts in the UI1.java

when i have this in the UI1,java
hosts.add(new URL("atp://laptop:5434/"));
hosts.add(new URL("atp://laptop:4434/"));

and create the aglet (definitionchecker) from atp://sm:5534

now the aglet should move from (atp://sm:5534) to (atp://laptop:5434) then (atp://laptop:4434) finally (atp://sm:5534) print results. this works

2)when i have this in UI1.java
hosts.add(new URL("atp://laptop:5434/"));
hosts.add(new URL("atp://laptop:4434/"));
hosts.add(new URL("atp://localhost:6434/"));

and create aglet (definitionchecker) at (atp://localhost:6434/)

now aglet should move from (atp://localhost:6434/) to (atp://laptop:5434/) then (atp://laptop:4434/) finally (atp://localhost:6434/) print results

i get Socket Exception many others .. ill print it here tomorrow.

1)am i doing something wrong when specifying the destination???
You cannot specify localhost like this :

    hosts.add(new URL("atp://localhost:6434/"));

localhost ALWAYS means the local computer. The aglet is mobile so when you use localhost on one machine1 and then send the aglet to machine2, localhost when interpreted on machine2 will mean machine2, not machine1.

The URLs must always contain the proper network name of the computer to which the aglet will travel.

To do waht you want the aglet would have to be created on sm in the server running on 5434 and the itinerary should read :

hosts.add(new URL("atp://laptop:5434/"));
hosts.add(new URL("atp://laptop:4434/"));
hosts.add(new URL("atp://sm:6434/"));
Avatar of Mick Barry
> I will mail you all the updated code

please ensure you also post the code here once done, for the benefit of anyone reading the question once it is PAQ'ed.
1)sorry i wasnt at my seat. oh ok i knew i was doing something wrong there:) thanks ill try that right away.

so when i have in the UI

hosts.add(new URL("atp://laptop:5434/"));
hosts.add(new URL("atp://laptop:4434/"));
hosts.add(new URL("atp://sm:6434/"));


and create the aglet from atp://localhost:4434 and click the button "go"

it means that the aglet will move from (atp://localhost:4434) to the destinations specified in the UI.java correct in a sequential order correct?
2)i havent recieved anything in my mail??
1) Yes. That is correct. The aglet follows the path sepcified visiting each URL in the order they are specified. Once it runs out of URLs it dispatches itself home and displays its results.

2) That comment was not from from me. It was another expert commenting on the fact that we are mailing code rather than posting it.

Is everything working OK now ?
2)iam really sorry i was at the hospital. just came back. ill test it right aways.. sorry
3)YES it workedddddddd :)) thanks alot:)

4)i have a comment on adding new patterns. lets say i wanna add a pattern "can be defined such as"

do i have to keep each one seprately in a different list?
or shall i reuse a lists which already have one of the patterns in such as list2 and list8

private static WordList list1 = new WordList("is,was,are,be,",",",false);     private static WordList list2 = new WordList("described,defined,delimited",",",true);
private static WordList list3 = new WordList("as,by",",",false);
private static WordList list4 = new WordList("is",",",false);
private static WordList list5 = new WordList("the",",",false);

private static WordList list6 = new WordList("can",",",false);
private static WordList list7 = new WordList("be",",",false);
private static WordList list8 = new WordList("defined",",",true);
private static WordList list9 = new WordList("as",",",false);

// create a WordPattern
WordPattern pattern3 = new WordPattern();
// add the appropriate WordLists
pattern3.addList(list6);
pattern3.addList(list7);
pattern3.addList(list8);
pattern3.addList(list9);
// add the WordPattern to the vector
pm.addPattern(pattern3);

you see in the comming days ill add more and more lingustic patterns.

Sure you can reuse list2 in place of list8.
But, you have to bear in mind that if you add :

list6
list7
lisy2
list9

to a WordPattern that pattern will match :

can be described as
can be defined as
can be delimited as
I would still urge you to reconsider looking for words like is, are, by, as, can and be. If a sentence contains described it will either contain one of those words or be grammatically incorrect.

If it contains one of those words why waste time looking for it?

If it doesn't and is there fore grammatical nonsense then what's the point retreiving it from the search as it will have no real value.
1)my superisor asked me if my program stem the words like "is,were,was" he said a good morphlogical analayser would stem them for example

is ==> be
were ==> be

you see he said lets say we have

pattern(is,defined,as)

sentence= mobile agents was defined as robots

this sentence should be retrived because "was" is stemmed to "be" you see. and the sentence is retrived but definatly this would effect the ranking.

1)there for we need not to encode all the tokens such as (is,be,were,was...etc)
2)can you help me out with more documentation in the current code you have sent me (with itenary)? please

3)i added the pattern

can be defined as

and tested it against strict mode:

it should give me 11points correct ?
but it gives me 9points

i think it is matches "be defined as" dor some reason.

please answer me whenever ill be waiting
1) is,be,was,were are not word stems. By putting them in the same WordList you can say tyat they are equivalent, but that's all.

2) Yes. I will look into that.

3) "can be defined as" would match "be defined as" from the previous pattern first so it would get the score 9 from that pattern, not 11. If you try "full scoring" its score should be 20 (9 for "be defined as" plus 11 for "can be defined as").
3)ok ill try that. so u mean if i remove "be defined as" from the pervious list it would score 11?

3) You don't have to do that. All you have to do is make sure that the WordPattern containing "can be defined as" is added to the PatternMatchcer before the WordPattern conraining "be defined as". That way, "can be defined as" will be found first and the score will be 11.
4)when i choose fast search + strict search

and i have the following sentence:

computer graphics be defined as science which is the display of digital images

the rank for the patterns should be 9points

because the first match it finds is "be defined as"
but it prints 7points which mean it takes in account "is the "?

3)i.c i got ur point
3 and 4)

The WordPaterns will be matched in the order in which they are added to the PatternMatcher.

If the Patternmatcher is operating in FAST mode it will return the pattern score for the sentence as soon as it finds a match, without bothering to look at any other patterns. In FULL mode it will always compare all patterns and then return the cumulative score of all comparisons.
5)ok ill show the work tomorrow and give u the comments,
thanks

6)please try and help me out with the documentation of the current code.
7)hi, sorrry i wasnt at my seat. iam just back. can you make the aglet print ("just arrived") on search tahiti server as it going through the servers?
8)i havent been able to meet with my supervisor to show him whats been done so far. hopefully ill meet him tomorrow and then tell you the comments.

please answer me whenever you are free. ill be waiting,
i guess you are busy.. ill wait, take ur time
9)hmm how did you create the "runboth.bat" ?
I have two files that run multiple servers.
One is called runboth.bat and it runs two servers, one on port 4434 and one on port 5434.
The other is called runthree.bat and it runs three servers on 4434, 5434 and 6434.


RunBoth.bat
===========

start agletsd -f ..\cnf\aglets4434.props
start agletsd -f ..\cnf\aglets5434.props

RunThree.bat
============

start agletsd -f ..\cnf\aglets4434.props
start agletsd -f ..\cnf\aglets5434.props
start agletsd -f ..\cnf\aglets6434.props
9)oh so u mean i should create a file and call it "runfour.bat" for example and have

start agletsd -f ..\cnf\aglets4434.props
start agletsd -f ..\cnf\aglets5434.props
start agletsd -f ..\cnf\aglets6434.props
start agletsd -f ..\cnf\aglets7434.props

that would start all four servers.

10)i think u missed comment # 7
11)the supervisor commented when i met him last. that he might give me a scoring algorithm that he has written and he wants me to integrate it to the code. no didnt give me much info about it.

is it easy integrating it?
12)my supervisor suggested testing the system by comparing it with google for example.

1)search for "computer graphics" with google
2)take the first 10 links and extract all the sentences put them in different files.
3)use aglets to search for "computer graphics"
4)compare the results

frankly speaking i didnt really understand how the comparison is going to be done !?

what do u think/suggest?

take ur time ,ill wait
7) OK. I weill do that and send you the code.
9) Yes as long ay you have actually created the files in the cnf directory with the correct configurations.
10) OK. See 7)
11) I have no idea until I see it.
12) That sounds odd to me. Firstly google doen't necessarily search for "sentences" in the same way we do. It might find computer graohics in the leywoird metatags from the html pages. Secondl;y, if you "extract" the sentences and put them in files then you know that they are there and they are no different from the files we already have. How is that a comparison with what google does ? To make it fair you would have to write an HTML parser that would extract "sentences" directly from the html and get our program to search html files instead of preformatted text files.

13) The more I hear about this the more I get the impression that your supervisor thinks that you are writing this code. Aren't you worried that he will find out that you are not ?
12)iam not clear about it as well. to tell u the truth he just commented breifly. ill meet him tomorrow and let u know what he has said.

13)hear about?no iam not since iam explaining things clearly to him. and he is happy.

14)HTML parser. is implementing it complex? secondly our program puts the sentence in an array when "#" key is met.so would that be taken care of by the HTML parser?
12) OK.

13) As long as your supervisor is aware that you have someone helping you with the programming then that is fine. I just don't want anyone to get into trouble.
14) An HTML parser is a program that would read through all the hypertext markup and strip out all the tages and extract just the text. This text could then be broken into sentences, so we would not need the files with the # in them. We could read straight from HTML.
13)i did tell him that someone is helping me. he told me its ok as long as you understand what going on. there are no problems. ive done the presentation on sunday and they were all impressed. thanks

14)i.c - ill meet him tomorrow. and discuss it.

but do u think our current system. would find matches if html parser is implemeted. definatly after integrating enough lingustic patterns in the code.
14)is it diffcult to implement though?
   you think the best thing to do is to use the HTML parser. if i was going to do what the supervisor suggested.

take ur time,ill wait,thanks
ill be waiting 4 ur answer
14) I have written a VERY BASIC parser that will extract out all the textual information in an htlm file and break it up into "sentences". I have integrated this into the program so that it will now read HTML files and text files. I have run a couple of tests and it works fine.

I also ran a search in google for "computer graphics" and downloaded a couple of sample pages to test. The problem is that I can't find any prges on google where you get "computer graphics" and "is defined by" (or variations thereof), so it's a bit hard to do a comparison without creating rather contrived pages.
14)ok thanks. i know what you mean. but maybe after adding more and more sophisticated lingustic patterns. it might work.

let me meet with him tomorrow and then ill tell you the outcome of it.

how do u think i could validate or test the current system.
thanks for all ur help.
15) hello, i have met with my supervisor and discussed the issue of testing the current system. he has commented:-

1)definatly we will have to have a customized pages as you have suggested. and then run the search

2)add more patterns;-

for example:-

beverb     defVerb      bypreposition
=======    =========   ==============
be          defined          by
is          described        as
was         specified        as
were        fixed            such
are         redefined        like
.             .               .
.             .               .
.             .               .
.             .               .

you see i need to add all the synonyms of "define" + verbs + prepositions

another example:-

defVerb     inPrep     article
=======    ========    =======
defined      in          the
described    on          a
.             .          an
.             .           .      
.             .           .
.             .           .



3)rather then calling the lists as "list1,list2" its better to call then "beVerb,defVerb,byPrep..etc"
where list "defVerb" can be reused.

hope i explained clearly..?
sorry for the miss up there.
15)or we could have

as defined in
     
where list "byPrep" can be reused as well as list "inPrep"

please answer me whenever you can,
15)also "defVerb" list can be reused.
16)hello, iam back, hmm i didnt recieve anything from you??

ill be waiting
17)can we add a little bit of delay as aglets pass through each computer printing "just arried processing" just so it make lifes easier to acually monitor them (only for testing ill remove it later)

plz

thanks
I can add a delay if you want, but the only reason that there is no delay now is that the aglet only has to read 4 very small files and look for a few simple patterns. As the files get bigger and the patterns get more complex you will see a delay start to occur naturally as the aglets processing will take longer.
17)i know what u mean. this is just temporary so i can accually see them as they move.
17) OK. That is done. I will mail you the new code shortly.

I have also been making some more changes so that my 3 servers running on one machine act more like 3 separate servers.

Each server now has its own separate public directory rather than all sharing the same one.

Each server has different files rather that all having the same files.

I have created an aglet called a FileHelper that automatically runs on each server. It tells the server which files the aglets should read. Then, when the aglet arrives at the server it asks the server which files to read and the server tells it.
17)ok ill test it on my lan straight away as i recieve it
take ur time.. ill wait no problems..

thanks.
take ur time.. ill wait no problems..

thanks.
take ur time.. ill wait no problems..

thanks.
take ur time.. ill wait no problems..

thanks.
take ur time.. ill wait no problems..

thanks.
18)hello, i just came back. hope u r around !
please let me know when you are free so that i could test the current system.
FileHelper is a class that I have added to the config file of each tahiti server so that it starts automatically when the server starts.

What is does is interogate the server to find out what its public directory is. It then creates a list of all the files in that directory with a .txt file extension and adds them to a list. (This is obviously a very simplistic rule for selecting searchable files, but it could be based on any arbitrary rule set as long as it was implemented in the FileHelper.)It then stores this list in the servers properties.

When a DefinitionChecker arrives it can just ask the server which files it should search by querying the servers properties.


The changes I made to the .props files are as follows :

maf.port - set to the port you want the server to run on
glets.class.path - where the server should look for aglet class files (in our case set to the same as aglets.public.root)
aglets.public.root - the servers root directory (in our case it is different for each server)

aglets.secure=false - this setting truns off all aglet security (the same as -nosecurity is supposed to)

aglets.startup=FileHelper - this setting starts up a copy of the FileHelper whenever the server is started.
1)ok i understood how it operates now. so on every computer on my lan i should do the same correct "public5434" on my laptop then "public6434" on compA and "public" on the main comp where the aglet will be launched from.
2)i have this in my UI1.java

try{
hosts.add(new URL("atp://localhost:5434/"));
hosts.add(new URL("atp://localhost:6434/"));

now when i launch the three server

localhost 4434,5434,6434

and create "definitionchecker" on localhost 4434

it should go to "localhost5434" do patternmatching than "localhost6434" do patternmatching and then display the results on "localhost4434" correct?

but when i see the results i find matches from "localhost4434" that mean when it returns it also does pattern matching in "localhost4434"?
2)or is it the "filehelper" which tell it to get read "file1" and "file2" as it comes back home?

so if i want to stop that i should remove the filehelper class or simply change the config in the "aglet4434" so that it doesnt start "filehelper"

2)or is it the "filehelper" which tell it to get read "file1" and "file2" as it comes back home?

so if i want to stop that i should remove the filehelper class or simply change the config in the "aglet4434" so that it doesnt start "filehelper"

1) Not necessarily. If you have three different computers there is no reason to change any of the ports or directories. T%he only reason I do that is so I can have three "virtual" servers running on the same machine. On three different computers they can all use port 4434 and all use the public directory.

2) Yes. It travels to each host and then returns home. When it get's home it also does a search there too.
2) If you do not want an aglet to do a search when it returns home you could not run the FileHelper, but that would mean that aglets that originated on other machines would not be able to earch there either.

It would be easier to change the code so that the aglet only does a search when its away from home and not when it returns.
1)oh i c. accually i did that before. and it worked. but i should still use the filehelper correct? not the old code

2)well for the time being we will keep it this way, since next week ill set up a lan at college. depending if it consisted of 3 computers then its better to keep it the way it is. on the other hand if i had a lan of 4 comp's then yes i think yes its better to stop the aglet from seaching when its at home.

what do u think ?
1)oh i c. accually i did that before. and it worked. but i should still use the filehelper correct? not the old code

2)well for the time being we will keep it this way, since next week ill set up a lan at college. depending if it consisted of 3 computers then its better to keep it the way it is. on the other hand if i had a lan of 4 comp's then yes i think yes its better to stop the aglet from seaching when its at home.

what do u think ?
1)my question is that if iam going to use three different computers i can use the old code which doesnt use the "filehelper". correct? since the filehelper was implemented just to have three "virtual" server on a local comp??


or shall i still use the "filehelper" on each comp by copying the "filehelper" classes in  "public" directory.
ASKER CERTIFIED SOLUTION
Avatar of ozymandias
ozymandias
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
1 & 2) oh i.c now its clear. thanks. ill test it more and let you know
-Thanks alot for your help-