justnbusiness

Monday, November 13, 2006

Getting ready for a Beta 1

I'm in the process of tidying up some things in preperation for a beta 1 build. I finally have the compiler and templates producing a dll that builds and "works". I'm sure there are bugs and issues still but for the most part it creates all of the data access and relationships and access / authorization / validation rules properly. I'm working on the Example website right now to try and get that a bit cleaner. I'm writing up an install page that will add the schema and default test data to a database.

I'm trying to decide whether or not to add the "action" syntax into the language before this next release. I've also been discussing things a little with others and I'm thinking about modifying the syntax to group validation/access rules in with fields. For example:

Currently the syntax looks like this:

family Test
{
entity Blah
{
field string value;

access deny * set value;
validate value maxlength 64;
validate value regex "\d{3}-\d{5}";
}
}

But I'm thinking about grouping the rules into something a bit more logical so it might look more like this:

family Test
{
entity Blah
{
field string value[9] = "\d{3}-\d{5}"
{
access deny * set;
}
}
}

I've also been thinking about more logical ways to specify what types of Entities you might want, such as readonly, info, etc. I'm thinking beyond just declaring an "Entity" you could declare a readonly entity or an info entity or something else perhaps. Also it might be good to be able to declare an "expression" which could be a reusable regular expression rule that you could use for validation rules on multiple entities. Also for custom rules I'm thinking some syntax such as this:

validate value Blah.Test.MyCustomRule in Blah.Test.dll

Which might require some way to add assembly references then call into the custom .dll to run the specified rule and you could put optional arguments into a dictionary and pass that in perhaps, or something like that.

So the big thing right now is trying to balance adding these features with getting a release out the door. I don't really have any other developers contributing here so getting anything done is not real fast but I would like to produce something not only useable but something that is actually beneficial! So the question is whcih features do I add in? Right now I'm shooting for only what I have done so far plus (perhaps) the action syntax. Then evaluate which features to add in for subsequent versions.

If anyone has any ideas or questions (or anything!) about entity languages and would like to discuss this please feel free to join the google group and start up a discussion or add an entry to the codeplex forum. I'm really ready for some feedback / critiques and some thought provoking discussion to help me get some of these ideas straight. Also if you think you could use something like this for an application of your own let me know because I'm looking for some contributors for sure.

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home