Repository Factory, VS2008, and going forward

Feb 29, 2008 at 3:11 AM
There have been many posts, both here and on other p&p project sites, that have been asking essentially the same question: where is this project going? Mostly this has been in the context of VS2008 support.

I'd like to clarify p&p's plan for this project, and open disussion on the future.

Here's p&p's plan for the Repository Factory:

Repository Factory is done. There will be no more investment from p&p or Microsoft.

Repository Factory was written for ADO.NET 2.0 and VS 2005. .NET 3.5 has many new database access options (with more coming), and a straight port to VS 2008 isn't good guidance. Linq, for example, enables newer ways to do queries that don't fit very well with our repository generation. And right now we're not convinced that the underlying Enterprise Library Data Access block even makes sense anymore.

As it stands, I got a nastygram from the Microsoft legal department the other day about having non-Microsoft folks as committers without getting a rights assignment from them. I was able to mollify the concerns for now by assuring them that Microsoft has no more business interest in this project.

So, what does that mean? Is this project dead?

Only if you want it to be.

The code is out there, available to work on by anyone interested. We have a group of external developers, some of whom are doing excellent work (the ongoing Oracle support is one example of this). What this community lacks is leadership.

I cannot continue to be that leader. Due to IP issues (thanks again to our wonderful Legal department) I'm not allowed to look at anything contributed by non-MS people, unless we get assignment agreements. That makes my ability to contribute less than helpful.

So, what do people want to do? There have been some folks here who have contributed ideas and code who I think would make excellent project coordinators.

So, let's discuss. Who wants to take over? Does anyone want to lead a VS08 port? Or do we just shut it down?

-Chris
Feb 29, 2008 at 10:54 AM
Chris,
Thank you for the post! This now puts everything in clear context.
Developer
Mar 5, 2008 at 11:56 AM
Edited Mar 5, 2008 at 11:56 AM
I have been absence from this project for a long time now. I have been missing a leader who could set the guidelines.

The main reason for mye absence is that I have a sick kid (16 months old now) that has been in and out of the local hospital since september last year. 6 weeks was the longest stay at the hospital for her and her mother. We have 2 other children that I had to care about, so my day has been more then full.

Now things seems to be a little better. Just 6 days at the hospital after new year and 2 weeks completly without any sickness. Not in a row should i mention. Now she got chicken pox but her health is getting better.

I have a interest in this project and would like to work on it. But like Chris says, a straight port to VS2008 is not a good guidance. The only reason for this is that someone still wants to work on .Net 2.0 projects in the VS2008. This should be a quick thing to do.

I feel that the upcoming ADO.Net Entity Framework steals the thunder from the Repository Factory. But with a devoted leader and some fellows that has good ideas i would commit myself to this project.

Benny@Norway



Mar 5, 2008 at 2:33 PM
Apologies in advance if this is misguided; but, I have spent the last week trying to figure out this completely undocumented (please don't refer me to the screencast) software factory and have just suggested it to my company. Am I correct in now thinking that the technology this is based upon is deprecated (which in this business means obsolete) and using this factory would now be 'bad' practice? This is very frustrating, and I really mean no disrespect to the people who created it but surely best practice would now be to skip this completely and move straight on to whatever MS whip up next to keep us all one step behind...?
Mar 7, 2008 at 1:37 PM
We all knew this didn't we? :)

I only hope our current VS2005 project working with the repository and enterprise library will be portable to VS2008 later without much trouble.
Mar 9, 2008 at 4:18 AM
I'm waiting for using Repository Factory on VS2008 and plan to use it in the near future. I have used Data Access that bundle with WSSF DEC, 2006 for six months, it's very useful and I dedicate engineer working on this topic. When will it release? And thank you very much for the team, it very useful.
Developer
Mar 18, 2008 at 7:51 PM
Though the ADO.NET Entity Framework is on the horizon, I believe the Repository Factory is still beneficial for the short to medium term.

In terms of Visual Studio 2008 dependency, the real dependency today is Enterprise Library: the current version builds on ENtLib 3.1. EntLib4 (for Visual Studio 2008) is scheduled for release next month. I definitely think it makes sense to have the repository factory work in Visual Studio 2008 and I am interested in finding out what it will take to go there.

It also seems to me that we'll need both a VS2005 and VS2008 version.
Mar 28, 2008 at 6:16 AM
What changes are proposed in Entlib 4.0 to the Data Application Block? Only change I can see is support for ADO.NET async methods.
http://www.codeplex.com/entlib/Wiki/View.aspx?title=EntLib4%20Backlog

Otherwise, I don't see the relevance of Entity Framework at all. I certainly won't be using it on any of existing software or systems I'll build in the near term.

VS 2008 SDK 1.0 is out now so I don't see the holdup. Why can't Repository Factory work with Enlib 3.1 Data Application Block in VS2008? We can do an intermediate release with Entlib 3.1 to get over the hump and then access the Dependency Injection features in Entlib 4.0 and DSL support in VS SDK.

In terms of providing good guidance - I don't really care how the repository code looks under the hood. All I care about is using a factory or dependency injection to give me a data access component with a well known interface. The whole point of this pattern is that your data access technology is abstracted from the calling layer. Personally, I think that is still excellent guidance!

Lets pull the lead out and move Repository factory to VS 2008.
Apr 3, 2008 at 8:53 PM
Hi everyone!!!

One thing isn't considered, ADO Entity Framework doesn't support Oracle or DB2 or any other DB than SQL Server, I was researching and to use ADO Entity Framework with Oracle maybe you'll need to buy the provider, then if the Respository Factory is ported to VS 2008 and add Oracle support a lot a users will be very happy!!

So what do you think??

p.d.: I would like to participate in the project too...
May 29, 2008 at 2:59 PM
I would settle for a clue on how to upgrade this package to the VS2008. We are moving to VS2008 - just to much goodness to ignore - but we will still be targeting the 3.0 frame work, and would like to use the functionality of the factory in VS2008. We have tried a number of things and so far nothing has worked. Does any one have a blueprint of the steps we need to take to port this to VS2008?
May 30, 2008 at 10:32 PM
So we have taken the Source for the Guidance and opened in vs2008 this updated the guidance to vs2008 projects with out incident. We made sure we had the VS 2008 Guidance package  for creating guidance packages installed and enabled the package. We then ran the Register guidance recipe which successfully registered the Repository Package Guidance. We opened another version of VS2008 and used the repository guidance to create a solution.. Great. So we tried the installer. We updated the registry paths in the launch conditions of the set up project and after unregistering in vs the guidance package we ran the installer. The installation was ran without error but when we attempted to use the repository guidance package we could not enable it. It did not show up. So we tried manually adding the "

<

GuidancePackage Name="DataAccessGuidancePackage" Version="1.0" Caption="Repository Factory" Description="Repository Factory" Host="VisualStudio" Guid="F8B16ED4-8656-4b73-922A-2FE00C6DFF0F" ConfigurationFile="C:\Program Files\MicrosoftPnP\Data Access Guidance Package\Data Access Guidance Package.xml" Timestamp="633268759280000000" />"

 

to the file RecipeFramework9.0.xml. This still did not allow us to enable the guidance package in the Guidance Package Manager. We could open the solution that we created earlier. When we did the recipes showed up in the Guidance Package Manager, and we could execute them from there - still no ability to enable or disable the package and there were no context menu items for the repository factory on the solution explorer. So we could not enable the package and create a new solution and use the factory. Unless we create the solution and then manually add the required packages to the gpState file. That would leave us with the half working guidance available only from the Guidance Package manager - no menu's.
Can any one fill in the missing pieces for us. we would like to get the installer working.

Thanks
Noel
Jun 4, 2008 at 5:32 PM
So we have taken the Source for the Guidance and opened in vs2008 this updated the guidance to vs2008 projects with out incident. We made sure we had the VS 2008 Guidance package  for creating guidance packages installed and enabled the package. We then ran the Register guidance recipe which successfully registered the Repository Package Guidance. We opened another version of VS2008 and used the repository guidance to create a solution.. Great. So we tried the installer. We updated the registry paths in the launch conditions of the set up project and after unregistering in vs the guidance package we ran the installer. The installation was ran without error but when we attempted to use the repository guidance package we could not enable it. It did not show up. So we tried manually adding the "

<

GuidancePackage Name="DataAccessGuidancePackage" Version="1.0" Caption="Repository Factory" Description="Repository Factory" Host="VisualStudio" Guid="F8B16ED4-8656-4b73-922A-2FE00C6DFF0F" ConfigurationFile="C:\Program Files\MicrosoftPnP\Data Access Guidance Package\Data Access Guidance Package.xml" Timestamp="633268759280000000" />"

 

to the file RecipeFramework9.0.xml. This still did not allow us to enable the guidance package in the Guidance Package Manager. We could open the solution that we created earlier. When we did the recipes showed up in the Guidance Package Manager, and we could execute them from there - still no ability to enable or disable the package and there were no context menu items for the repository factory on the solution explorer. So we could not enable the package and create a new solution and use the factory. Unless we create the solution and then manually add the required packages to the gpState file. That would leave us with the half working guidance available only from the Guidance Package manager - no menu's.
Can any one fill in the missing pieces for us. we would like to get the installer working.

Thanks
Noel
Jun 5, 2008 at 9:06 PM
Got some help from the guys on the MSDN Forums. Turns out it is pretty easy to upgrade package to VS2008

http://forums.msdn.microsoft.com/en-US/vsgatk/thread/194e5c70-aa51-4de6-96df-cfda1c8832be
Jun 10, 2008 at 12:35 PM


nanderto wrote:
Got some help from the guys on the MSDN Forums. Turns out it is pretty easy to upgrade package to VS2008

http://forums.msdn.microsoft.com/en-US/vsgatk/thread/194e5c70-aa51-4de6-96df-cfda1c8832be


Well done, the solution just works preferct, but to make it more clear you don't have to open the source in vs2008, what I did , was this:
1-open the source in vs2005
2-Make the changes that Jose mentioned in "Data Access Guidance Package Setup" and "Data Access Guidance Package.xml" file.
3-buid the "Data Access Guidance Package Setup" and run the setup.
Jul 3, 2008 at 6:43 PM
Nanderto, any chance you've got that .msi laying around someplace it could be download?  It would save me from trying to upgrade it myself!

Thanks.

mohsenrahimi wrote:


nanderto wrote:
Got some help from the guys on the MSDN Forums. Turns out it is pretty easy to upgrade package to VS2008

http://forums.msdn.microsoft.com/en-US/vsgatk/thread/194e5c70-aa51-4de6-96df-cfda1c8832be


Well done, the solution just works preferct, but to make it more clear you don't have to open the source in vs2008, what I did , was this:
1-open the source in vs2005
2-Make the changes that Jose mentioned in "Data Access Guidance Package Setup" and "Data Access Guidance Package.xml" file.
3-buid the "Data Access Guidance Package Setup" and run the setup.


Coordinator
Jul 6, 2008 at 7:50 AM
Visual Studio 2008 Support

Thanks nanderto and mohsenrahimi for the above information. I ended up adding another setup project for VS2008 so that we can support both versions instead of the latest only. I did not migrate the source code to VS 2008 at this time since I am not sure if all other developers already have the VS 2008 version.

As orlandocoder requested, I created a new release based on the latest change set: Build 18936 Release. You will be able to download the installers for 2005 and 2008. Note that the source code has work in progress and much more testing needs to be done, so this release is not stable. My next step is to test it and fix bugs to make it stable again.

Repository Factory Going Forward

As to the future of this project, I do agree with the comments above that this project can still be useful for the community. There are still many companies using .NET 2.0 and this project could support them in VS 2005 or 2008. There is the new support for Oracle and we could add support for more databases in the future. I think the repository factory also represents another option, a light-weight ORM that uses stored procedures. The performance of running CRUD queries using stored procedures is way better than LinqToSQL or NHibernate. Why not give people another option?

One of the weakness of this project, and may be of most of software projects, is testing. There are currently 29 unit tests, but they are just basic tests. These tests could only be executed if you have one of the Visual Studio Team edition, not on the Professional or Standard editions. Today, these tests were changed to NUnit so that developers can run them and also write their on tests, no matter Visual Studio version they are using.

From the above posts, we can see people out there that are still interested in using this product, and I would like to keep working on it. My suggestion for us is to first concentrate in making the current source code stable to provide a main release (Repository Factory 2.0??). Although I created a release of the change set 18936 (Oracle, VB.NET, and VS 2008 Support), there are lots of bugs to be fixed. So, I am not sure how useful it will be for the community at this point. After releasing a stable version (2.0), we could start working on new features. Maybe branching the source code at that point: the trunk would contain the development of new features for the next major release (3.0), while the new branch will contain bug fixes and small enhancements for intermediate releases (2.1, 2.2, etc.). This way we could be providing frequent stable releases to the community.

Finally, I do agree that we lack of leadership. Chris, if nobody contacted you so far about the project coordinator role, I volunteer myself for it ... as long as I can also be a developer :-)
For now on, I will have more available time to dedicate to this project.

Cheers,
Luis
Jul 9, 2008 at 8:58 PM
Luis,
Is there an eta on when you expect this to be complete?  Are you looking for community involvement?

Kevin.
Coordinator
Jul 10, 2008 at 3:07 AM
I posted an answer for these questions on this thread (5th post down).


orlandocoder wrote:
Luis,
Is there an eta on when you expect this to be complete?  Are you looking for community involvement?

Kevin.