tags:

views:

519

answers:

5
+5  Q: 

Is SubSonic dying

I'm real interested in using SubSonic, I've downloaded it and I'm enjoying it so far, but looking at the activity on github and googlegroups it doesn't seem to be very active and looks a lot like a project that's dying. There's no videos about it on tekpub and Rob seems to be using nHibernate for all his projects these days. I don't want to focus on learning SubSonic and integrating it into my projects if it's not going to live much longer. So my question is what's happening with subsonic development, is there a new release imminent is there lots going on behind the scenes or is it as inactive as it seems?

+1  A: 

I suspect since its that time of year people are on holiday/vacation so support here is reduced. I have just started using it and havent had responses to some questions and the last release was in July, so am hoping support continues.

Mark Redman
It's not just that people aren't contributing here. It's that the google group is mostly spam, there's hardly any github activity and Rob doesn't seem to be using or posting about subsonic anymore.
JimBobBillyBoy
Looking at the website, it appears the primary support is here, havent looked at github or the google group, didnt know there was one but it seems there is not much support all round then.
Mark Redman
+13  A: 

I get this question, it seems, if I don't pop a release every 2 months or so. I will admit I'm behind on getting 3.0.0.4 out the door - but there's some patched code that people are sending in without tests and I will not accept that - I'd rather take my time and make sure we don't push bugs (which I apparently did with 3.0.0.3).

Anyway - it's a valid question and no, SubSonic isn't "dying". The best place to see the activity is on the Github site itself: http://github.com/subsonic/

This is one of the main reasons I chose Github, so people can see the activity. I just pulled in a number of changes and am waiting on a last one to get tweaked (there were merge conflicts).

RE your other points: No, I'm not using NHibernate for my work. I'm using it for Kona and a screencast. I answer just about all the email I get from out group but yes, GoogleGroups is a sad thing when it comes to pruning the spam. Your best bet is to just email the group list for a question - it will get answered pretty quickly.

In terms of "death" - I need to talk about that a bit. Open Source projects are incapable of dying if they were born in a fit of inspiration and people find it useful. Both are true of SubSonic. Even if I gave up and told everyone to f-off, someone would pick it up and run with it. I do have to work, like most people, and I have to fit SubSonic into the little amounts of freetime I have between work and family. But there's no way I'd let this die - it means far too much to me.

Either way - I'm sure I'll be back here again in 6 months, answering this question again :).

Rob Conery
Thanks Rob, this is a very reassuring answer. I guess I was using the number of issues recently closed on github to gauge activity which maybe isn't an accurate reflection. Hopefully you won't take this question as a critique I know how thankless opensource projects can seem, so thanks for making a great one :)
JimBobBillyBoy
Seconded. _____
womp
Not at all :)... I'm used to it :)
Rob Conery
Thanks Rob for you work you have done on Subsonic.
Kris Krause
+1  A: 

Rob...thank for u great answer. waiting for new release from u...:)

mokth
+1  A: 

I must state that although there isn't a new release every 2 months as Rob stated that you may get that feeling sometimes. Although there is still action on the google group and github. If anything before christmas there were more fresh faces starting to make contributions than before (even simple ones like doco) this shows me that there may be more interest than ever, its just that people are getting on with it.

My work uses Subsonic (both 2.2 and 3.0.0.3) in most projects where we have control over it. We have around 28 .net devs and they all love it (we don't get caught up in what it can't do as its not an ORM/data access say per se.

As we only use Subsonic for low level query tool and not as a data access layer i spose we're not too closely connected to it if we need to bail on it, but we are yet to have a reason too.

My point is this: Its a really really easy to use, easy to pick up, easy to modify, light weight querytool/ORM(to a lesser extent). There are few tools out there that have all these properties and yet don't lock you into a million schools of thought on things. Because of this i don't see it dieing any time soon - its too addictive a tool to have on your bat belt.

I'm an active record fan buoy and SubSonic Rocksorz My Sockorz!

Because of this i recommend SubSonic to a lot of people and will continue to. While we don't use it on extremely large projects (more for project continuity reasons like you mentioned than because it can't do the job)

Doug
A: 

Well.

I don't know how subsonic is progressing. I started use subsonic from 2007, before upgrade to subsonic3, I was pretty convenient with subnoic2. it is stable and predictable. But with subsonic3, even 3.0.0.3. It is somewhat disappointed for me. I don't want to mention the features that works. Thanks. Subsonic map table correctly. The thing I want to talk is about "Update". I tried with the code but it gave exception. After dig into the code, it is signing...

Look at my code: FarmDB db = new FarmDB(); db.Update().Set(o => o.is_working == false) .Where(o => o.user_name == HttpContext.Current.User.Identity.Name && o.type == userAdornment.type && o.id != userAdornment.id).Execute();

Is this correct? After fixed the NullException some one asked which I suffered too. Each time I run this query, all my rows with user_name=currentname is set is_working to false. After checked code: In update.cs public Update Where(Expression> column) { LambdaExpression lamda = column; Constraint c = lamda.ParseConstraint();

And check lamda.ParseConstraint(); I see, whatever how many 'where" I want to search, it only return the first one, the worse thing is after it, //IColumn col = tbl.GetColumnByPropertyName(c.ColumnName); //Constraint con = new Constraint(c.Condition, col.Name, col.QualifiedName, col.Name); //con.ParameterName = col.PropertyName; //con.ParameterValue = c.ParameterValue; It built another constraint from previous one, but drop all the "condition" in last one. How can it be right?

I don't look into subsonic's sourcecode too much and don't understand it how it is implemented well. But I am using subsonic3 in my project and highly depend on it to work correctly. Really hope every bug can be tested and fixed in time.

Scott