[Mono-dev] Moving *.Design to package "mono-design"

2009-08-07 Thread Andrew Jorgensen
We have a proposal to move System.Design.dll, System.Drawing.Design.dll, and 
System.Web.Extensions.Design.dll to a separate package to break the dependency 
between mono-web and mono-winforms.

Tomboy has started to use System.Web so if we leave the packages as is it will 
suddenly depend on mono-winforms (where System.Design currently lives, which is 
needed by System.Web.Extensions.Design, currently in mono-web, which Tomboy 
doesn't need).

ivanz suggests the new package be called mono-designtime.

Please chime in if you have relevant information or a good reason to object.

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-07 Thread Sandy Armstrong
On Fri, Aug 7, 2009 at 3:57 PM, Andrew Jorgensen wrote:
> We have a proposal to move System.Design.dll, System.Drawing.Design.dll, and 
> System.Web.Extensions.Design.dll to a separate package to break the 
> dependency between mono-web and mono-winforms.
>
> Tomboy has started to use System.Web so if we leave the packages as is it 
> will suddenly depend on mono-winforms (where System.Design currently lives, 
> which is needed by System.Web.Extensions.Design, currently in mono-web, which 
> Tomboy doesn't need).
>
> ivanz suggests the new package be called mono-designtime.
>
> Please chime in if you have relevant information or a good reason to object.

I favor this split.  :-)

Some additional info:
* mono-winforms is a multi-megabyte package, and having a dependency
on it becomes an issue for Tomboy and other apps that want to be on
the openSUSE GNOME Live CD or other space-constrained environments
* I cannot think of any situations where a user application would
actually need *Design.dll
* It "looks bad" to have Mono apps on Linux depend on a
"controversial" package like mono-winforms

Hope this helps,
Sandy
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-09 Thread Andreas Nahr
Just some info (for the "additional info"):
System.Windows.Forms (and especially the PropertyGrid control) extremely
depend on the *Design assemblies. ANY application that uses these will need
the *Design assemblies at runtime.

Also imho the name mono-designtime isn't optimal because it somehow suggests
they are not needed at runtime which is not true.

Greetings
Andreas

-Ursprüngliche Nachricht-
Von: mono-devel-list-boun...@lists.ximian.com
[mailto:mono-devel-list-boun...@lists.ximian.com] Im Auftrag von Sandy
Armstrong
Gesendet: Samstag, 8. August 2009 01:04
An: Andrew Jorgensen
Cc: mono-devel-list@lists.ximian.com
Betreff: Re: [Mono-dev] Moving *.Design to package "mono-design"

On Fri, Aug 7, 2009 at 3:57 PM, Andrew Jorgensen
wrote:
> We have a proposal to move System.Design.dll, System.Drawing.Design.dll,
and System.Web.Extensions.Design.dll to a separate package to break the
dependency between mono-web and mono-winforms.
>
> Tomboy has started to use System.Web so if we leave the packages as is it
will suddenly depend on mono-winforms (where System.Design currently lives,
which is needed by System.Web.Extensions.Design, currently in mono-web,
which Tomboy doesn't need).
>
> ivanz suggests the new package be called mono-designtime.
>
> Please chime in if you have relevant information or a good reason to
object.

I favor this split.  :-)

Some additional info:
* mono-winforms is a multi-megabyte package, and having a dependency
on it becomes an issue for Tomboy and other apps that want to be on
the openSUSE GNOME Live CD or other space-constrained environments
* I cannot think of any situations where a user application would
actually need *Design.dll
* It "looks bad" to have Mono apps on Linux depend on a
"controversial" package like mono-winforms

Hope this helps,
Sandy
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-09 Thread Ivan Zlatev
Hi,

Andreas is right and I completely forgot about this when we discussed :(.
There are several parts of Windows Forms that use reflection to instantiate
types part of which are in System.Design. As he says some of those types are
the TypeEditors and TypeConverters. And if we don't ship WinForms together
with System.Design things will break. The same is also probably valid for
ASP.NET. And you won't be able to find a hard dependency between the
WinForms/ASP.NET and System.Design because the way it works is via an
attribute on a class which is initialized with a Type name (string) in order
to be loose coupled. Now the problem is that if System.Design is missing
those type won't be resolved from code that uses them will break.

An example:

namespace System.Windows.Forms {
[Editor("System.Windows.Forms.Design.DockEditor, " +
Consts.AssemblySystem_Design, typeof(System.Drawing.Design.UITypeEditor))]
public enum DockStyle {
None= 0,
Top= 1,
Bottom= 2,
Left= 3,
Right= 4,
Fill= 5
}
}

If System.Design is missing the WinForms property grid will no long work for
editing the Dock property of a Control (TypeEditor) and also won't be able
to convert the type to a human readable string (TypeConverter).

Now, I am not familiar with ASP.NET but a fgrep showed that there are quite
a lot of those attributes with references to System.Design and I guess say
if I am developing an app and I have a form where a user can select a Color
and I am using the System.Design Color editor and System.Design is missing
my app will break.

Unfortunately that leaves you with no option of avoiding aspnet pulling
winforms through System.Design. :(
Kind Regards,

Ivan Zlatev
http://ivanzlatev.com


On Sun, Aug 9, 2009 at 10:39 AM, Andreas Nahr <
classdevelopm...@a-softtech.com> wrote:

> Just some info (for the "additional info"):
> System.Windows.Forms (and especially the PropertyGrid control) extremely
> depend on the *Design assemblies. ANY application that uses these will need
> the *Design assemblies at runtime.
>
> Also imho the name mono-designtime isn't optimal because it somehow
> suggests
> they are not needed at runtime which is not true.
>
> Greetings
> Andreas
>
> -Ursprüngliche Nachricht-
> Von: mono-devel-list-boun...@lists.ximian.com
> [mailto:mono-devel-list-boun...@lists.ximian.com] Im Auftrag von Sandy
> Armstrong
> Gesendet: Samstag, 8. August 2009 01:04
> An: Andrew Jorgensen
> Cc: mono-devel-list@lists.ximian.com
> Betreff: Re: [Mono-dev] Moving *.Design to package "mono-design"
>
> On Fri, Aug 7, 2009 at 3:57 PM, Andrew Jorgensen
> wrote:
> > We have a proposal to move System.Design.dll, System.Drawing.Design.dll,
> and System.Web.Extensions.Design.dll to a separate package to break the
> dependency between mono-web and mono-winforms.
> >
> > Tomboy has started to use System.Web so if we leave the packages as is it
> will suddenly depend on mono-winforms (where System.Design currently lives,
> which is needed by System.Web.Extensions.Design, currently in mono-web,
> which Tomboy doesn't need).
> >
> > ivanz suggests the new package be called mono-designtime.
> >
> > Please chime in if you have relevant information or a good reason to
> object.
>
> I favor this split.  :-)
>
> Some additional info:
> * mono-winforms is a multi-megabyte package, and having a dependency
> on it becomes an issue for Tomboy and other apps that want to be on
> the openSUSE GNOME Live CD or other space-constrained environments
> * I cannot think of any situations where a user application would
> actually need *Design.dll
> * It "looks bad" to have Mono apps on Linux depend on a
> "controversial" package like mono-winforms
>
> Hope this helps,
> Sandy
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> ___
> Mono-devel-list mailing list
> Mono-devel-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-09 Thread Sandy Armstrong
On Sun, Aug 9, 2009 at 3:30 AM, Ivan Zlatev wrote:
> Hi,
>
> Andreas is right and I completely forgot about this when we discussed :(.

Thanks, Andreas, for pointing this out.  Apologies, Andrew, for not
noticing this earlier.

> Unfortunately that leaves you with no option of avoiding aspnet pulling
> winforms through System.Design. :(

And unfortunately, there seems to be no good way to split up the
mono-web (ASP.NET) package, as the System.Web assembly seems to have
quite a few responsibilities.

As Michael Hutchinson pointed out, many apps rely on System.Web only
for the HttpUtility class.  For apps that need to keep their
dependency size sane, it seems the only choice is to bundle that class
directly in your app.

Thanks for all the input,
Sandy
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-09 Thread Michael Hutchinson
On Sun, Aug 9, 2009 at 6:30 AM, Ivan Zlatev wrote:
>
> Unfortunately that leaves you with no option of avoiding aspnet pulling
> winforms through System.Design. :(

There's still the option of a mono-web-designtime package...

-- 
Michael Hutchinson
http://mjhutchinson.com
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-09 Thread Andreas Nahr
> Unfortunately that leaves you with no option of avoiding aspnet pulling
> winforms through System.Design. :(

> And unfortunately, there seems to be no good way to split up the
> mono-web (ASP.NET) package, as the System.Web assembly seems to have
> quite a few responsibilities.

Well all the Designer Stuff in the *Design assemblies is dynamically binding
at runtime.
So from a purely technical point of view there is no problem in not shipping
the System.Design.dll or something like that with an application that uses
anything from System.Web.
Everything will work as long as you are not using any of the Design stuff
(or using anything that uses the Design stuff). In fact it *should* even
"work" when using the Design stuff, it just won't work the same way as
originally expected.
Afaik currently most of the Web stuff in System.Design is only stubbed out
anyways, so the difference between shipping it or not should (in most cases)
be minimal for *web* applications.

Greetings
Andreas

___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] Moving *.Design to package "mono-design"

2009-08-09 Thread Ivan Zlatev
On Sun, Aug 9, 2009 at 9:38 PM, Andreas Nahr
 wrote:
>
> > Unfortunately that leaves you with no option of avoiding aspnet pulling
> > winforms through System.Design. :(
>
> > And unfortunately, there seems to be no good way to split up the
> > mono-web (ASP.NET) package, as the System.Web assembly seems to have
> > quite a few responsibilities.
>
> Well all the Designer Stuff in the *Design assemblies is dynamically binding
> at runtime.
> So from a purely technical point of view there is no problem in not shipping
> the System.Design.dll or something like that with an application that uses
> anything from System.Web.
> Everything will work as long as you are not using any of the Design stuff
> (or using anything that uses the Design stuff). In fact it *should* even
> "work" when using the Design stuff, it just won't work the same way as
> originally expected.
> Afaik currently most of the Web stuff in System.Design is only stubbed out
> anyways, so the difference between shipping it or not should (in most cases)
> be minimal for *web* applications.
>

Nevertheless if mono-web does not include System.Design then it
basically beaks MS.NET compatibility. Because then the user will have
to know "Oh wait. There is mono-designtime I also have to install".
And the worse is that those problems will be very very difficult to
track down (missing dynamic dependency).

So instead of breaking the out of the box experience so to speak, what
about creating a mono-web-lite package without the
System.Design/winforms dependency (= don't install System.Design)?
That way apps that don't have any direct or indirect deps on
System.Design (e.g. Tomboy) can put a dependency on mono-web-lite
instead of on mono-web. An idea I just had.
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list