Tuesday, November 04, 2008

EntitySpaces Co-Founder Scott Schecter will be in Las Vegas, NV for DevConnections '08 again this year. Scott will be manning booth #608 with AppTheory and giving away some free licenses of EntitySpaces in their drawing. If you are going to be in Vegas for DevConnections, stop by and say hi to Scott. Tell him what you love about EntitySpaces or what you would like to see added in the future. Find out more about the EntitySpaces 2009 visual studio add in or just shoot the breeze. We always love to hear from our customers, and it is exceedingly nice to get to meet them in person and shake their hand (and maybe have a scotch or two;). So if you are going to DevConnections stop in and say howdy. We would love to hear from you.

FALL2008DEVCELL01
posted on Tuesday, November 04, 2008 4:07:56 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Friday, June 08, 2007

Venexus, Inc., a leading Business Service Provider, has released Venexus Search Engine 2.0, a new version of its full-blown search engine for web sites and portals that use the DotNetNuke Web Application Framework.

The latest release of Venexus Search also utilizes the new version of the EntitySpaces architecture, EntitySpaces 2007. EntitySpaces 2007 supports .Net Medium Trust operation. This opens the door for many users who may be using shared hosting and are currently limited by their hosting providers to medium trust environments. "EntitySpaces has allowed us to quickly absorb data schema changes and guarantees that our clients receive the quality software they demand through rigorous unit testing of both the EntitySpaces assemblies and generated code," said Scott Schecter, CTO of Venexus. "This flexibility has made EntitySpaces an invaluable tool in our development process, and is central to our agile methodologies."

Read the entire PR Newswire - Press Release ...

About Venexus, Inc.
Venexus, Inc. is a Business Service Provider (BSP) that develops and integrates business processes. Venexus provides a rare synthesis of "best of breed" technology, value-added offerings and highly desirable pricing to small and medium sized businesses throughout the United States. Venexus is a leading provider of DotNetNuke solutions and support. Venexus provides full lifecycle support of DotNetNuke with core competencies that include the planning, development, and implementation of DotNetNuke portals, skins, and modules.

For more information, please visit http://www.venexus.com

posted on Friday, June 08, 2007 11:21:56 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Saturday, November 25, 2006

Venexus Inc., decided to build a full blown search engine for DotNetNuke. Not one that would just index a single DNN site, but one that would allow you to index all portals in a DNN installation AND information from external sites. And how would external site indexing best be handled? via RSS feed aggregation of course. Seamus is the first of the two modules that make up the Venexus Search Engine. SEAMUS = Search Engine Aggregation Module Utilizing Syndication.

A Quote from the Venexus blog posting written by Venexus CEO Jeff Smith

" We started with traditional DotNetNuke module development…until EntitySpaces was released. I’m an old ASP/VB developer and personally, it took me a bit to get my head wrapped around how ES worked, but once I figured it out, I was hooked. ES saves the day by automagically generating all the CRUD (create, read, update, delete). While very similar to the logic of a BusinessController and InfoObject, ES uses Collections and Entities. But, where I found ES the most useful is the Dynamic Queries you can write directly into the business logic.

Sure, I have used DAL Builder Pro, which was a huge time saver, but EntitySpaces made me to never want to develop any other way. Plus, last I checked, DAL Builder Pro was still only for DNN 3 development. The ease of generating the DAL and the ability to easily Regenerate the DAL if the database schema changes, makes ES the tool of choice for all of our module development. I cannot even begin to count the hours I have previously spent hand coding changes in a DAL due to spec changes. Oh how I wish I had all those hours back!

With the new DNN admin grid templates, it is just ridiculous how much code is generated before having to write the first line. The new template will generate an editable grid of the table(s), with sorting, paging, and search. If you are interested in .Net development (this is not just a DNN tool, it works for all .Net 2.0 development and using C# or VB.Net), you must check it out. "

read more on the Venexus blog ...

Venexus Inc., is a leading Business Service Provider, creates customized, easy to use DotNetNuke modules for corporate portals.

posted on Saturday, November 25, 2006 11:48:11 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Sunday, November 19, 2006

The EntitySpaces 1.5.2 Bets is now available for download. Below are the enhancements and fixes added to this release:

  • Full support for VistaDb 3.0
  • Compact Framework Providers for both Microsoft SQL Server and VistaDb
  • Full compliance with the DotNetNuke {objectQualifier} when using dynamic sql or stored procedures.
  • EntitySpaces can now be run without a config file. This is intended to help facilitate modular software development, and removes the situation where your end users are required to enter config entries. Below is an example of how to set your default connection programmatically


// Manually register a connection
esConnectionElement conn = new esConnectionElement();
conn.ConnectionString = "User ID=sa;Password=;Initial Catalog=Northwind;Data Source=localhost";
conn.Name = "GroovySQL";
conn.Provider = "EntitySpaces.SqlClientProvider";
conn.ProviderClass = "DataProvider";
conn.SqlAccessType = esSqlAccessType.DynamicSQL;
conn.ProviderMetadataKey = "esDefault";conn.DatabaseVersion = "2005";

// Assign the Default Connection
esConfigSettings.ConnectionInfo.Connections.Add(conn);
esConfigSettings.ConnectionInfo.Default = "GroovySQL";

// Use the code as usual
Employees e = new Employees();
if (e.LoadByPrimaryKey(1))
{
    e.Save();
}

int? i = e.EmployeeID;

  • Added [XmlIgnore] to hierarchical objects to prevent endless loops with self referencing relationships. This will be further refined again in our 1.6.0 release.
  • Added Lock/SyncLock in two places to protect static data

This is a full beta and all providers are included.

  1. This beta requires the new MyGeneration beta available on the MyGeneration homepage.
  2. The EntitySpaces beta can be found in the trial forum HERE
posted on Sunday, November 19, 2006 9:20:55 AM (Eastern Standard Time, UTC-05:00)  #    Comments [3]
 Thursday, November 09, 2006

So, you must be thinking "What's this EntitySpaces 1.5.2 release? we thought 1.6.0 was next?". The truth is we weren't originally planning to do a 1.5.2 release but it became apparent that this release needs to happen for several reasons. One of the main driving factors for this release is VistaDB 3.0, we plan to fully support VistaDB 3.0 before its official release. It is our hope that upon the next release of the VistaDB CTP there will be no issues preventing us from releasing the EntitySpaces DataProvider for VistaDB, indeed all of the coding is done for it already. We know the VistaDB team is working hard on their next CTP. 

Also, VistaDB runs under the Compact Framework and tonight we successfully compiled EntitySpaces under the Compact Framework as well. This means any device VistaDB runs on EntitySpaces will also. EntitySpaces should also now run under Mono but we have not tested that yet. About the only real problem encountered in getting EntitySpaces to compile under the Compact Framework was our custom configuration section logic and binary serialization. We will still maintain only one codebase and use #IFDEF's in our code to compile for the Compact Framework and without. We are focusing now upon getting EntitySpaces working clean on the Compact Framework. Part of this involves allowing EntitySpaces to run in configless mode which we will offer for both the Compact Framework and our main build. This will help those who might be developing for hosting environments and who need to have a hundred or so connections.

Also, futher support for DotNetNuke including the DNN Object Qualifier and the ability to pull the the connection string directly from the DNN config file are in the works. Of course, there will be a few fixes to address some issues that have been reported as well.

It is our thinking that the 1.5.2 release will be ship near the end of November or early December. Our 1.6.0 release is still all about ASP.NET DataBinding on steroids including hierarchical databinding. The EntitySpaces 1.6.0 roadmap should be published by the end of November and our thinking is that the 1.6.0 release will ship in early 2007. 

- The EntitySpaces Team

 

posted on Thursday, November 09, 2006 9:35:30 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Sunday, November 05, 2006

This is the question that was posed on the DNN forums yesterday.

Is it just me or are data providers done wrong?

Hey all - I'm trying to understand the basic architecture of DNN and am wondering if I am off base with how I understand the data provider model to work.  From what I can tell EACH module has a specific data provider implementation in addition to the abstract dataprovider class.  Unless I'm missing something this seems really messed up - For instance I would LOVE it if DNN ran on MySql but it doesn't - so if someone wants to run a DNN site on MySQL, they would have to add MySql data providers in all modules?   If this is the case, this just seems horribly wrong - it would be MUCH better if we had the data providers centralized and then all modules would point to a generic common abstract class - so one could add/change data providers on the entire system without having to modify or add code to existing modules.  The way it stands right now, it seems like it'll take a hell of a lot of effort to get another provider simply because one would have to touch all the core modules.  Am I missing something?

Bob


Yes Bob, you're missing EntitySpaces. Well, I (Mike speaking here) wrote up a very nice and informative post letting Bob know that what he was describing was in fact EntitySpaces. It was a pretty involved post expanding on what Scott said and correcting a misconception on a subsequent post by another poster . Bob is obviously a very bright guy and asked the very question that all DNN developers should be asking. I went on to explain how our massive NUnit test suite executes against Microsoft SQL, Oracle, MySql, Microsoft Access and now VistaDB (not yet released but working). We use the same exact binary in this test suite against all of our supported databases. Imagine one code base with your modules running on all database systems. I also stated that it's too bad DNN itself doesn't run on EntitySpaces because its reach would be far wider and "would be DNN module developers" would have a very simple programming model instead of the rather clunky DNN DAL. Also, they would have at their fingertips Transactions, LINQ Support, serialization and far more customers to reach out too to make their ventures more profitable.

The above isn't my exact statement, I didn't call the DNN DAL clunky in the post and it was at least 4 times as long as the text above explaining that EntitySpaces was exactly what Bob was in fact wanting in an architecture. My post was rejected with no explanation and without even a notification, this is their right of course. But that doesn't mean I have to let this go unnoticed. We are DNN fans and we won't be silenced. It makes me wonder if any of the younger new .NET portals are paying attention here.

[UPDATE - Nov 6, 11:00 EST]
Well, a day and half after my original post and after this blog post had gotten around the horn my original post on that thread somehow appeared, and for that I say thankyou to the DNN folks. Nonetheless, this post remains. However, We extend an open invitation to the DNN core team members and founder to speak with us about blowing the doors wide open for the DotNetNuke community, we believe it is within our power to help DotNetNuke do just that.

posted on Sunday, November 05, 2006 9:45:40 PM (Eastern Standard Time, UTC-05:00)  #    Comments [6]
 Wednesday, October 04, 2006

FOR IMMEDIATE RELEASE

Contact:sales@entityspaces.net

EntitySpaces 1.5 has been released with support for Hierarchical Data Models and LINQ.

The EntitySpaces architecture for .NET is a persistence layer and business object system for the Microsoft .NET 2.0 Framework.  EntitySpaces is database independent. The data providers are loosely coupled and allow you to use the same compiled code to access Microsoft SQL Server, Microsoft Access, Oracle, and MySQL, with VistaDB in the pipeline. EntitySpaces' business objects are generated from your database's metadata using MyGeneration, the highly downloaded, free code generator and OR Mapping tool.

EntitySpaces has in its ancestry the popular dOOdads architecture, and the same lead architect. Features include serialization, dynamic queries, saving via stored procedures or dynamic SQL, transactions, and more. The templates included will generate business classes, ASP.NET Admin Grids, and DotNetNuke Admin Grids. Source code is available. EntitySpaces targets both ASP.NET and Windows.Forms projects. DotNetNuke module developers will find it to be an attractive alternative to the DotNetNuke DAL.

EntitySpaces, LLC founding members include Mike Griffin, President and originating architect, Scott Schecter, and David Parsons. The team has a diverse background in technology solutions spanning more than 20 years. EntitySpaces is dedicated to providing affordable, easy-to-use, feature-rich developer tools with stellar support. Details, documentation, and a free, 45-day Trial Version may be found at:

http://www.entityspaces.net

# # #

posted on Wednesday, October 04, 2006 12:56:07 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Friday, August 04, 2006

We have released the first beta version of our EntitySpaces DotNetNuke ASCX Admin Grid Template Suite. Check out the demo here.

Here is an overview of the features:

  • All of the databases supported by EntitySpaces should work with these templates
  • The ASCX controls generated build upon your already created EntitySpaces Classes
  • Both C# and VB.NET ASCX controls can be generated*
  • The look and feel of the ASCX controls are managed by a very simple style sheet
  • The generated ASCX controls use the new ASP.NET MultiView/View controls
  • Browse, Detail, Edit, and Search modes can be generated automatically
  • You control what columns to display and in what order
  • All column headers are clickable and sort the GridView(s)
  • Required fields use the ASP.NET RequiredFieldValidator control
  • Foreign Keys are mapped to Url's in detail mode and combo-boxes in edit mode
  • Relationships can be mapped to subgrids in detail mode

*During the beta period there will only be a C# version. After user testing, if no issues arrise we will create the VB version. Both Versions will be available to all customers.

Files

The template is installed into the EntitySpaces\C#\Web and EntitySpaces\VB\Web folders respectively in MyGeneration. GridLoader.zip the DotNetNuke module that loads the generated ASCX controls is installed in Program Files\EntitySpaces\DotNetNuke\C# and Program Files\EntitySpaces\DotNetNuke\VB respectively.

Usage

  1. Add the needed EntitySpaces assemblies, and web.config entries to your DotNetNuke portal. For detailed instructions on how to do this see here.
  2. Install the GridLoader.zip DotNetNuke module like you would any other. Because we are using the new dynamic compilation model of ASP.NET 2.0 you must also add the directoryName key to the codeSubDirectorySection of your web.config as seen below(this is only necessary if you are using the C# version). You will see a commented out example in the appropriate location of your web.config if you have never done this before.

    <codeSubDirectories>
         <add DirectoryName="GridLoader" />
    </codeSubDirectories>

  3. Generate your EntitySpaces classes for your tables/views just like normal and upload them to /App_Code/GridLoader/Custom and /App_Code/GridLoader/Generated
  4. Generate your ASCX controls and upload them to /DesktopModules/GridLoader/
  5. Think about how easy EntitySpaces makes your life and have a beer.

You will find a new installer for this template suite on the downloads page under the products menu entry. This template suite will not be lincluded in the trial version of EntitySpaces. These templates are intended to provide the ability to administer databases over the web from within your DotNetNuke portal. This chore is typically overlooked although it is really very needed. Such admin screens can eat up quite a bit of development time and they are much easier to generate, and change when your database schema does. The demo module on our site is 100% generated no hand coding was done.

These templates are not currently supported on the same level as the templates that generate the EntitySpaces classes. Work on the new features in the upcoming 1.5 release will take priority. That being said we will of course address an issues that might arise as time allows.

See the PDF file that describes the usage of ASPX version of the template. All functionality and operations are exactly the same for the DotNetNuke ASCX version, with the exception of the "Use Master Pages"option.

posted on Friday, August 04, 2006 12:43:23 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Thursday, August 03, 2006

Vasilis of Think of Design and Scott rolled out the new EntitySpaces site design, and branding over the weekend, and we must say that we are very pleased with the results. The Think of Design team carefully listened to the design features we wanted and made useful suggestions to help us achieve the best online experience possible for our users. We would also add their prices are very reasonable, if you are looking for a one of DNN design we can without a doubt recommend their services. However the thing that impressed us the most was the after delivery service of Vasilis. After delivering the skin, logo, source files, etc he wanted to be involved with the application of the new design to the site, and made adjustments to get it just right for us. Let us know what you think of the new design, and a very special thank you to the Think of Design Team from all of us at EntitySpaces, you all rock;)

posted on Thursday, August 03, 2006 9:11:12 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Thursday, June 15, 2006

We have had some issues come up that we thought should not wait until 1.5 is released. This maintenance release should hold you over until then. The DataGridView binding issues were the toughest nut to crack. And, unfortunately, those changes will require you to regenerate the Generated Master for your classes.

NOTE: You must regenerate your generated classes with the Master Template

EntitySpaces - Release Notes for 1.4.1 

  • Added “Use Schema” checkbox to SQL Server Stored Procedures template. Default is un-checked (dbo).
  • Changed MySQL Stored Procedure template delimiters from $$ to //.
  • Changed the esEntityCollection.Item Property so that it is no longer obsolete.
  • Fixed SqlClientProvider so that AnsiString output parameters now have the correct size property for computed columns.
  • Fixed bug in QueryBuilder for all 4 providers. If a Like() expression was used in the Where() clause before an Equal(bool) expression, then the parameter type for the boolean was set to a string.
  • Added two protected Methods to esEntityCollection:
    • AssignPrimaryKeys - Assigns the underlying DataTable's 'PrimaryKey' data member using the primary keys as defined in the collection's associated esColumnMetadataCollection.
    • RemovePrimaryKeys - Removes the DataTable's 'PrimaryKey' information by setting it to null. Call this to undo AssignPrimaryKeys().
  • Added three Properties to esEntityCollection:
    • AllowEdit - Default is true. Setting this to false prevents the user from editing a row in a DataGridView.
    • AllowNew - Default is true. Setting this to false prevents the user from adding new rows in a DataGridView.
    • AllowDelete - Default is true. Setting this to false prevents the user from deleting rows in a DataGridView.
  • Fixed esEntityCollection IBindinglList AddNew, ApplySort, and esEntity BeginEdit, CancelEdit, EndEdit, AddNew. This fixes the editing or clicking around in a DataGridView bug.
  • Fixed an issue where Extended Properties were not being included in the collection if MultiProviderMode was set to true.
  • Fixed DeleteAll() so that it honors the Filter(). Only records matching the Filter criteria will be deleted.
  • Fixed a problem that ocurred if your PrimaryKey column was not the first column in the table metadata.
  • Added a specific Exception for when you call Save on an entity that is part of a collection. You must call Save on the collection.


EntitySpaces Trial Version: 

  • The SqlDemo has been replaced by a new and improved EntitySpacesDemo. A zipped version with the runtime references removed is available on the Documentation|Downloads page.


Documentation: 

  • Added entries in compiled help for the new methods and properties.


Note: See the Release Notes for 1.4.1 for detailed installation and upgrade insructions.

posted on Thursday, June 15, 2006 12:03:31 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Tuesday, May 23, 2006

We just posted a video here to illustrate how simple it is to use EntitySpaces for module development on the DotNetNuke 4.x platform. This gets you up to where our standard code generation video starts with generating your EntitySpaces objects. We do plan to post an additional code generation video specifically for DotNetNuke in the near future, so stay tuned.

posted on Tuesday, May 23, 2006 7:06:40 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Saturday, May 13, 2006

 

EntitySpaces 1.4 initially was targeted for May 31st, however, we had to make some adjustments. Hierarchical support is now the main focus of our next release (1.5). Also, the ASPX templates are still underway and will be released separately before the 1.5 release. We had also planned on doing some databinding work as well but that has been pushed to 1.5 as well. However, all that said this is a terrific release, we have some very good features, a few fixes, and even a new MySQL provider in 1.4. See the release notes below for the details.         


·          EntitySpaces 1.4

o         Added templates to provide full VB.NET support

§          Includes a full set of Custom, Generated, and MetadataMap templates.

§          It is no longer necessary to pre-compile the generated code under C#.

§          Note: If you are using VBExpress, we recommend opening your Project Properties, selecting the Application properties tab, and clearing the Root namespace that the IDE set by default. That way, when you add “Imports BusinessObjects” to your code, it will work as expected.

o         Added an EntitySpaces provider for MySQL.

§          Works with MySQL 4.x using DynamicSql mode.

§          Works with MySQL 5.x and supports both DynamicSql and StoredProcedure modes, as well as Views.

o         Added an EntitySpaces Template to produce MySQL 5.x stored procedures.

o         Fixed stored procedure parameter name prefix handling for SQL Server, Oracle and Access.

o         Fixed parameter name handling for column names with spaces.

o         Added output parameter support to esParameters.         

public string GetFullName(int employeeID)
{
   
esParameters parms = new esParameters();

   
parms.Add("EmployeeID", employeeID);
   
parms.Add("FullName", esParameterDirection.Output, DbType.String, 40);

   this.ExecuteNonExec(esQueryType.StoredProcedure, "proc_GetEmployeeFullName", parms);

   return parms["FullName"].Value as string;
}

o         Fixed an obscure bug in Transaction Manager. (Special thanx to Graham Scragg and Thomas Coats for working with us on this.)

o         Improved Exception handling. We no longer wrap the exceptions which will make it much easier for you to see the real exception.

o         Updated and improved compiled help.

 

 

·          DotNetNuke

o         Includes an EntitySpaces ControlPanel module for DotNetNuke.

§          Displays EntitySpaces assembly information.

§          Allows you to upload/update EntitySpaces assemblies.

§          Allows you to encrypt/decrypt connection information in config files.

o         Added new template to create Sql scripts for DotNetNuke module development.


 

·          ASP.NET

o         Includes ASP.NET code for an EntitySpaces ControlPanel.

§          Displays EntitySpaces assembly information.

§          Allows you to update EntitySpaces assemblies.

§          Allows you to encrypt/decrypt connection information in config files.


 

·          EntitySpaces SqlDemo

o         Includes code demonstrating encrypting/decrypting app.config connection information.

o         Note: If SqlDemo is run from within Visual Studio, SqlDemo.vshost.exe.config gets encrypted. This file is only used by Visual Studio and should never be distributed with your application. To encrypt SqlDemo.exe.config, run SqlDemo.exe directly from the bin\Debug folder.


 

·          EntitySpaces Test Suite

o         Updated the test fixtures and added NUnit projects to test the EntitySpaces provider for MySQL.

o         Duplicated the C# tests in VB.

Note: Installation instructions at the bottom of the Release Notes for 1.4 contain special instructions for MySQL users. They explain how add the required Language Mapping to MyGeneration.


posted on Saturday, May 13, 2006 11:49:34 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Thursday, May 11, 2006

Wow, so many good things to talk about for the upcoming EntitySpaces 1.4 drop. Another addition, is a complete template to generate DotNetNuke ready install scripts for any of your EntitySpaces business objects. It works just like any of our other stored procedure templates, and will allow you to generate a DNN ready script for all of your tables/stored procedures in one fell swoop. We previously mentioned that we will also be releasing native vb.net templates for ES with 1.4, so what are you waiting for DotNetNuke module developers? Quit wasting your time writing buggy, un-tested object persistence code and do it the easy way. ES 1.4 is scheduled to hit on Monday 05/15, get ready.

posted on Thursday, May 11, 2006 9:31:07 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
In order to facilitate further simplification of the setup/upgrading of EntitySpaces in your DotNetNuke portal or plain ol' ASP.NET application we are please to announce that we will also release the EntitySpaces Control Panel.


This module/page will show you what EntitySpaces assemblies you have available and the versions of those assemblies. It will also allow you to upload assemblies when you are ready to update EntitySpaces. Lastly, and perhaps the coolest feature, is that this module will actually encrypt/decrypt the EntitySpaces connection info section of your web.config for you. We are just putting the finishing touches on the 1.4 drop and starting to package everything up for distribution, so you can expect to see this soon. We will have a DotNetNuke installable version, as well as an aspx page you can use in your ASP.NET projects. Winformers? Don't think we forgot to spread the love around, in the SqlDemo we have also added the encryption routines so that you can add this to your winform applications if you should so desire.


posted on Thursday, May 11, 2006 9:29:56 AM (Eastern Standard Time, UTC-05:00)  #    Comments [2]