Data Objects: Building Structure

Posted by david on 05 May 2014 at 2:15 pm
I've been working on Data Objects quite a bit lately, mostly planning, but some code as well.  The idea I have of DO has changed over the years, it started out super complex, then I slimmed it down to a simple library - used to implement my forms - and now, it's going back somewhere in the middle of the two.  I'm beginning to remember why I pulled back and decided to go toward a plugin system first: Data Objects, in it's original idea, is a beast.  It's a gentle beast, but a beast nonetheless. 

I've decided to skip the kid stuff and make it what it was originally intended.  What I've come up with is similar to my original notes, but with a little experience mixed in.  I'm still experimenting, so I don't want to go into to too many details just yet.  The goal has always been to use DO to simplify application development and it's looking like I'm on the right path for that.  I will try to put up a flow chart of how I envision DO to work within applications and display how they should simplify development.  

On a final (if lengthy) note, I want to make something extremely clear.  While inspiration for Data Objects came from Xaraya and perhaps even Drupal's nodes in some ways, Data Objects in Clay have never been intended to replicate DynamicData or Nodes.  Nodes (Drupal) provide an interface to hook in content and provide user input, in it's simplest form, while DynamicData (Xaraya) was intended to extend application (modules in Xaraya) functionality.  I think the problem with both of those is they accidentally discourage application development.  Xaraya was by far the biggest victim of that, as the Articles module (and later the xarPages module) could easily be turned into anything by hooking in DynamicData and editing a few templates.  It was great for the user, but not so good for project growth.  The hope of Data Objects is to provide structure for applications and a means for applications to extend one another.  If all goes well, Clay wont need Plugins or Hooks, you'll simply be able to attach a Comments object to your Blog application object and you'll have comments on your blog posts.  The end all goal for Data Objects is to be able to design an application from the UI, save it, then export it or install it, or both, and use that application to extend the abilities of another.  There will always need to be some development involved, unless everything is just generic, but the end all goal is to encourage application development and make it as easy as possible. 


Log in to comment

No comments yet!