views:

35

answers:

3

All of the internal web pages at the place I work were designed and built specifically for IE 6, but now they want me to research what it would take to move to Firefox and Safari and other major browsers... and ActiveX does not work in Firefox.

So what would be a good way to take what is currently the ActiveX functionality and totally scrap ActiveX and rewrite the functionality? Basically, I'm looking for suggestions on what would be a good solution to making things work on browsers on Mac?

Is it a good idea to rewrite using Java Applets or ActionScript? After doing some research, there is just no way to integrate ActiveX on a Mac so what are possible solutions to make things work on Mac?

Let me know if my explanation is unclear... I'll try to explain better.

UPDATE: an example of some ActiveX functionality:

var rp_UserSettings = null;
var xmlhttp = new ActiveXObject("MSXML2.XmlHttp");
var serverResponseGet = "";
var serverResponseSet = "";
var serverResponseErrorDesc = "";
var rpFieldInfo = null;
var results = [];

/*Retrieves the user profile xml and stores it as an XML DOM in rp_UserSettings.*/
function retrieveUserSettings(){
    var PageURL = RoamProfURL + '/getprofile' + '?today=' + escape((new Date()).toString());
    xmlhttp.Open("GET", PageURL, false);
    xmlhttp.Send();
    rp_UserSettings = xmlhttp.responseXML;
    serverResponseGet = xmlhttp.responseText;
    rp_retCode = rp_UserSettings.selectSingleNode("//returncode");
    if (rp_retCode == null){
        rp_UserSettings = null;
    }
    return ;
}

Thanks, Hristo

+1  A: 

It depends on what functionality your activex provided. A lot of functions that used to need a activex now can be implemented by JavaScript and HTML5.

For mac, you have a very good HTML 5 platform of Safari.

Jason
+1 - it depends on the functionality, not the tool that provides it (along with lots of other functionality)
David Dorward
An example of the functionality is for a user to select their location and department in the company and that would pull in articles and information specific to that location and user profile.
Hristo
@Hristo, see my answer http://stackoverflow.com/questions/3103831/what-is-a-good-way-to-rewrite-activex-functionality/3103908#3103908 for a different solution to allow a user to select location and department and have it saved in their profile. Basically you do it all Server Side and save it to a database.
rockinthesixstring
@rockinthesixstring your link comes back to my question...?
Hristo
it jumps down to my answer
rockinthesixstring
+1  A: 

@Jason has a good point here with regards to Javascript /Query and HTML5, and the fact that it really does depend on what your activex is actually doing.

If your website needs to directly interface with the client Operating System, then you need a solution that can run on the Client computer (ActiveX (Proprietary and Painful), or Java). If your website is just collecting User Data, then you can use a server side solution and your website will be browser agnostic.

You can provide a lot of functionality server side where your browser doesn't matter anymore. For example, if you chose to use ASP.NET, then you run a Windows Server and the server does all of the work regardless of the client browser.

rockinthesixstring
I'm just an intern at this company and I'm just research... I can't actually change things, just provide suggestions. Thanks for the Javascript and HTML 5 pointer, I'll look further into it.
Hristo
If you need to directly swap out ActiveX for a similar solution that is cross browser, the only solution is Java. But the BETTER way to go is to use Server Side technologies to do all of the heavy lifting.
rockinthesixstring
Java... so like a JSP type solution? or a Java Applet type solution? Also, can you please elaborate on what you mean by using "Server Side technologies to do the heavy lifting"?
Hristo
Also, someone mentioned that Flash can do the Action Script, however because of Mobile browsers (iPhone/iPad), Flash is not cross browser either.
rockinthesixstring
Yes Java Applets can do the same sorts of things as ActiveX when it comes to a WEBSITE INTERFACING WITH AN OPERATING SYSTEM. However.. if you don't need the website to interface with the OS, but rather just interface with the user... then use Server Side. Server Side means that everything is being processed on the server and not the client. An example of this is SQL Queries to a database. You can send data to the server, the server queries the database and returns the results.
rockinthesixstring
Thanks. That makes more sense. From the looks of it, I'm concerned with interfacing with the user more so than the OS.
Hristo
Yeah, then I'd definitely go with server side. It'll be far superior to having to deal with different clients.
rockinthesixstring
+1  A: 

Are you using ActiveX to interface with the Browser and/or OS? If not, your whole application could probably be turned into a RIA web application using JavaScript. ActionScript (Flash) may not be a good idea if you also want to target the iPad, which doesn't support Flash.

You could go with a browser (Java applet) or desktop (Java) application, but it might be overkill if it's something you can do with a web application and dynamic HTML.

I've been converting things over from legacy desktop applications to web applications, and the browser really does make for a nice, light weight GUI/client.

Marcus Adams
This is all for the internal network, so I don't imagine needing to target the iPad. Flash is out of the question thanks :) I'm just an intern at the company so I didn't write anything nor can I change anything... I'm just doing research on the topic. All internal web pages are using ActiveX to interface with the Browser... I don't think the OS really was the point. What is an RIA web application? But it seems like JS and HTML 5 is the right way to go... I'll pass along the suggestions. Thanks :)
Hristo
@Hristo, RIA means Rich Internet Application. Look at JavaScript libraries such as JQuery UI, Dojo, YUI, Scriptaculous, etc. ActiveX does provide some low level hooks into the browser, but hopefully you're not dependent on those.
Marcus Adams
Thanks. I'll look into this... I'm familiar with jQuery so I'll do some research there.
Hristo