Hi Glenn,

Yeah, I'm mostly worried about developer orientation. I don't want to
make myself the only maintainer :-)

And the tooling for C++ is more and more of a problem, I don't have
Visual Studio on this machine, for example, so I can't do any
significant changes...

But I think it makes sense to move this into the core.

Thanks,
- Kim

On Sat, Jan 10, 2009 at 20:48, Glenn Carr <[email protected]> wrote:
> Kim,
>
> I don't think you can go wrong moving more of DQSD into C++.  The only real
> downside that I see is it limiting the number of developers that might be
> willing of have the experienced to work on it, but since a significant
> portion is C++ now, I don't think that should even be a concern.  Honestly,
> I'd love to see everything except configurable aspects (searches, etc) of
> the tool moved into C++.
>
> Glenn
>
> On Sat, Jan 10, 2009 at 1:34 PM, Kim Gräsman <[email protected]> wrote:
>>
>> Hi guys,
>>
>> I've spent a little time investigating the Vista "blank window" issues
>> that have been raised on the users list, and come up with a couple of
>> ideas.
>>
>> There are two things you can launch from DQSD, a) searches and b) URLs
>> (and a couple of other things, but let's leave it at that).
>>
>> Then there's a setting that affects how these launches are performed
>> -- the launchmode, which can be 0) Use IE or 1) Use default browser.
>>
>> So there's essentially a behavior matrix for what happens in the
>> respective cases-
>>
>>                   0
>>   1
>> a         form.submit                                Write out .html
>> file to submit form in body onload + ShellExecute(file)
>> b         window.open + window.navigate   ShellExecute(URL)
>>
>> Most of these methods have one issue or another with IE's new
>> Protected Mode, because DQSD runs in un-PM, but launches searches and
>> URLs that require PM, so there tends to be a lot of intermediary
>> windows launched that bridge between the two modes.
>>
>> As if this wasn't complicated enough to follow, all cases with
>> launchmode 0 happen in script, and all cases with launchmode 1 happen
>> inside DQSDTools.Launcher.
>>
>> I'm wondering whether there would be value in moving all this logic
>> into DQSDTools, and moving the actual logic to a simple class
>> hierarchy of Launchers. Something like-
>>
>>  class Launcher
>>  {
>>  public:
>>      virtual void SubmitForm(IHTMLFormElement* pForm, VARIANT options);
>>      virtual void LaunchUrl(BSTR url, VARIANT options);
>>  };
>>
>> and then with implementations for the respective launch modes, say,
>> IELauncher and DefaultBrowserLauncher.
>>
>> The primary benefit of having the complete logic in C++ code, is that
>> we can (hopefully) use new Vista APIs to safely bridge between
>> un-protected and protected mode.
>>
>> What's also cool about this is that we can easily select
>> implementation based on launchmode, and adding a launchmode is as
>> simple as adding a new implementation...
>>
>> ...which leads me to another thing: we should probably add a new
>> launchmode called Explicit, which comes with an explicit browser path.
>> That way, users can launch their searches with a specific browser.
>> This should please the x64 crowd, who want to use the 32-bit Internet
>> Explorer even if DQSD runs in the 64-bit version of the browser.
>>
>> So... Anyone opposed to moving form submittal/URL launching entirely
>> into DQSDTools? What are the drawbacks I don't see?
>>
>> Thanks,
>> - Kim
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the new SourceForge.net Marketplace.
>> It is the best place to buy or sell services for
>> just about anything Open Source.
>> http://p.sf.net/sfu/Xq1LFB
>> _______________________________________________
>> Archive: https://lists.sourceforge.net/lists/listinfo/dqsd-devel
>
>
> ------------------------------------------------------------------------------
> Check out the new SourceForge.net Marketplace.
> It is the best place to buy or sell services for
> just about anything Open Source.
> http://p.sf.net/sfu/Xq1LFB
> _______________________________________________
> Archive: https://lists.sourceforge.net/lists/listinfo/dqsd-devel
>
>

------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Archive: https://lists.sourceforge.net/lists/listinfo/dqsd-devel

Reply via email to