Re: Thoughts on 1.3

2014-02-06 Thread Miljenko Cvjetko

Hi Gert

On 2014.02.05 22:14, gert.drie...@telenet.be wrote:

Hey Miljenko,

I don't think it makes sense to create a separate client-profile version.
MS has already abandoned this:
http://msdn.microsoft.com/en-us/library/cc656912(v=vs.110).aspx
I'm aware of that. Maybe the term client-profile was unfortunate. 
Let's  call it System.Web.dll-less or ASP.net-less.
I'm aware that log4net origins are more on the server side and that 
eventually came down to desktops and this journey continues toward 
mobile right now.


This is the problem of most libraries and no one is to be blamed. It is 
simply how technologies came in and mobile came as last. Ideal would be 
to write mobile first, but this cannot be done.



Perhaps you were referring to a portable class library ?


No. I did not


Separating client-profile means just trimming down the parts not 
needed on desktop and mobile.

Steps I suggested:

1. extracting ASP.net (System.Web.dll) dependencies for all clients
2. extracting System.Configuration.dll for mobile
   I didn't do that in first version 2013-10, but would like to do in
   next run
   For more info read JonP's part of this discussion:
   
http://forums.xamarin.com/discussion/3300/rationale-behind-removal-of-system-diagnostics-trace-in-xa-and-xi#latest
3. this leaves common stuff today I would put it into PCL, but 3-6
   months PCLs were not ideal (more problems than benefits)
   I usually created dll/assembly per platform and source was linked
   from one of those into other.


Cheers,
Gert

Best regards

Mel



Re: Thoughts on 1.3

2014-02-04 Thread Miljenko Cvjetko

Hi

On 2014.02.04 13:24, w...@poczta.fm wrote:

Hi

If You work on port of log4net to Xamarin You may find helpful the patch attached to 
LOG4NET-338 Port of log4net for MonoDroid 
(https://issues.apache.org/jira/browse/LOG4NET-338).

I saw Your patch after I was finished. AndroidAppender was almost the same.

My port does not change the structure of the library however some parts may 
still work for You.
I was b bit more radical and intrusive, so I split the lib into client 
profile and non-client profile.


pozdrawiam

Mel


Regards
Wojciech Dec


Od: Miljenko Cvjetko mcvje...@holisticware.net
Do: log4net-dev@logging.apache.org;
Wysłane: 15:47 Poniedziałek 2014-02-03
Temat: Thoughts on 1.3


Hi

I have tried to post this one through the nabble on Nov 25th and 26th.
My post are still there as not accepted. Then I got dragged away with
projects, then holidays and again projects. Now I have a bit easier, so
I’d like to add few thoughts.

My name is Miljenko Cvjetko and I'm the one that forked log4net on
GitHub, did some structural changes on the solution/project in order to
port it to Xamarin Mobile profiles (Xamarin.iOS and Xamarin.Android)
and contacted Stefan for a permission to submit log4net Xamarin
Component to Xamarin Componet Store.

Stefan asked me whether I can put some thoughts and more light on the
subject in this thread about the Version 1.3.

There were several questions both on mailing-lists and forums about
availability of the log4net for Mono Mobile profiles (Xamarin Mobile)
and I was personally faced with that issue when our team worked on
Application that uses mobile port of SharpSNMP, which uses log4net. The
quick and dirty workaround was to exclude the dependency (and comment it
out).

The era of mobile enterprise apps is about to begin and a lot of code
will be ported from desktop and server side (ASP.net) to mobile in order
to reuse code. Almost all utilities/libraries/tools for .net have
disadvantage/handicap that they are written for desktop and/or ASP.net,
thus using APIs and/or concepts that are not acceptable or possible on
mobile devices. To name some: System.Web assembly (used by log4net) and
Configuration utilities which need Xml support.

What I actually did is simply split log4net into 2 assemblies, the one
with client profile called log4net.client and the other with only
ASP.net specific stuff with old name log4net. The code was
source-linked, so log4net was for external usage the same as it used to be.

All unit tests passed w/o problems.

So I would suggest You to do as Stefan suggested:

1. to split log4net-13.dll so that the main assembly can be used for
the client profile and a separate assembly contains the stuff that
requires System.Web - this way we no longer need the -cp builds.

2. add separate assemblies for async/await (netfx 4.5, mono 3.x), so
people are not forced into 4.5.

I have worked with log4net on Xamarin's alpha channel for last 2 months
and experienced no problems only stuff I would suggest to add async
wrappers (suggestion 2.).

Also Stefan asked me to merge code into 1.2.x (1.2.13) branch, so I'll
do that in next few days and issue pull request as soon as I'm done. I
will try to be least intrusive, so will probably end up with:

1. src folder with ASP.net project (dependencies), so it is the same for
regression and backward compatibility
2. src-client (or whatever) with client profile - this might be even PCL
- I have to see.
3. src-mobile for iOS and Android assemblies.

Xamarin Component stuff will be added later on.

I hope I did not bother You too much and thank You

best regards

Mel

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rješenja/Solution Architect  
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX južna obala 13
Kajzerica Zagreb
T: 385 1 777
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvje...@holisticware.net
w: http://holisticware.net








--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rješenja/Solution Architect  
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX južna obala 13
Kajzerica Zagreb
T: 385 1 777
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvje...@holisticware.net
w: http://holisticware.net



Re: Thoughts on 1.3

2014-02-04 Thread Miljenko Cvjetko

Hi

1. to split log4net-13.dll so that the main assembly can be used for
the client profile and a separate assembly contains the stuff that
requires System.Web - this way we no longer need the -cp builds.

Dominik convinced me there was no future for the client profiles anyway,
but back then I didn't think about mobile platforms, much less Xamarin.

It is up to You. I'm willing to help.
I see few trends when people port their apps to mobile (Xamarin.mobile) 
profiles


1. remove log4net (and other) code
2. switching to other frameworks (like Nlog)
3. writing their own cross platform logging libs
4. using separate code
5. not logging

I think lof4net is great utility, structure can easily be prepared for 
mobile profile. I mean You have seen it.

log4net as library was intact.




2. add separate assemblies for async/await (netfx 4.5, mono 3.x), so
people are not forced into 4.5.

It doesn't look as if we were working on C# 5 code, no worries.

OK. This makes a bit less work for me.




Also Stefan asked me to merge code into 1.2.x (1.2.13) branch, so I'll
do that in next few days and issue pull request as soon as I'm done. I
will try to be least intrusive, so will probably end up with:

Note current trunk has been restructured quite a lot, a lot of folders
have been moved around and I doubt our github mirror would track that as
proper moves.

So github mirror is not actual state of the project?
I would refork it and do all the steps again. This would be few days. 
Then You could check and correct me.




I'm not quite sure what you are going to suggest in your pull request,
we'll see.

So is that green light?

cheers

Mel


Stefan



--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect 
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 777
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvje...@holisticware.net
w: http://holisticware.net



Re:Thoughts on 1.3

2014-02-03 Thread Miljenko Cvjetko

*

Hi


I have tried to post this one through the nabble on Nov 25th and 26th. 
The I got dragged away with projects,  then holidays and again projects. 
Now I have a bit easier, so I'd like to add few thoughts.



My name is Miljenko Cvjetko and I'm the one that forked log4net on 
GitHub, did some structural changes on the solution/project in order to 
port it to Xamarin Mobile profiles (Xamarin.iOS and Xamarin.Android) 
and contacted Stefan for a permission to submit log4net Xamarin 
Component to Xamarin Componet Store.



Stefan asked me whether I can put some thoughts and more light on the 
subject in this thread about the Version 1.3.



There were several questions both on mailing-lists and forums about 
availability of the log4net for Mono Mobile profiles (Xamarin Mobile) 
and I was personally faced with that issue when our team worked on 
Application that uses mobile port of SharpSNMP, which uses log4net. The 
quick and dirty workaround was to exclude the dependency (and comment it 
out).



The era of mobile enterprise apps is about to begin and a lot of code 
will be ported from desktop and server side (ASP.net) to mobile in order 
to reuse code. Almost all utilities/libraries/tools for .net have 
disadvantage/handicap that they are written for desktop and/or ASP.net, 
thus using APIs and/or concepts that are not acceptable or possible on 
mobile devices. To name some: System.Web assembly (used by log4net) and 
Configuration utilities which need Xml support.



What I actually did is simply split log4net into 2 assemblies, the one 
with client profile called log4net.client  and the other with only 
ASP.net specific stuff with old name log4net. The code was 
source-linked, so log4net was for external usage the same as it used to be.



All unit tests passed w/o problems.


So I would suggest You to do as Stefan suggested:


1. to split log4net-13.dll so that the main assembly can be used for 
the client profile and a separate assembly contains the stuff that 
requires System.Web - this way we no longer need the -cp builds.



2. add separate assemblies for async/await (netfx 4.5, mono 3.x), so 
people are not forced into 4.5.



I have worked with log4net on Xamarin's alpha channel for last 2 months 
and experienced no problems only stuff I would suggest to add async 
wrappers (suggestion 2.).



Also Stefan asked me to merge code into 1.2.x (1.2.13) branch, so I'll 
do that in next few days and issue pull request as soon as I'm done. I 
will try to be least intrusive, so will probably end up with:



1. src folder with ASP.net project (dependencies), so it is the same for 
regression and backward compatibility


2. src-client (or whatever) with client profile - this might be even PCL 
- I have to see.


3. src-mobile for iOS and Android assemblies.


Xamarin Component stuff will be added later on.


I hope I did not bother You too much and thank You


best regards


Mel

*

--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect 
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 777
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvje...@holisticware.net
w: http://holisticware.net



Re: Thoughts on 1.3

2014-02-03 Thread Miljenko Cvjetko
Sorry for formatting. Pasted it directly from google docs into 
thunderbird and here it looked OK.


sorry one more time

mel
On 2014.02.03 15:32, Miljenko Cvjetko wrote:

*

Hi


I have tried to post this one through the nabble on Nov 25th and 26th. 
The I got dragged away with projects,  then holidays and again 
projects. Now I have a bit easier, so I'd like to add few thoughts.



My name is Miljenko Cvjetko and I'm the one that forked log4net on 
GitHub, did some structural changes on the solution/project in order 
to port it to Xamarin Mobile profiles (Xamarin.iOS and 
Xamarin.Android) and contacted Stefan for a permission to submit 
log4net Xamarin Component to Xamarin Componet Store.



Stefan asked me whether I can put some thoughts and more light on the 
subject in this thread about the Version 1.3.



There were several questions both on mailing-lists and forums about 
availability of the log4net for Mono Mobile profiles (Xamarin Mobile) 
and I was personally faced with that issue when our team worked on 
Application that uses mobile port of SharpSNMP, which uses log4net. 
The quick and dirty workaround was to exclude the dependency (and 
comment it out).



The era of mobile enterprise apps is about to begin and a lot of code 
will be ported from desktop and server side (ASP.net) to mobile in 
order to reuse code. Almost all utilities/libraries/tools for .net 
have disadvantage/handicap that they are written for desktop and/or 
ASP.net, thus using APIs and/or concepts that are not acceptable or 
possible on mobile devices. To name some: System.Web assembly (used by 
log4net) and Configuration utilities which need Xml support.



What I actually did is simply split log4net into 2 assemblies, the one 
with client profile called log4net.client  and the other with only 
ASP.net specific stuff with old name log4net. The code was 
source-linked, so log4net was for external usage the same as it used 
to be.



All unit tests passed w/o problems.


So I would suggest You to do as Stefan suggested:


1. to split log4net-13.dll so that the main assembly can be used for 
the client profile and a separate assembly contains the stuff that 
requires System.Web - this way we no longer need the -cp builds.



2. add separate assemblies for async/await (netfx 4.5, mono 3.x), so 
people are not forced into 4.5.



I have worked with log4net on Xamarin's alpha channel for last 2 
months and experienced no problems only stuff I would suggest to add 
async wrappers (suggestion 2.).



Also Stefan asked me to merge code into 1.2.x (1.2.13) branch, so I'll 
do that in next few days and issue pull request as soon as I'm done. I 
will try to be least intrusive, so will probably end up with:



1. src folder with ASP.net project (dependencies), so it is the same 
for regression and backward compatibility


2. src-client (or whatever) with client profile - this might be even 
PCL - I have to see.


3. src-mobile for iOS and Android assemblies.


Xamarin Component stuff will be added later on.


I hope I did not bother You too much and thank You


best regards


Mel

*
--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect 
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 777
M: 385 91 557 447 3
F: 385 1 7779556
e:mcvje...@holisticware.net
w:http://holisticware.net



--
Miljenko Cvjetko dipl.ing. ET
Direktor/CEO
Projektant rjes(enja/Solution Architect 
Razvojni programer/Senior developer
Voditelj projekta/Project Manager

IX juz(na obala 13
Kajzerica Zagreb
T: 385 1 777
M: 385 91 557 447 3
F: 385 1 7779556
e: mcvje...@holisticware.net
w: http://holisticware.net